From: Mario Limonciello <superm1@kernel.org>
To: Aviv <vaknins33@gmail.com>
Cc: Mika Westerberg <westeri@kernel.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Linus Walleij <linusw@kernel.org>,
Bartosz Golaszewski <brgl@kernel.org>,
Hans de Goede <hdegoede@redhat.com>,
linux-gpio@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] gpiolib: acpi: Add ignore_wake quirk for ASUS ZenBook UX425UA_UM425UA
Date: Fri, 21 Aug 2026 17:00:17 -0500 [thread overview]
Message-ID: <0f5e0efc-b856-4fb8-8b1a-e98f3061192e@kernel.org> (raw)
In-Reply-To: <CAMpL-YwbRe7A+wLxi9gi=q7VuufHtaoLDiLTm1fe_jK7J3D8Ww@mail.gmail.com>
On 8/21/26 16:46, Aviv wrote:
> Hi Mario,
>
> Nothing is physically connected to GPP3. The bridge (00:02.1 /
> \_SB.PCI0.GPP3) is unpopulated on this board (the ZenBook UX425UA has
> no Ethernet or secondary PCIe devices there).
>
> The DSDT seems to have leftover definitions for RTL8/RUSB on GPP3 from
> a shared BIOS base, and routes GPIO pin 24 to it in _EVT, causing
> phantom wake events during s2idle.
>
> Here is the acpidump:
> https://gist.github.com/vaknin/142f5cbad15958e9025cd81960114f6e
>
> Thanks,
> Kivan
Thanks. The dump agrees with your assessment.
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>>
>
> On Fri, Aug 21, 2026 at 11:49 PM Mario Limonciello
> <mario.limonciello@amd.com> wrote:
>>
>> What is connected to this GPP3?
>>
>> Can you please share your acpidump somewhere?
>>
>> On 8/21/26 02:06, Kivan wrote:
>>> The ASUS ZenBook UX425UA_UM425UA (with AMD Ryzen 7 5700U SoC) fails
>>> to stay suspended in s2idle (Modern Standby), prematurely waking
>>> after 1-3 seconds with 0% hardware sleep achieved.
>>>
>>> In the laptop's ACPI SSDT tables (SSDT15), GPIO Pin 24 (hex 0x18) is
>>> defined in _AEI as ExclusiveAndWake targeting the PCIe bridge device
>>> \_SB.PCI0.GPP3:
>>>
>>> GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000,
>>> "\\_SB.GPIO", ...) { 0x0018 }
>>>
>>> When the SoC powers down PCIe root ports into low-power states during
>>> s2idle, an electrical edge transition triggers a spurious wake interrupt
>>> on GPIO Pin 24. This signals the AMD GPIO controller (AMDI0030:00 / IRQ 7
>>> via pinctrl_amd), aborting sleep across the system.
>>>
>>> Booting with kernel parameter "gpiolib_acpi.ignore_wake=AMDI0030:00@24"
>>> completely resolves the issue: amd_gpio reports ignoring the wakeup on
>>> pin 24, and interrupt counts in /proc/interrupts remain at 0 during sleep
>>> cycles, allowing uninterrupted s2idle until intentionally woken by the
>>> user.
>>>
>>> Add a DMI quirk entry to ignore wake events on AMDI0030:00@24 for this
>>> system.
>>>
>>> Signed-off-by: Kivan <vaknins33@gmail.com>
>>> ---
>>> drivers/gpio/gpiolib-acpi-quirks.c | 13 +++++++++++++
>>> 1 file changed, 13 insertions(+)
>>>
>>> diff --git a/drivers/gpio/gpiolib-acpi-quirks.c b/drivers/gpio/gpiolib-acpi-quirks.c
>>> index a0116f0..dd4db58 100644
>>> --- a/drivers/gpio/gpiolib-acpi-quirks.c
>>> +++ b/drivers/gpio/gpiolib-acpi-quirks.c
>>> @@ -392,6 +392,19 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
>>> .ignore_wake = "VEN_0488:00@355",
>>> },
>>> },
>>> + {
>>> + /*
>>> + * Spurious wakeups from GPP3 PCIe bridge interrupt
>>> + * Found in BIOS UX425UA.301
>>> + */
>>> + .matches = {
>>> + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
>>> + DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX425UA_UM425UA"),
>>> + },
>>> + .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
>>> + .ignore_wake = "AMDI0030:00@24",
>>> + },
>>> + },
>>> {} /* Terminating entry */
>>> };
>>>
>>
prev parent reply other threads:[~2026-08-21 22:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-21 7:06 [PATCH] gpiolib: acpi: Add ignore_wake quirk for ASUS ZenBook UX425UA_UM425UA Kivan
2026-08-21 20:49 ` Mario Limonciello
2026-08-21 21:46 ` Aviv
2026-08-21 22:00 ` Mario Limonciello [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0f5e0efc-b856-4fb8-8b1a-e98f3061192e@kernel.org \
--to=superm1@kernel.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=brgl@kernel.org \
--cc=hdegoede@redhat.com \
--cc=linusw@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=vaknins33@gmail.com \
--cc=westeri@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.