Re: [PATCH] cpufreq: tegra186: Fix get frequency callback
From: Viresh Kumar
Date: Wed Nov 04 2020 - 04:34:01 EST
On 03-11-20, 11:55, Jon Hunter wrote:
> Commit b89c01c96051 ("cpufreq: tegra186: Fix initial frequency")
> implemented the CPUFREQ 'get' callback to determine the current
> operating frequency for each CPU. This implementation used a simple
> looked up to determine the current operating frequency. The problem
> with this is that frequency table for different Tegra186 devices may
> vary and so the default boot frequency for Tegra186 device may or may
> not be present in the frequency table. If the default boot frequency is
> not present in the frequency table, this causes the function
> tegra186_cpufreq_get() to return 0 and in turn causes cpufreq_online()
> to fail which prevents CPUFREQ from working.
>
> Fix this by always calculating the CPU frequency based upon the current
> 'ndiv' setting for the CPU. Note that the CPU frequency for Tegra186 is
> calculated by reading the current 'ndiv' setting, multiplying by the
> CPU reference clock and dividing by a constant divisor.
>
> Fixes: b89c01c96051 ("cpufreq: tegra186: Fix initial frequency")
>
> Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx>
> ---
> drivers/cpufreq/tegra186-cpufreq.c | 33 +++++++++++++++++++-----------
> 1 file changed, 21 insertions(+), 12 deletions(-)
Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
Rafael: This needs to go in the next rc and so I am not applying it
in my tree as this is the only fix I have for now.
--
viresh