From 5176ebdee775e08c332a4a809cd5f791cfc8fe77 Mon Sep 17 00:00:00 2001 From: Jian Hu Date: Thu, 2 Jun 2022 16:14:35 +0800 Subject: [PATCH] dvfs: fix clock warning when first scaling from high rate to low [1/1] PD#SWPL-83545 Problem: there is warning when cpufreq scaling from 1200M to 512M Solution: sync sys pll enable count Verify: a1 Change-Id: Ie974e7d10abdb60fec15ab776fa522c143477b61 Signed-off-by: Jian Hu --- drivers/cpufreq/meson-cpufreq.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/cpufreq/meson-cpufreq.c b/drivers/cpufreq/meson-cpufreq.c index 1555befe5..56dd625d1 100644 --- a/drivers/cpufreq/meson-cpufreq.c +++ b/drivers/cpufreq/meson-cpufreq.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include "internal.h" #include "opp.h" @@ -826,6 +827,14 @@ static int meson_cpufreq_init(struct cpufreq_policy *policy) pr_debug("%s: ignor dsu pre parent2 clk!\n", __func__); } + /* + * Make pair with clk_disable_unprepare(high_freq_clk_p) + * when cpu cpufreq first scaling from high rate to low rate + */ + if (!strcmp(__clk_get_name(clk_get_parent(clk[cur_cluster])), + __clk_get_name(high_freq_clk_p)) && __clk_is_enabled(high_freq_clk_p)) + clk_prepare_enable(high_freq_clk_p); + cpufreq_voltage_set_skip = of_property_read_bool(np, "cpufreq_voltage_set_skip"); reg_use_buck[cur_cluster] = of_property_read_bool(np,