AMD Renoir laptop wakes from suspend
Brief summary of the problem:
A Renoir laptop sometimess automatically wakes from suspend. Issue is simillar to #1951 (closed)
Hardware description:
CPU: AMD Ryzen 7 4700U (8) @ 2 GHz
Checking prerequisites for s2idle
🚦Logs are provided via dmesg, timestamps may not be accurate over multiple cycles
❌ Kernel ringbuffer has wrapped, unable to accurately validate pre-requisites
✅ AMD Ryzen 7 4700U with Radeon Graphics (family 17 model 60)
✅ LPS0 _DSM enabled
✅ ACPI FADT supports Low-power S0 idle
✅ HSMP driver `amd_hsmp` not detected (blocked: False)
✅ PMC driver `amd_pmc` loaded (Program 0 Firmware 55.80.0)
Timer based wakeup doesn't work properly for your ASIC/firmware, please manually wake the system
✅ GPU driver `amdgpu` available
✅ System is configured for s2idle
❌ NVME Samsung Electronics Co Ltd NVMe SSD Controller 980 is not configured for s2idle in BIOS
✅ GPIO driver `pinctrl_amd` available
○ Hardware sleep cycle count: 2
○ GPIOs active: ['4', '21', '21', '21']
○ Wakeups triggered from IRQs: [9, 7]
○ Used AMD uPEP GUID in LPS0 _DSM
○ Woke up from IRQ 7 (IR-IO-APIC 7-fasteoi pinctrl_amd)
○ gpe03 increased from 103401 to 103865
○ gpe04 increased from 6503 to 6504
○ gpe05 increased from 417 to 420
✅ Userspace suspended for 0:00:11.232466
✅ Kernel suspended for total of 0:01:07.599000 (601.82%)
✅ In a hardware sleep state for 0:00:07.389739 (65.79%)
🔋 Battery CMB1 (Fujitsu CP803415-01) is operating at 96.36% of design
S0i3 failures reported on your system
This was normal suspend log amd_s2idle.py tool.
System information:
OS: Debian GNU/Linux 12 x86_64
Kernel: 6.4.0-0-amd64
How to reproduce the issue:
Suspend (s2idle) the laptop. The laptop will automatically wake up in minutes or maybe overnight. Eventually it just wakes up.
When laptop automatically wakes from suspend, we have in dmesg:
[408723.104070] PM: Suspending system (s2idle)
[408723.104074] printk: Suspending console(s) (use no_console_suspend to debug)
[408723.241903] PM: suspend of devices complete after 137.441 msecs
[408723.241913] PM: start suspend of devices complete after 137.822 msecs
[408723.242821] PM: late suspend of devices complete after 0.903 msecs
[408723.243385] ACPI: EC: interrupt blocked
[408723.303713] PM: noirq suspend of devices complete after 60.761 msecs
[408723.304526] PM: Triggering wakeup from IRQ 9
[408723.312317] PM: suspend-to-idle
[408723.312345] ACPI: EC: ACPI EC GPE status set
[408723.312364] ACPI: PM: Rearming ACPI SCI for wakeup
[411660.827686] Timekeeping suspended for 2937.540 seconds
[411660.827820] PM: Triggering wakeup from IRQ 7
[411660.828003] ACPI: PM: Wakeup unrelated to ACPI SCI
[411660.828015] PM: resume from suspend-to-idle
[411660.917351] PM: Triggering wakeup from IRQ 9
[411660.929037] ACPI: EC: interrupt unblocked
[411661.096561] PM: noirq resume of devices complete after 168.752 msecs
[411661.099582] PM: early resume of devices complete after 2.552 msecs
Normal wakeup log from keyboard:
[407710.779398] PM: Triggering wakeup from IRQ 7
[407710.779574] ACPI: PM: Wakeup unrelated to ACPI SCI
[407710.779586] PM: resume from suspend-to-idle
[407710.782048] amd_pmc AMDI0005:00: AMD_PMC_REGISTER_RESPONSE:1
[407710.782084] amd_pmc AMDI0005:00: AMD_PMC_REGISTER_ARGUMENT:0
[407710.782111] amd_pmc AMDI0005:00: AMD_PMC_REGISTER_MESSAGE:3
[407710.782239] amd_pmc AMDI0005:00: AMD_PMC_REGISTER_RESPONSE:1
[407710.782264] amd_pmc AMDI0005:00: AMD_PMC_REGISTER_ARGUMENT:0
[407710.782288] amd_pmc AMDI0005:00: AMD_PMC_REGISTER_MESSAGE:8
[407710.871565] PM: Triggering wakeup from IRQ 9
[407710.876375] ACPI: \_SB_.PEP_: _DSM function 3 evaluation successful
[407710.881684] ACPI: \_SB_.PEP_: _DSM function 5 evaluation successful
[407710.882924] ACPI: EC: interrupt unblocked
[407711.052456] PM: noirq resume of devices complete after 170.744 msecs
[407711.052607] amd_gpio AMDI0030:00: GPIO 4 is active: 0x10247800
[407711.052657] PM: Triggering wakeup from IRQ 0
[407711.052692] amd_gpio AMDI0030:00: GPIO 21 is active: 0x30247800
[407711.052719] PM: Triggering wakeup from IRQ 0
[407711.061000] PM: early resume of devices complete after 2.606 msecs
IRQ 7 is pinctrl_amd, so seems like phantom event that wakes laptop.