diff options
author | codeworkx <codeworkx@cyanogenmod.com> | 2012-09-22 09:48:20 +0200 |
---|---|---|
committer | codeworkx <codeworkx@cyanogenmod.com> | 2012-09-22 14:02:16 +0200 |
commit | 2489007e7d740ccbc3e0a202914e243ad5178787 (patch) | |
tree | b8e6380ea7b1da63474ad68a5dba997e01146043 /arch/arm/mach-exynos/cpufreq.c | |
parent | 5f67568eb31e3a813c7c52461dcf66ade15fc2e7 (diff) | |
download | kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.zip kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.tar.gz kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.tar.bz2 |
merge opensource jb u5
Change-Id: I1aaec157aa196f3448eff8636134fce89a814cf2
Diffstat (limited to 'arch/arm/mach-exynos/cpufreq.c')
-rw-r--r-- | arch/arm/mach-exynos/cpufreq.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/cpufreq.c b/arch/arm/mach-exynos/cpufreq.c index e78dad9..cdfec03 100644 --- a/arch/arm/mach-exynos/cpufreq.c +++ b/arch/arm/mach-exynos/cpufreq.c @@ -32,6 +32,11 @@ #include <plat/pm.h> #include <plat/cpu.h> +#if defined(CONFIG_MACH_PX) || defined(CONFIG_MACH_Q1_BD) ||\ + defined(CONFIG_MACH_P4NOTE) || defined(CONFIG_MACH_GC1) +#include <mach/sec_debug.h> +#endif + struct exynos_dvfs_info *exynos_info; static struct regulator *arm_regulator; @@ -316,6 +321,7 @@ int exynos_cpufreq_lock(unsigned int nId, mutex_lock(&set_freq_lock); freq_old = policy->cur; freq_new = freq_table[cpufreq_level].frequency; + if (freq_old < freq_new) { /* Find out current level index */ for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) { @@ -348,6 +354,7 @@ int exynos_cpufreq_lock(unsigned int nId, cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); } + mutex_unlock(&set_freq_lock); return ret; @@ -470,6 +477,7 @@ int exynos_cpufreq_upper_limit(unsigned int nId, /* If cur frequency is higher than limit freq, it needs to update */ freq_old = policy->cur; freq_new = freq_table[cpufreq_level].frequency; + if (freq_old > freq_new) { /* Find out current level index */ for (i = 0; i <= exynos_info->min_support_idx; i++) { |