On Mon, Feb 13, 2023 at 09:15:43AM -0600, Mario Limonciello wrote: > By default when the system is configured for low power idle in the FADT > the keyboard is set up as a wake source. This matches the behavior that > Windows uses for Modern Standby as well. > > It has been reported that a variety of AMD based designs there are > spurious wakeups are happening where two IRQ sources are active. > > For example: > ``` > PM: Triggering wakeup from IRQ 9 > PM: Triggering wakeup from IRQ 1 > ``` > > In these designs IRQ 9 is the ACPI SCI and IRQ 1 is the keyboard. > One way to trigger this problem is to suspend the laptop and then unplug > the AC adapter. The SOC will be in a hardware sleep state and plugging > in the AC adapter returns control to the kernel's s2idle loop. > > Normally if just IRQ 9 was active the s2idle loop would advance any EC > transactions and no other IRQ being active would cause the s2idle loop > to put the SOC back into hardware sleep state. > > When this bug occurred IRQ 1 is also active even if no keyboard activity > occurred. This causes the s2idle loop to break and the system to wake. > > This is a platform firmware bug triggering IRQ1 without keyboard activity. > This occurs in Windows as well, but Windows will enter "SW DRIPS" and > then with no activity enters back into "HW DRIPS" (hardware sleep state). > > This issue affects Renoir, Lucienne, Cezanne, and Barcelo platforms. It > does not happen on newer systems such as Mendocino or Rembrandt. > > It's been fixed in newer platform firmware. To avoid triggering the bug > on older systems check the SMU F/W version and adjust the policy at suspend > time for s2idle wakeup from keyboard on these systems. A lot of thought > and experimentation has been given around the timing of disabling IRQ1, > and to make it work the "suspend" PM callback is restored. > > Reported-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx> > Reported-by: Xaver Hugl <xaver.hugl@xxxxxxxxx> > Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2115 > Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1951 > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> > Link: https://lore.kernel.org/r/20230120191519.15926-1-mario.limonciello@xxxxxxx > Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > (cherry picked from commit 8e60615e8932167057b363c11a7835da7f007106) > (cherry picked from commit f6045de1f53268131ea75a99b210b869dcc150b2) > These have been hand modified for missing dependency commits. Can you split this up into the 2 different commits and submit this as a patch series so that we can track this over time easier? thanks, greg k-h