Re: [PATCH V4 07/14] cpufreq: mediatek: Add .get function

From: Viresh Kumar
Date: Mon Apr 25 2022 - 01:36:02 EST


On 22-04-22, 15:52, Rex-BC Chen wrote:
> From: Jia-Wei Chang <jia-wei.chang@xxxxxxxxxxxx>
>
> We want to get opp frequency via opp table. Therefore, we add the function
> "mtk_cpufreq_get()" to do this.
>
> Signed-off-by: Jia-Wei Chang <jia-wei.chang@xxxxxxxxxxxx>
> Signed-off-by: Rex-BC Chen <rex-bc.chen@xxxxxxxxxxxx>
> ---
> drivers/cpufreq/mediatek-cpufreq.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cpufreq/mediatek-cpufreq.c b/drivers/cpufreq/mediatek-cpufreq.c
> index e070a2619bcb..0b2ca0c8eddc 100644
> --- a/drivers/cpufreq/mediatek-cpufreq.c
> +++ b/drivers/cpufreq/mediatek-cpufreq.c
> @@ -71,6 +71,15 @@ static struct mtk_cpu_dvfs_info *mtk_cpu_dvfs_info_lookup(int cpu)
> return NULL;
> }
>
> +static unsigned int mtk_cpufreq_get(unsigned int cpu)
> +{
> + struct mtk_cpu_dvfs_info *info;
> +
> + info = mtk_cpu_dvfs_info_lookup(cpu);
> +
> + return !info ? 0 : (info->opp_freq / 1000);
> +}
> +
> static int mtk_cpufreq_voltage_tracking(struct mtk_cpu_dvfs_info *info,
> int new_vproc)
> {
> @@ -588,7 +597,7 @@ static struct cpufreq_driver mtk_cpufreq_driver = {
> CPUFREQ_IS_COOLING_DEV,
> .verify = cpufreq_generic_frequency_table_verify,
> .target_index = mtk_cpufreq_set_target,
> - .get = cpufreq_generic_get,
> + .get = mtk_cpufreq_get,

The .get callback should read the real frequency from hardware instead of
fetching a cached freq value.

> .init = mtk_cpufreq_init,
> .exit = mtk_cpufreq_exit,
> .register_em = cpufreq_register_em_with_opp,
> --
> 2.18.0

--
viresh