Recently there have been reports of problems where the system consumes too much power after certain interrupts occur that would notify the kernel of some event but those events aren't marked for wakeup. These problems have been root caused to the timing of the kernel moving the cores into ACPI C3 relative to other events from the previous wakeup not being settled. Linux will more aggressively move the cores into C3 for s2idle than Windows does for Modern Standby. To aide with debugging this class of problems in the future add a new set of optional debugging infrastructure. Mario Limonciello (4): ACPI: s2idle: Add a new ->enter() callback for platform_s2idle_ops platform/x86/amd: pmc: Add defines for STB events platform/x86/amd: pmc: Always write to the STB platform/x86/amd: pmc: Add an extra STB message for entering s2idle drivers/acpi/sleep.h | 1 + drivers/acpi/x86/s2idle.c | 14 ++++++++++++++ drivers/platform/x86/amd/pmc.c | 32 ++++++++++++++++++++------------ include/linux/acpi.h | 1 + include/linux/suspend.h | 1 + kernel/power/suspend.c | 3 +++ 6 files changed, 40 insertions(+), 12 deletions(-) -- 2.34.1