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

Ni (ran...@gmail.com) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ran...@gmail.com

--- Comment #3 from Ni (ran...@gmail.com) ---
Just as I was about to click submit on my own report... I'll just copy and
paste it here then
--------------------

Link to #217718 and coup of others, but given the situation of things, I
thought it could be more appropriate if I file a report specifically for my
machine model.

Last year, I've successfully tested and published a diff on
https://bbs.archlinux.org/viewtopic.php?pid=2045467#p2045467. However, in my
more recent (hours ago) test, Lenovo has changed the `DMI_BOARD_NAME` value to
`21EF0002CD`, so created a new diff based on kernel `6.4.8` and attached it as
the last section of this comment.

I've already confirmed that my modification fixed the keyboard and trackpoint
situation. But I do hope that someone give it a closer look because the
modification is a little different compare to the others, notably:

1. I have to add two items into `override_table`, one for `irq` 1 and one for
12, in order to make both the keyboard and trackpoint to work. Which is
different compare to other items listed (they only added one for `irq` 1). I've
confirmed that only add `irq` 1 don't fix my keyboard neither trackpoint.
2. In my case, I have to use `ACPI_EDGE_SENSITIVE` instead of
`ACPI_LEVEL_SENSITIVE` for `triggering`. `ACPI_LEVEL_SENSITIVE` don't match my
machine.

Here is notable messages before I applied my patch (and they no longer appear
after my patch):
[    0.284061] ACPI: IRQ 1 override to edge, high(!)
[    0.284069] ACPI: IRQ 12 override to edge, high(!)

And here is some information produced by `dmidecode`:
$ sudo dmidecode -t system
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0014, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 21EF0002CD
        Version: ThinkPad neo 14
        Serial Number: <reduced>
        UUID: <reduced>
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_21EF_BU_Think_FM_ThinkPad neo 14
        Family: ThinkPad neo 14

$ sudo dmidecode -t baseboard
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0015, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: LENOVO
        Product Name: 21EF0002CD
        Version: ThinkPad
        Serial Number: <reduced>
        Asset Tag: Not Available
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: Not Available
        Chassis Handle: 0x0016
        Type: Motherboard
        Contained Object Handles: 0

--------------------

$ git diff -- drivers/acpi/resource.c 
diff --git a/drivers/acpi/resource.c b/drivers/acpi/resource.c
index 1dd8d5aeb..c2419b020 100644
--- a/drivers/acpi/resource.c
+++ b/drivers/acpi/resource.c
@@ -481,6 +481,17 @@ static const struct dmi_system_id lg_laptop[] = {
        { }
 };

+static const struct dmi_system_id thinkpad_laptop[] = {
+       {
+               .ident = "ThinkPad neo 14",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+                       DMI_MATCH(DMI_BOARD_NAME, "21EF0002CD"),
+               },
+       },
+       { }
+};
+
 struct irq_override_cmp {
        const struct dmi_system_id *system;
        unsigned char irq;
@@ -494,6 +505,8 @@ 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 },
        { lg_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
+       { thinkpad_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 0, false },
+       { thinkpad_laptop, 12, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 0, false
},
 };

 static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,

-- 
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