UPSTREAM: PM / Domains: Make genpd performance states orthogonal to the idlestates
It's quite questionable whether genpd internally should care about if the corresponding PM domain for a device is powered on, as to allow setting a new performance state for it. The assumptions creates an unnecessary limitation at this point, for both consumers and providers, but more importantly it also makes the code more complicated. Therefore, let's simplify the code to allow setting a performance state, by invoking the ->set_performance_state() callback, no matter whether the PM domain is powered on or off. Do note, this change means genpd providers needs to restore the performance state themselves during power on, via the ->power_on() callback. Moreover, they may also need to check that the PM domain is powered on, from their ->set_performance_state() callback, before deciding to update the state. Tested-by:Rajendra Nayak <rnayak@codeaurora.org> Acked-by:
Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by:
Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by:
Viresh Kumar <viresh.kumar@linaro.org> (cherry picked from commit 68de2fe5 https://github.com/torvalds/linux.git ) Signed-off-by:
Niklas Cassel <niklas.cassel@linaro.org> BUG=b:129558664 TEST=Validate DVFS and schedutil governor Git-repo: https://git.linaro.org/people/niklas.cassel/kernel.git Git-commit: fd864bca736cf873d6a93525a73b0881f62583a1 Signed-off-by:
Praveen Koya <pkoya@codeaurora.org> Change-Id: I7df8e62a0c1359b42888fe952d8a25417b73fe6e Signed-off-by:
Vamsi Singamsetty <vamssi@codeaurora.org> Signed-off-by:
Khasim Syed Mohammed <khasim.mohammed@linaro.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1664356 Reviewed-by:
Zhihong Yu <zhihongyu@chromium.org> Reviewed-by:
Sean Paul <seanpaul@chromium.org> Commit-Queue: Zhihong Yu <zhihongyu@chromium.org> Tested-by:
Zhihong Yu <zhihongyu@chromium.org>
Loading
Please sign in to comment