Bug 218829 - B650M/Ryzen 7700X PC immediately wakes up from "deep" suspend
Summary: B650M/Ryzen 7700X PC immediately wakes up from "deep" suspend
Status: RESOLVED DOCUMENTED
Alias: None
Product: ACPI
Classification: Unclassified
Component: Power-Sleep-Wake (show other bugs)
Hardware: AMD Linux
: P3 normal
Assignee: acpi_power-sleep-wake
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-12 23:52 UTC by CUI Hao
Modified: 2024-09-06 16:32 UTC (History)
2 users (show)

See Also:
Kernel Version: 6.8.9
Subsystem:
Regression: No
Bisected commit-id:


Attachments
acpidump (3.14 MB, text/plain)
2024-05-12 23:52 UTC, CUI Hao
Details
dmesg (130.74 KB, text/plain)
2024-05-12 23:52 UTC, CUI Hao
Details
dsdt.dsl (2.85 MB, text/x-csrc)
2024-05-15 16:18 UTC, CUI Hao
Details

Description CUI Hao 2024-05-12 23:52:01 UTC
Created attachment 306287 [details]
acpidump

Hi, my PC wakes up immediately after suspend to RAM on Linux. I believe the system does a full cycle of suspend / waking up, which I tell from the kernel log and the sound / noise from the chassis.

Hardware:
- B650M AORUS ELITE AX
- AMD Ryzen 7 7700X 8-Core Processor
- NVIDIA GeForce RTX 2070 SUPER (nvidia-open driver, not used for display)

I tried to disable all possible device wakeups under /sys but it doesn't work:
```
find /sys/ -type f -path '*/power/wakeup' | xargs -I{} sh -c 'echo disabled | tee {}'
```

/sys/power/pm_wakeup_irq shows IRQ 7 wakes the system up. 

I followed https://bugzilla.redhat.com/show_bug.cgi?id=2162013 and a few other sources, turned on a few debug options, including:
```
alias ddcmd='echo $* > /proc/dynamic_debug/control'
ddcmd file "drivers/pinctrl/*" +p
echo 1 > /sys/power/pm_debug_messages
```

