https://bugzilla.kernel.org/show_bug.cgi?id=219614

            Bug ID: 219614
           Summary: IRQ1 override needed to let keyboard work on laptop
                    TongFang gm5ida/GM5HG0A
           Product: ACPI
           Version: 2.5
          Hardware: AMD
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: Config-Tables
          Assignee: acpi_config-tab...@kernel-bugs.osdl.org
          Reporter: stephan4li...@gmail.com
        Regression: No

Created attachment 307374
  --> https://bugzilla.kernel.org/attachment.cgi?id=307374&action=edit
Patch for GM5HG0A keyboard

The keyboard from a AMD Ryzen7(8845HS) laptop bought from webshop www.skikk.eu
model "SKIKK Vanaheim 15 RTX 4060 Black"
does not work under Linux kernel 6, however 5.15.0-46 and before worked ok
(since 5.15.0-119 and beyond it does not).

In 6.13.0-rc3 the cause is code in linux-pm/drivers/acpi/resource.c,
function acpi_dev_irq_override which has has a line to return false for AMD Zen
CPU's.
when function returns true, I have a working keyboard again.
After this change the dmesg will have "ACPI: IRQ 1 override to edge, high(!)"

This function also has a table irq1_edge_low_force_override, but its entries
does not match this laptop.

However laptop has sticker at back "TongFang gm5ida", so re-branded and vendor
has changed DMI values DMI_SYS_VENDOR, DMI_SYS_VENDOR, DMI_SYS_VENDOR and
DMI_SYS_VENDOR.


To fix I see different possible solutions:
1. Let the table lists the new vendor "SKIKK.EU" with product "Vanaheim", but
this would lead to many entries if all rebranded laptops would be added.

2. See attachment for a working patch based on array DMI_OEM_STRING having
"GM5HG0A", which seems a original factory value and could match many more
rebranded laptops of this type.
However this would be the first entry using DMI_OEM_STRING search, which might
be unwanted (and expensive to search, as the arrray can be 20 entries big?)

3. There is also a possibility of checking DMI_PRODUCT_SERIAL for prefix
"GM5HG0A", however I could not find a macro to do that (eg DMI_PREFIX_MATCH).

Or is there a better solution?

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to