Messages in this thread | | | Date | Wed, 16 Mar 2016 13:29:38 +0100 | Subject | Re: [PATCH] cpufreq: Do not schedule policy update work in cpufreq_resume() | From | "Rafael J. Wysocki" <> |
| |
On Wed, Mar 16, 2016 at 5:52 AM, Viresh Kumar <viresh.kumar@linaro.org> wrote: > On 16-03-16, 01:51, Rafael J. Wysocki wrote: >> OK, so the problem with doing that in syscore ops is that the I2C bus >> needed for it may not be available at that point, which is fair >> enough. > > Not just that. We wouldn't call syscore-ops for the boot-cpu. It never went > away.
Yes, we would.
We actually call syscore ops *only* on that CPU.
>> Still, though, the way it is done now is really awful and has to go. >> >> I guess something along the lines of cpufreq_update_policy() might be >> done in cpufreq_resume() before governors are started, but it might >> even be better to set policy->cur from scratch when starting the >> governors. Just do driver->get() and set policy->cur to what that >> returns (or just use the average of min and max if ->get is not >> available). And that unconditionally, regardless of the reason why >> the governors are started. > > I think doing it from a somewhat centric location would make more sense then > pushing this for the governors.
I'm not talking about doing that in governors, but in cpufreq_governor() when the event is _START.
> Maybe the beginning of cpufreq_resume() is good enough for that.
Is that really the only case, though?
| |