diff options
author | Jonghwan Choi <jhbird.choi@samsung.com> | 2012-12-23 18:57:39 -0500 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-12-23 18:57:39 -0500 |
commit | 857d90f7014f4fe0acc49947ad5309174111a4e8 (patch) | |
tree | f0840e14e18ae866c30f56f2cf852bc47341d677 /drivers/cpufreq/exynos-cpufreq.c | |
parent | 184cddd1e004d3ebd473f9e1ce20dec1d2576fd1 (diff) |
cpufreq: exynos: Check old & new frequency early
If old & new freq have the same frequency, no need to call
cpufreq notifier & regulator function.
Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'drivers/cpufreq/exynos-cpufreq.c')
-rw-r--r-- | drivers/cpufreq/exynos-cpufreq.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/cpufreq/exynos-cpufreq.c b/drivers/cpufreq/exynos-cpufreq.c index 0e415e5fb53b..0d40eb7b1dee 100644 --- a/drivers/cpufreq/exynos-cpufreq.c +++ b/drivers/cpufreq/exynos-cpufreq.c | |||
@@ -87,6 +87,9 @@ static int exynos_target(struct cpufreq_policy *policy, | |||
87 | freqs.new = freq_table[index].frequency; | 87 | freqs.new = freq_table[index].frequency; |
88 | freqs.cpu = policy->cpu; | 88 | freqs.cpu = policy->cpu; |
89 | 89 | ||
90 | if (freqs.new == freqs.old) | ||
91 | goto out; | ||
92 | |||
90 | /* | 93 | /* |
91 | * ARM clock source will be changed APLL to MPLL temporary | 94 | * ARM clock source will be changed APLL to MPLL temporary |
92 | * To support this level, need to control regulator for | 95 | * To support this level, need to control regulator for |
@@ -113,8 +116,8 @@ static int exynos_target(struct cpufreq_policy *policy, | |||
113 | if (safe_arm_volt) | 116 | if (safe_arm_volt) |
114 | regulator_set_voltage(arm_regulator, safe_arm_volt, | 117 | regulator_set_voltage(arm_regulator, safe_arm_volt, |
115 | safe_arm_volt); | 118 | safe_arm_volt); |
116 | if (freqs.new != freqs.old) | 119 | |
117 | exynos_info->set_freq(old_index, index); | 120 | exynos_info->set_freq(old_index, index); |
118 | 121 | ||
119 | for_each_cpu(freqs.cpu, policy->cpus) | 122 | for_each_cpu(freqs.cpu, policy->cpus) |
120 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); | 123 | cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); |