aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos/cpufreq.c
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.com>2012-09-22 09:48:20 +0200
committercodeworkx <codeworkx@cyanogenmod.com>2012-09-22 14:02:16 +0200
commit2489007e7d740ccbc3e0a202914e243ad5178787 (patch)
treeb8e6380ea7b1da63474ad68a5dba997e01146043 /arch/arm/mach-exynos/cpufreq.c
parent5f67568eb31e3a813c7c52461dcf66ade15fc2e7 (diff)
downloadkernel_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.c8
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++) {