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>
This commit is contained in:
parent
184cddd1e0
commit
857d90f701
drivers/cpufreq
|
@ -87,6 +87,9 @@ static int exynos_target(struct cpufreq_policy *policy,
|
||||||
freqs.new = freq_table[index].frequency;
|
freqs.new = freq_table[index].frequency;
|
||||||
freqs.cpu = policy->cpu;
|
freqs.cpu = policy->cpu;
|
||||||
|
|
||||||
|
if (freqs.new == freqs.old)
|
||||||
|
goto out;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ARM clock source will be changed APLL to MPLL temporary
|
* ARM clock source will be changed APLL to MPLL temporary
|
||||||
* To support this level, need to control regulator for
|
* To support this level, need to control regulator for
|
||||||
|
@ -113,8 +116,8 @@ static int exynos_target(struct cpufreq_policy *policy,
|
||||||
if (safe_arm_volt)
|
if (safe_arm_volt)
|
||||||
regulator_set_voltage(arm_regulator, safe_arm_volt,
|
regulator_set_voltage(arm_regulator, safe_arm_volt,
|
||||||
safe_arm_volt);
|
safe_arm_volt);
|
||||||
if (freqs.new != freqs.old)
|
|
||||||
exynos_info->set_freq(old_index, index);
|
exynos_info->set_freq(old_index, index);
|
||||||
|
|
||||||
for_each_cpu(freqs.cpu, policy->cpus)
|
for_each_cpu(freqs.cpu, policy->cpus)
|
||||||
cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
|
cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
|
||||||
|
|
Loading…
Reference in New Issue