Re: [PATCH] ACPI: resource: Do IRQ override on TongFang GMxXGxx

From: Werner Sembach
Date: Wed Oct 04 2023 - 05:38:09 EST


Hi,

Am 03.10.23 um 20:39 schrieb Rafael J. Wysocki:
On Fri, Sep 29, 2023 at 3:40 PM Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx> wrote:
The TongFang GMxXGxx/TUXEDO Stellaris/Pollaris Gen5 needs IRQ overriding
for the keyboard to work. Adding an entry for this laptop to the
override_table makes the internal keyboard functional again.
You said "again", so it used to work. Do you know which commit broke it?

Sorry that "again" is a bit misleading. I Copied it from here: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7592b79ba4a9

I actually only tested the direct predecessor of this Notebook on older kernels: https://bugzilla.kernel.org/show_bug.cgi?id=216698

I suspected that it's the same issue and since the same fix worked I now even more believe so, but I actually never tested a kernel before the breaking change.


Signed-off-by: Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
What's the oldest kernel version you want this to be applied to?

5.15 because Ubuntu 22.04

Kind regards,

Werner Sembach


---
drivers/acpi/resource.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
index 32cfa3f4efd3d..3aff81820e321 100644
--- a/drivers/acpi/resource.c
+++ b/drivers/acpi/resource.c
@@ -470,13 +470,25 @@ static const struct dmi_system_id asus_laptop[] = {
{ }
};

-static const struct dmi_system_id tongfang_gm_rg[] = {
+static const struct dmi_system_id tongfang_gm[] = {
{
.ident = "TongFang GMxRGxx/XMG CORE 15 (M22)/TUXEDO Stellaris 15 Gen4 AMD",
.matches = {
DMI_MATCH(DMI_BOARD_NAME, "GMxRGxx"),
},
},
+ {
+ .ident = "TongFang GMxXGxx/TUXEDO Polaris 15 Gen5 AMD",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_NAME, "GMxXGxx"),
+ },
+ },
+ {
+ .ident = "TongFang GM6XGxX/TUXEDO Stellaris 16 Gen5 AMD",
+ .matches = {
+ DMI_MATCH(DMI_BOARD_NAME, "GM6XGxX"),
+ },
+ },
{ }
};

@@ -536,7 +548,7 @@ struct irq_override_cmp {
static const struct irq_override_cmp override_table[] = {
{ medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
{ asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
- { tongfang_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
+ { tongfang_gm, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
{ maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
{ pcspecialist_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true },
{ lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
--
2.34.1