From 6dc89d303460d98b70b24f3a9c11896d417ffee4 Mon Sep 17 00:00:00 2001 From: "hong.guo" Date: Sun, 11 Feb 2018 12:39:55 +0800 Subject: [PATCH] CPUFREQ: fix cpufreq at low 1.2G. PD#156734: cpufreq: fix cpufreq at low 1.2G. Change-Id: I87e0c430af7807883bbda7c1e00d1165a1bb2d19 Signed-off-by: hong.guo --- drivers/cpufreq/meson-cpufreq.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/cpufreq/meson-cpufreq.c b/drivers/cpufreq/meson-cpufreq.c index 733683cc5780..c1304e08a917 100644 --- a/drivers/cpufreq/meson-cpufreq.c +++ b/drivers/cpufreq/meson-cpufreq.c @@ -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);