CPUFREQ: fix cpufreq at low 1.2G.
authorhong.guo <hong.guo@amlogic.com>
Sun, 11 Feb 2018 04:39:55 +0000 (12:39 +0800)
committerYixun Lan <yixun.lan@amlogic.com>
Mon, 5 Mar 2018 07:34:32 +0000 (15:34 +0800)
PD#156734: cpufreq: fix cpufreq at low 1.2G.

Change-Id: I87e0c430af7807883bbda7c1e00d1165a1bb2d19
Signed-off-by: hong.guo <hong.guo@amlogic.com>
drivers/cpufreq/meson-cpufreq.c

index 733683c..c1304e0 100644 (file)
@@ -827,7 +827,15 @@ static int meson_bL_cpufreq_init(struct cpufreq_policy *policy)
        else
                policy->cur = clk_get_rate(clk[cur_cluster]) / 1000;
 
-       freq_hz =  policy->cur*1000;
+       /*
+        * if uboot default cpufreq larger than freq_table's max,
+        * it will set freq_table's max.
+        */
+       if (policy->cur > policy->suspend_freq)
+               freq_hz = policy->suspend_freq*1000;
+       else
+               freq_hz =  policy->cur*1000;
+
        opp = dev_pm_opp_find_freq_ceil(cpu_dev, &freq_hz);
        volt_new = dev_pm_opp_get_voltage(opp);
        volt_old = regulator_get_voltage(cpu_reg);