* [PATCH] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA
@ 2026-09-29 18:16 Matthew Schwartz
2026-09-29 18:46 ` Mario Limonciello
0 siblings, 1 reply; 2+ messages in thread
From: Matthew Schwartz @ 2026-09-29 18:16 UTC (permalink / raw)
To: Shyam Sundar S K, Hans de Goede, ilpo.jarvinen
Cc: platform-driver-x86, linux-kernel, Matthew Schwartz
The ASUS ROG Flow Z13 (GZ302EA/GZ302EAC) wakes up from suspend-to-idle
without any user input. With PM debug messages enabled, each unexpected
wakeup shows the EC raising IRQ1 at the same time as the ACPI SCI:
PM: Triggering wakeup from IRQ 9
PM: Triggering wakeup from IRQ 1
ACPI: EC: Query(0xa3) started
ACPI: PM: Wakeup after ACPI Notify sync
EC query 0xa3 only notifies the battery of a status change, which
happens when it transitions between Charging and Full while on AC.
The ACPI core correctly treats that as a non-wakeup event and cancels
the SCI wakeup, but the IRQ1 wakeup remains pending and resumes the
system. i8042 debugging confirms that the keyboard controller has no
data at that point ("Interrupt 1, without any data").
The detachable keyboard on this device is a USB device, so disabling
the i8042 wakeup source does not result in any functional loss. With
serio0 wakeup disabled, the same battery event is processed during
suspend-to-idle and the system stays asleep.
Add the spurious_8042 quirk for it. The GZ302EAC reports sys_vendor
"ASUS" while the GZ302EA reports "ASUSTeK COMPUTER INC.", so match on
"ASUS" and on the "GZ302EA" board name to cover both models.
Signed-off-by: Matthew Schwartz <matthew.schwartz@linux.dev>
---
drivers/platform/x86/amd/pmc/pmc-quirks.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
index 09a30f333759..ff5c90510c0c 100644
--- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
+++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
@@ -143,6 +143,14 @@ static const struct dmi_system_id fwbug_list[] = {
DMI_MATCH(DMI_BOARD_NAME, "RC73YA"),
}
},
+ {
+ .ident = "ASUS ROG Flow Z13 GZ302EA",
+ .driver_data = &quirk_spurious_8042,
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUS"),
+ DMI_MATCH(DMI_BOARD_NAME, "GZ302EA"),
+ }
+ },
/* https://bugzilla.kernel.org/show_bug.cgi?id=218024 */
{
.ident = "V14 G4 AMN",
--
2.55.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA
2026-09-29 18:16 [PATCH] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA Matthew Schwartz
@ 2026-09-29 18:46 ` Mario Limonciello
0 siblings, 0 replies; 2+ messages in thread
From: Mario Limonciello @ 2026-09-29 18:46 UTC (permalink / raw)
To: Matthew Schwartz, Shyam Sundar S K, Hans de Goede, ilpo.jarvinen
Cc: platform-driver-x86, linux-kernel
On 9/29/26 13:16, Matthew Schwartz wrote:
> The ASUS ROG Flow Z13 (GZ302EA/GZ302EAC) wakes up from suspend-to-idle
> without any user input. With PM debug messages enabled, each unexpected
> wakeup shows the EC raising IRQ1 at the same time as the ACPI SCI:
>
> PM: Triggering wakeup from IRQ 9
> PM: Triggering wakeup from IRQ 1
> ACPI: EC: Query(0xa3) started
> ACPI: PM: Wakeup after ACPI Notify sync
>
> EC query 0xa3 only notifies the battery of a status change, which
> happens when it transitions between Charging and Full while on AC.
> The ACPI core correctly treats that as a non-wakeup event and cancels
> the SCI wakeup, but the IRQ1 wakeup remains pending and resumes the
> system. i8042 debugging confirms that the keyboard controller has no
> data at that point ("Interrupt 1, without any data").
>
> The detachable keyboard on this device is a USB device, so disabling
> the i8042 wakeup source does not result in any functional loss. With
> serio0 wakeup disabled, the same battery event is processed during
> suspend-to-idle and the system stays asleep.
>
> Add the spurious_8042 quirk for it. The GZ302EAC reports sys_vendor
> "ASUS" while the GZ302EA reports "ASUSTeK COMPUTER INC.", so match on
> "ASUS" and on the "GZ302EA" board name to cover both models.
>
> Signed-off-by: Matthew Schwartz <matthew.schwartz@linux.dev>
Good analysis of this issue. It sounds like the right direction for
this problem.
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
> ---
> drivers/platform/x86/amd/pmc/pmc-quirks.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> index 09a30f333759..ff5c90510c0c 100644
> --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
> +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> @@ -143,6 +143,14 @@ static const struct dmi_system_id fwbug_list[] = {
> DMI_MATCH(DMI_BOARD_NAME, "RC73YA"),
> }
> },
> + {
> + .ident = "ASUS ROG Flow Z13 GZ302EA",
> + .driver_data = &quirk_spurious_8042,
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "ASUS"),
> + DMI_MATCH(DMI_BOARD_NAME, "GZ302EA"),
> + }
> + },
> /* https://bugzilla.kernel.org/show_bug.cgi?id=218024 */
> {
> .ident = "V14 G4 AMN",
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-29 18:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-29 18:16 [PATCH] platform/x86/amd/pmc: Add spurious_8042 to ASUS ROG Flow Z13 GZ302EA Matthew Schwartz
2026-09-29 18:46 ` Mario Limonciello
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®