Here are the kernel log I got during one the suspend / waking up cycle:
```
[ 1695.970527] r8169 0000:0b:00.0 enp11s0: Link is Up - 1Gbps/Full - flow control off
[ 1696.118462] r8169 0000:0b:00.0 enp11s0: Link is Down
[ 1696.318138] PM: suspend entry (deep)
[ 1696.373499] Filesystems sync: 0.055 seconds
[ 1696.577890] Freezing user space processes
[ 1696.579521] Freezing user space processes completed (elapsed 0.001 seconds)
[ 1696.579523] OOM killer disabled.
[ 1696.579524] Freezing remaining freezable tasks
[ 1696.580708] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[ 1696.580735] printk: Suspending console(s) (use no_console_suspend to debug)
[ 1696.636172] sd 1:0:0:0: [sda] Synchronizing SCSI cache
[ 1696.636546] ata2.00: Entering standby power mode
[ 1696.843467] amdgpu 0000:10:00.0: [drm] REG_WAIT timeout 1us * 100000 tries - optc1_wait_for_state line:839
[ 1696.979856] amdgpu 0000:10:00.0: [drm] REG_WAIT timeout 1us * 100000 tries - optc1_wait_for_state line:839
[ 1697.116228] amdgpu 0000:10:00.0: [drm] REG_WAIT timeout 1us * 100000 tries - optc1_wait_for_state line:839
[ 1698.352257] PM: suspend of devices complete after 1771.335 msecs
[ 1698.352266] PM: start suspend of devices complete after 1771.558 msecs
[ 1698.353325] PM: late suspend of devices complete after 1.056 msecs
[ 1698.406152] PM: noirq suspend of devices complete after 52.722 msecs
[ 1698.406156] ACPI: PM: Preparing to enter system sleep state S3
[ 1698.609679] Bluetooth: hci0: command 0x0c24 tx timeout
[ 1698.609678] Bluetooth: hci0: Opcode 0x0c24 failed: -110
[ 1698.719574] ACPI: PM: Saving platform NVS memory
[ 1698.720102] Disabling non-boot CPUs ...
[ 1698.722241] smpboot: CPU 1 is now offline
[ 1698.724935] smpboot: CPU 2 is now offline
[ 1698.726960] smpboot: CPU 3 is now offline
[ 1698.729099] smpboot: CPU 4 is now offline
[ 1698.731128] smpboot: CPU 5 is now offline
[ 1698.733129] smpboot: CPU 6 is now offline
[ 1698.735205] smpboot: CPU 7 is now offline
[ 1698.737130] smpboot: CPU 8 is now offline
[ 1698.737735] Spectre V2 : Update user space SMT mitigation: STIBP off
[ 1698.739156] smpboot: CPU 9 is now offline
[ 1698.741135] smpboot: CPU 10 is now offline
[ 1698.742915] smpboot: CPU 11 is now offline
[ 1698.744750] smpboot: CPU 12 is now offline
[ 1698.746658] smpboot: CPU 13 is now offline
[ 1698.748377] smpboot: CPU 14 is now offline
[ 1698.750075] smpboot: CPU 15 is now offline
[ 1698.750602] Checking wakeup interrupts
[ 1698.750603] Calling kvm_suspend+0x0/0x40 [kvm]
[ 1698.750627] Calling mce_syscore_suspend+0x0/0x20
[ 1698.750630] Calling ledtrig_cpu_syscore_suspend+0x0/0x20
[ 1698.750632] Calling timekeeping_suspend+0x0/0x2f0
[ 1698.750662] Calling irq_gc_suspend+0x0/0x80
[ 1698.750664] Calling save_ioapic_entries+0x0/0xd0
[ 1698.750771] Calling i8259A_suspend+0x0/0x30
[ 1698.750782] Calling perf_ibs_suspend+0x0/0x40
[ 1698.750784] Calling amd_iommu_suspend+0x0/0x50
[ 1698.750791] Calling fw_suspend+0x0/0x20
[ 1698.750796] Calling acpi_save_bm_rld+0x0/0x30
[ 1698.750800] Calling lapic_suspend+0x0/0x1a0
[ 1698.750920] ACPI: PM: Low-level resume complete
[ 1698.750942] ACPI: PM: Restoring platform NVS memory
[ 1698.751107] Calling lapic_resume+0x0/0x220
[ 1698.801774] AMD-Vi: Virtual APIC enabled
[ 1698.801781] Calling acpi_restore_bm_rld+0x0/0x70
[ 1698.801790] Calling irqrouter_resume+0x0/0x50
[ 1698.801793] Calling amd_iommu_resume+0x0/0x40
[ 1699.002213] AMD-Vi: Virtual APIC enabled
[ 1699.002220] Calling perf_ibs_resume+0x0/0x30
[ 1699.002226] LVT offset 0 assigned for vector 0x400
[ 1699.002227] Calling i8259A_resume+0x0/0x40
[ 1699.002362] Calling ioapic_resume+0x0/0xc0
[ 1699.002459] Calling irq_gc_resume+0x0/0x70
[ 1699.002461] Calling irq_pm_syscore_resume+0x0/0x20
[ 1699.002496] Calling timekeeping_resume+0x0/0x1d0
[ 1699.002530] Timekeeping suspended for 2.478 seconds
[ 1699.002542] Calling init_counter_refs+0x0/0x40
[ 1699.002544] Calling ledtrig_cpu_syscore_resume+0x0/0x20
[ 1699.002547] Calling mce_syscore_resume+0x0/0x30
[ 1699.002726] Calling microcode_bsp_resume+0x0/0xd0
[ 1699.002727] Calling kvm_resume+0x0/0x60 [kvm]
[ 1699.002753] PM: Triggering wakeup from IRQ 7
[ 1699.002777] Enabling non-boot CPUs ...
[ 1699.002970] smpboot: Booting Node 0 Processor 1 APIC 0x2
[ 1699.005716] ACPI: \_SB_.PLTF.C002: Found 3 idle states
[ 1699.005864] CPU1 is up
[ 1699.006033] smpboot: Booting Node 0 Processor 2 APIC 0x4
[ 1699.008462] ACPI: \_SB_.PLTF.C004: Found 3 idle states
[ 1699.008577] CPU2 is up
[ 1699.008753] smpboot: Booting Node 0 Processor 3 APIC 0x6
[ 1699.011158] ACPI: \_SB_.PLTF.C006: Found 3 idle states
[ 1699.011303] CPU3 is up
[ 1699.011510] smpboot: Booting Node 0 Processor 4 APIC 0x8
[ 1699.013919] ACPI: \_SB_.PLTF.C008: Found 3 idle states
[ 1699.014058] CPU4 is up
[ 1699.014189] smpboot: Booting Node 0 Processor 5 APIC 0xa
[ 1699.016857] ACPI: \_SB_.PLTF.C00A: Found 3 idle states
[ 1699.017003] CPU5 is up
[ 1699.017132] smpboot: Booting Node 0 Processor 6 APIC 0xc
[ 1699.019565] ACPI: \_SB_.PLTF.C00C: Found 3 idle states
[ 1699.019722] CPU6 is up
[ 1699.019854] smpboot: Booting Node 0 Processor 7 APIC 0xe
[ 1699.022274] ACPI: \_SB_.PLTF.C00E: Found 3 idle states
[ 1699.022443] CPU7 is up
[ 1699.022594] smpboot: Booting Node 0 Processor 8 APIC 0x1
[ 1699.025006] ACPI: \_SB_.PLTF.C001: Found 3 idle states
[ 1699.025253] Spectre V2 : Update user space SMT mitigation: STIBP always-on
[ 1699.025257] CPU8 is up
[ 1699.025396] smpboot: Booting Node 0 Processor 9 APIC 0x3
[ 1699.027511] Spurious APIC interrupt (vector 0xFF) on CPU#9, should never happen.
[ 1699.027804] ACPI: \_SB_.PLTF.C003: Found 3 idle states
[ 1699.028006] CPU9 is up
[ 1699.028176] smpboot: Booting Node 0 Processor 10 APIC 0x5
[ 1699.030295] Spurious APIC interrupt (vector 0xFF) on CPU#10, should never happen.
[ 1699.030576] ACPI: \_SB_.PLTF.C005: Found 3 idle states
[ 1699.030784] CPU10 is up
[ 1699.030901] smpboot: Booting Node 0 Processor 11 APIC 0x7
[ 1699.033027] Spurious APIC interrupt (vector 0xFF) on CPU#11, should never happen.
[ 1699.033313] ACPI: \_SB_.PLTF.C007: Found 3 idle states
[ 1699.033524] CPU11 is up
[ 1699.033639] smpboot: Booting Node 0 Processor 12 APIC 0x9
[ 1699.035767] Spurious APIC interrupt (vector 0xFF) on CPU#12, should never happen.
[ 1699.036055] ACPI: \_SB_.PLTF.C009: Found 3 idle states
[ 1699.036275] CPU12 is up
[ 1699.036435] smpboot: Booting Node 0 Processor 13 APIC 0xb
[ 1699.038572] Spurious APIC interrupt (vector 0xFF) on CPU#13, should never happen.
[ 1699.038871] ACPI: \_SB_.PLTF.C00B: Found 3 idle states
[ 1699.039117] CPU13 is up
[ 1699.039213] smpboot: Booting Node 0 Processor 14 APIC 0xd
[ 1699.041343] Spurious APIC interrupt (vector 0xFF) on CPU#14, should never happen.
[ 1699.041673] ACPI: \_SB_.PLTF.C00D: Found 3 idle states
[ 1699.041922] CPU14 is up
[ 1699.042035] smpboot: Booting Node 0 Processor 15 APIC 0xf
[ 1699.044203] Spurious APIC interrupt (vector 0xFF) on CPU#15, should never happen.
[ 1699.044512] ACPI: \_SB_.PLTF.C00F: Found 3 idle states
[ 1699.044799] CPU15 is up
[ 1699.046297] ACPI: PM: Waking up from system sleep state S3
[ 1699.329151] PM: noirq resume of devices complete after 272.983 msecs
[ 1699.329201] GPIO 3 is active: 0x30157a00
[ 1699.330007] PM: early resume of devices complete after 0.745 msecs
[ 1699.331243] [drm] PCIE GART of 1024M enabled (table at 0x000000F4FFC00000).
[ 1699.331285] [drm] PSP is resuming...
[ 1699.332218] xhci_hcd 0000:0d:00.0: xHC error in resume, USBSTS 0x401, Reinit
[ 1699.332223] usb usb3: root hub lost power or was reset
[ 1699.332225] usb usb4: root hub lost power or was reset
[ 1699.334278] nvme nvme0: Shutdown timeout set to 8 seconds
[ 1699.350923] nvme nvme0: 16/0/0 default/read/poll queues
[ 1699.352858] [drm] reserve 0xa00000 from 0xf4fe000000 for PSP TMR
[ 1699.418435] amdgpu 0000:10:00.0: amdgpu: RAS: optional ras ta ucode is not available
[ 1699.424214] amdgpu 0000:10:00.0: amdgpu: RAP: optional rap ta ucode is not available
[ 1699.424215] amdgpu 0000:10:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[ 1699.424217] amdgpu 0000:10:00.0: amdgpu: SMU is resuming...
[ 1699.425608] amdgpu 0000:10:00.0: amdgpu: SMU is resumed successfully!
[ 1699.426275] [drm] DMUB hardware initialized: version=0x05000F00
[ 1699.641317] ata3: SATA link down (SStatus 0 SControl 300)
[ 1699.641334] ata1: SATA link down (SStatus 0 SControl 300)
[ 1699.641351] ata4: SATA link down (SStatus 0 SControl 300)
[ 1699.741620] usb 3-6: reset full-speed USB device number 5 using xhci_hcd
[ 1699.784440] [drm] kiq ring mec 2 pipe 1 q 0
[ 1699.786439] [drm] VCN decode and encode initialized successfully(under DPG Mode).
[ 1699.786936] [drm] JPEG decode initialized successfully.
[ 1699.786952] amdgpu 0000:10:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[ 1699.786954] amdgpu 0000:10:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[ 1699.786955] amdgpu 0000:10:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[ 1699.786956] amdgpu 0000:10:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 5 on hub 0
[ 1699.786957] amdgpu 0000:10:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 6 on hub 0
[ 1699.786957] amdgpu 0000:10:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
[ 1699.786958] amdgpu 0000:10:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
[ 1699.786959] amdgpu 0000:10:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 9 on hub 0
[ 1699.786960] amdgpu 0000:10:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 10 on hub 0
[ 1699.786960] amdgpu 0000:10:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 11 on hub 0
[ 1699.786961] amdgpu 0000:10:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[ 1699.786962] amdgpu 0000:10:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 8
[ 1699.786963] amdgpu 0000:10:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 8
[ 1699.786964] amdgpu 0000:10:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 8
[ 1699.786964] amdgpu 0000:10:00.0: amdgpu: ring jpeg_dec uses VM inv eng 5 on hub 8
[ 1699.825224] xhci_hcd 0000:01:00.2: xHC error in resume, USBSTS 0x401, Reinit
[ 1699.825226] usb usb1: root hub lost power or was reset
[ 1699.825228] usb usb2: root hub lost power or was reset
[ 1700.228710] usb 3-4: reset high-speed USB device number 2 using xhci_hcd
[ 1700.638349] usb 3-7: reset full-speed USB device number 4 using xhci_hcd
[ 1701.049253] usb 4-2: reset SuperSpeed USB device number 2 using xhci_hcd
[ 1701.189888] usb 4-4: reset SuperSpeed USB device number 3 using xhci_hcd
[ 1701.327941] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1701.328395] PM: resume of devices complete after 1998.429 msecs
[ 1701.329365] OOM killer enabled.
[ 1701.329367] Restarting tasks ... done.
[ 1701.331728] random: crng reseeded on system resumption
[ 1701.331761] PM: suspend exit
[ 1701.331968] thermal thermal_zone1: failed to read out thermal zone (-61)
[ 1701.334678] Bluetooth: hci0: Firmware timestamp 2024.8 buildtype 1 build 79483
[ 1701.334683] Bluetooth: hci0: Firmware SHA1: 0x7c7b67b9
[ 1701.334689] Bluetooth: hci0: No support for _PRR ACPI method
[ 1701.338773] Bluetooth: hci0: Found device firmware: intel/ibt-0041-0041.sfi
[ 1701.338782] Bluetooth: hci0: Boot Address: 0x100800
[ 1701.338784] Bluetooth: hci0: Firmware Version: 123-8.24
[ 1701.338785] Bluetooth: hci0: Firmware already loaded
[ 1701.352590] sd 1:0:0:0: [sda] Starting disk
[ 1701.353592] ata2.00: configured for UDMA/133
[ 1701.364569] RTL8226B_RTL8221B 2.5Gbps PHY r8169-0-b00:00: attached PHY driver (mii_bus:phy_addr=r8169-0-b00:00, irq=MAC)
[ 1701.554734] r8169 0000:0b:00.0 enp11s0: Link is Down
[ 1701.623659] Bluetooth: MGMT ver 1.22
[ 1704.210473] r8169 0000:0b:00.0 enp11s0: Link is Up - 1Gbps/Full - flow control off
[ 1704.211812] r8169 0000:0b:00.0 enp11s0: Link is Up - 1Gbps/Full - flow control of
```

