[PATCH] ACPI: resource: Do IRQ override on MECHREV GM7RG7M
From: Andrei Galiant
Date: Sat Oct 31 2026 - 10:41:37 EST
The MECHREV Jiaolong17 Series GM7RG7M (TongFang GM7RG7M, Ryzen 7
6800H) describes the PS/2 keyboard interrupt in its DSDT as
edge-triggered, active-low and shared:
IRQ (Edge, ActiveLow, Shared) {1}
The keyboard controller actually asserts IRQ 1 active-high. On AMD
Zen systems acpi_dev_irq_override() skips the ACPI IRQ override for
GSI 1, so the IO-APIC redirection entry is programmed with the DSDT's
active-low polarity and the interrupt is never delivered: the embedded
controller still scans the matrix and places scancodes in port 0x60,
but atkbd_receive_byte() is never called and the internal keyboard is
dead under Linux, while it works in the firmware setup, in GRUB and in
Windows.
Add the board to irq1_edge_low_force_override[] so that the standard
edge/high override is applied, matching the already-listed sibling
GM7XG0M (Jiaolong17KS).
Fixes: 9946e39fe8d0 ("ACPI: resource: skip IRQ override on AMD Zen platforms")
Cc: stable@xxxxxxxxxxxxxxx
Tested-by: Andrei Galiant <zakat1984@xxxxxxxxx>
Signed-off-by: Andrei Galiant <zakat1984@xxxxxxxxx>
---
drivers/acpi/resource.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
index 56df459..0a944ba 100644
--- a/drivers/acpi/resource.c
+++ b/drivers/acpi/resource.c
@@ -553,6 +553,12 @@ static const struct dmi_system_id irq1_edge_low_force_override[] = {
DMI_MATCH(DMI_BOARD_NAME, "GM7XG0M"),
},
},
+ {
+ /* MECHREVO Jiaolong17 Series GM7RG7M */
+ .matches = {
+ DMI_MATCH(DMI_BOARD_NAME, "GM7RG7M"),
+ },
+ },
{
/* XMG APEX 17 (M23) */
.matches = {
--
2.56.0