[PATCH 2/2] cpuidle: psci: Improve support for suspend-to-ram for PSCI OSI mode

Maulik Shah (mkshah) quic_mkshah at quicinc.com
Tue Apr 19 01:54:32 PDT 2022


Hi,

On 4/1/2022 7:41 PM, Ulf Hansson wrote:
> When PSCI OSI mode is supported the syscore flag is set for the CPU devices
> that becomes attached to their PM domains (genpds). In the suspend-to-idle
> case, we call dev_pm_genpd_suspend|resume() to allow genpd to properly
> manage the power-off/on operations (pick an idlestate and manage the on/off
> notifications).
>
> For suspend-to-ram, dev_pm_genpd_suspend|resume() is currently not being
> called, which causes a problem that the genpd on/off notifiers do not get
> sent as expected. This prevents the platform-specific operations from being
> executed, typically needed just before/after the boot CPU is being turned
> off/on.
>
> To deal with this problem, let's register a syscore ops for cpuidle-psci
> when PSCI OSI mode is being used and call dev_pm_genpd_suspend|resume()
> from them. In this way, genpd regains control of the PM domain topology and
> then sends the on/off notifications when it's appropriate.
>
> Reported-by: Maulik Shah <quic_mkshah at quicinc.com>
> Suggested-by: Maulik Shah <quic_mkshah at quicinc.com>
> Signed-off-by: Ulf Hansson <ulf.hansson at linaro.org>
Tested-by: Maulik Shah <quic_mkshah at quicinc.com>

Thanks,
Maulik




More information about the linux-arm-kernel mailing list