It seems "GPIO 3 is active: 0x30157a00" is relevant. Here is /sys/kernel/debug/gpio:
```
gpiochip0: GPIOs 512-767, parent: platform/AMDI0030:00, AMDI0030:00:
WAKE_INT_MASTER_REG: 0xff000000
GPIO bank0
gpio      int|active|trigger|S0i3| S3|S4/S5| Z|wake|pull|  orient|       debounce|reg
#0          ∅|      |       |    |   |     |  |    |  ↑ |input  ↑|               |0x150000
#1          ∅|      |       |    |   |     |  |    |  ↑ |input  ↑|               |0x150000
#2          ∅|      |       |    |   |     |  |    |  ↑ |input  ↑|               |0x150000
#3         😛|     ↓|   edge|  ⏰| ⏰|     |  |    |  ↑ |input  ↑|               |0x157a00
#4          ∅|      |       |    |   |     |  |    |  ↓ |input  ↓|               |0x240000
......
```

No idea what to check next (finding out what device uses GPIO3?). acpidump and full kernel log are attached.
Comment 1 CUI Hao 2024-05-12 23:52:27 UTC
Created attachment 306288 [details]
dmesg
Comment 2 CUI Hao 2024-05-13 01:52:54 UTC
Found this https://lore.kernel.org/all/20221012221028.4817-1-mario.limonciello@amd.com/T/

