Messages in this thread | | | Date | Mon, 25 Nov 2013 22:31:56 +0530 | Subject | Re: [PATCH V2] cpufreq: Make sure CPU is running on a freq from freq-table | From | Viresh Kumar <> |
| |
On 25 November 2013 22:08, Dirk Brandewie <dirk.brandewie@gmail.com> wrote: > IMHO this issue should be fixed in the scaling driver for the platform. > > The scaling driver sets policy->cur and fills in the frequency table and has
Not anymore, policy->cur is set in the core for most of the drivers now. Drivers just provide ->get() callbacks.
> the ability to adjust the frequency of the CPU.
I believe this kind of decisions should stay with the core, drivers should just provide the backend instead of intelligence..
> Letting this leak up into the core > is wrong IMHO and just widens the window where the CPU will be running at > the wrong frequency set by the bootloader.
It doesn't stay there for long enough.. we get to this point in cpufreq core just after calling ->init(), and if the CPU is working without issues until now, it will stay stable for few more milliseconds.
> Shouldn't there be a check to see if the problem exists at all? Otherwise > the core is setting a policy for ALL platform even those where the issue > does > not exist.
That is taken care of by __cpufreq_driver_target(). It checks if we are already running at requested frequency or not (after getting the next higher frequency)... If current freq is present in table, cpufreq_frequency_table_target() will return current frequency only for policy->cur -1. And so we will not end up configuring hardware unnecessarily.
| |