diff options
| author | Ovidiu Panait <ovidiu.panait.rb@renesas.com> | 2026-10-05 11:11:57 +0000 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2026-10-26 20:18:00 +0100 |
| commit | 4785d5faa935a828a04743c5a7d279baf454c723 (patch) | |
| tree | 8691a8a89d91781cc4b381e90322b470752101f9 /tools/perf/scripts/python | |
| parent | 7be4bc52fd9e0e55dc9a2e0232b89427d2c4b614 (diff) | |
| download | linux-4785d5faa935a828a04743c5a7d279baf454c723.tar.gz linux-4785d5faa935a828a04743c5a7d279baf454c723.zip | |
PM: suspend: Do not call suspend_ops->begin()/end() for s2idle
Commit 7602c0ec0bbf ("firmware: psci: Set
pm_set_resume/suspend_via_firmware() for SYSTEM_SUSPEND") made
psci_system_suspend_begin() call pm_set_suspend_via_firmware(), so that
device drivers can prepare for the possible removal of the power before
PSCI SYSTEM_SUSPEND.
Since then, on platforms where PSCI firmware supports SYSTEM_SUSPEND,
pm_suspend_via_firmware() returns true during both s2ram and s2idle.
This is inconsistent, since SYSTEM_SUSPEND is only invoked for s2ram.
This was observed while investigating PCI-related suspend/resume issues
on Renesas platforms (RZ/G3S, RZ/V2H), and was traced to
platform_suspend_begin() falling back to suspend_ops->begin() (PSCI in
this case) when there is no s2idle_ops->begin() callback:
platform_suspend_begin(PM_SUSPEND_TO_IDLE)
suspend_ops->begin()
psci_system_suspend_begin()
pm_set_suspend_via_firmware()
platform_resume_end() falls back to suspend_ops->end() in the same way.
Since s2idle has its own set of callbacks in s2idle_ops, make
platform_suspend_begin() and platform_resume_end() only invoke those for
s2idle, like the other platform_*() helpers do.
Fixes: 7602c0ec0bbf ("firmware: psci: Set pm_set_resume/suspend_via_firmware() for SYSTEM_SUSPEND")
Signed-off-by: Ovidiu Panait <ovidiu.panait.rb@renesas.com>
Tested-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Link: https://patch.msgid.link/20261005111157.17256-1-ovidiu.panait.rb@renesas.com
[ rjw: Added Fixes: tag ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