Setting gpiolib_acpi.ignore_interrupt=AMDI0030:00@3 fixes the issue. Though I still wonder what GPIO 3 does and if there is any caveat of this workaround.
Comment 3 Mario Limonciello (AMD) 2024-05-15 08:21:58 UTC
I can't seem to decompile your DSDT.

$ iasl -d dsdt.dat 

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20230628
Copyright (c) 2000 - 2023 Intel Corporation

File appears to be binary: found 85251 non-ASCII characters, disassembling
Binary file appears to be a valid ACPI table, disassembling
Input file dsdt.dat, Length 0x72C22 (470050) bytes
ACPI: DSDT 0x0000000000000000 072C22 (v39 ALASKA A M I    01072009 INTL 20220331)
Pass 1 parse of [DSDT]
Firmware Error (ACPI): Failure creating named object [\_SB.PCI0.GPP7.UP00], AE_ALREADY_EXISTS (20230628/dswload-495)
ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20230628/psobject-372)
Could not parse ACPI tables, AE_ALREADY_EXISTS

If you can get that decompiled then the _AEI will likely have information useful for figuring out what it matches.
Comment 4 CUI Hao 2024-05-15 16:18:04 UTC
I did a quick and dirty modification on acpica code to bypass the error and get dsdt.dat decompiled. Hopefully it doesn't distort things significantly.

```
diff --git a/source/components/dispatcher/dswload.c b/source/components/dispatcher/dswload.c
index ed97abb13..b2af9b40c 100644
--- a/source/components/dispatcher/dswload.c
+++ b/source/components/dispatcher/dswload.c
@@ -465,7 +465,7 @@ AcpiDsLoad1BeginOp (
             {
                 /* The name already exists in this scope */
 
-                if (Node->Flags & ANOBJ_IS_EXTERNAL)
+                //if (Node->Flags & ANOBJ_IS_EXTERNAL)
                 {
                     /*
                      * Allow one create on an object or segment that was
```

Here is the _AEI method found in the dsdt.dsl (full file attached).

```
        Method (_AEI, 0, NotSerialized)  // _AEI: ACPI Event Interrupts
        {
            Name (BUFF, ResourceTemplate ()
            {
                GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPIO", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0003
                    }
            })
            Name (BUNP, ResourceTemplate ()
            {
                GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullDefault, 0x1388,
                    "\\_SB.GPIO", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0000
                    }
                GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPIO", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x003D
                    }
                GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPIO", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x003E
                    }
                GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPIO", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x003A
                    }
                GpioInt (Level, ActiveHigh, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPIO", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x003B
                    }
                GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPIO", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0002
                    }
                GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPIO", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0003
                    }
                GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
                    "\\_SB.GPIO", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0009
                    }
            })
            If ((G001 == One))
            {
                M460 ("  OEM-ASL-\\_SB.GPIO._AEI return BUNP (MS)\n", Zero, Zero, Zero, Zero, Zero, Zero)
                Return (BUNP) /* \_SB_.GPIO._AEI.BUNP */
            }
            Else
            {
                M460 ("  OEM-ASL-\\_SB.GPIO._AEI return BUFF (S3)\n", Zero, Zero, Zero, Zero, Zero, Zero)
                Return (BUFF) /* \_SB_.GPIO._AEI.BUFF */
            }
        }
```
Comment 5 CUI Hao 2024-05-15 16:18:54 UTC
Created attachment 306296 [details]
dsdt.dsl
Comment 6 Mario Limonciello (AMD) 2024-05-15 16:25:50 UTC
This looks like it's the EC trying to wake up the system. 

                Case (0x03)
                {
                    M000 (0x3903)
                    M460 ("    Clear SCI Status Bit02\n", Zero, Zero, Zero, Zero, Zero, Zero)
                    M014 (0xFED80200, Zero, Zero, 0x20, 0x04)
                    If (CondRefOf (\_GPE._L02))
                    {
                        M460 ("    Call \\_GPE._L02 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
                        \_GPE._L02 ()
                    }
                }

Check and make sure that your BIOS and EC firmware is up to date.  If it is you probably should report this to your vendor to investigate and explain.
Comment 7 Eugene M*ko 2024-09-06 09:57:54 UTC
I've also caught this issue on a new system with MB Gigabyte X670E AORUS MASTER, 9700X CPU and openSUSE Leap 15.6(6.4.0-150600.23.17), also checked that the same is reproducible on openSUSE Tumbleweed.

For me it looks the same - the same IRQ 7 involved with "GPIO 3 is active" and IR-IO-APIC 7-fasteoi pinctrl_amdthat served this IRQ (and similar not parsed/decompiled DSDT but different sizes/offsets and "v115 ALASKA A M I").

Solutions with adding "gpiolib_acpi.ignore_interrupt=AMDI0030:00@03" kernel parameter and ignore this event works, ie after that there is NO not needed wakeups so far.

Tried to communicate with Gigabyte and the final response is:

-- QUOTE --
As there are many possiblites that could be the root that triggered the issue, we are unable to confirm the issue without having the product examined/tested. We've tested the platform with Windows 10 (as the supported OS stated on the product spec page), no system reboot issue occurred as you reported.  As reminded you on the very first mail, suspend issues related also to the OS. If you would like to isolate the issue related to the OS or not, we suggest you install Windows instead to see if the issue can be solved. Your suggestion mentioned will be forwarded to related parties for their reference as well.  
-- QUOTE --

However I haven't reported any system reboot, I reported  "after attempt to [deep]/S3 Sleep it wakes up maybe in a second"

Not sure that I have any willingness to install and try it on windows....
Comment 8 Mario Limonciello (AMD) 2024-09-06 16:32:42 UTC
Well it's good you have a workaround for this bug for anyone that encounters it.  

But if it's the EC that is waking the system (which above findings point at), it will need to be fixed by an update to that.

Note You need to log in before you can comment on or make changes to this bug.