Re: [regression] Bug 217394 - IRQ override skipping breaks the Aya Neo Air Plus 6800U keyboard buttons

From: Matthew Anderson
Date: Sun May 07 2023 - 10:55:34 EST


On the Ayaneo Air Plus I modified the DSDT based on another handheld with a 6800U that does not have the problem and it resolved the issue. I hope this information helps in some way.

<             Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _HID: Hardware ID
<             Name (_UID, Zero)  // _UID: Unique ID
---
>             Name (_HID, "MSFT0001")  // _HID: Hardware ID
>             Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _CID: Compatible ID
6135c6135
<                 IRQNoFlags ()
---
>                 IRQ (Edge, ActiveLow, Shared, )


On 5/7/23 7:41 AM, Mario Limonciello wrote:

On 5/6/23 03:25, Chuanhong Guo wrote:
Hi Mario!

On Thu, May 4, 2023 at 12:11 AM Limonciello, Mario <mlimonci@xxxxxxx> wrote:
+linux-input

On 5/3/2023 7:58 AM, Linux regression tracking (Thorsten Leemhuis) wrote:
Hi, Thorsten here, the Linux kernel's regression tracker.

I noticed a regression report in bugzilla.kernel.org. As many (most?)
kernel developers don't keep an eye on it, I decided to forward it by mail.

Chuanhong Guo, apparently it's cause by a change of yours.

Note, you have to use bugzilla to reach the reporter, as I sadly[1] can
not CCed them in mails like this.

Quoting from https://bugzilla.kernel.org/show_bug.cgi?id=217394 :

   Matthew 2023-05-03 02:28:33 UTC

Reverting the changes found in this patch fixes the issue:
https://lore.kernel.org/all/20220712020058.90374-1-gch981213@xxxxxxxxx/
With that patch the AT Translated Set 2 Keyboard doesn't show up with the evtest and is not usable.

Hardware:

Aya Neo Air Plus
AMD Ryzen 7 6800U
See the ticket for more details.

BTW: there apparently is another IRQ override needed for a different
machine. See https://bugzilla.kernel.org/show_bug.cgi?id=216804#c8 for
details (ignore the comments before that, the quirk entry for that
machine was merged; comment 8 and all related to it really should have a
separate bug; that's also why this partly fall through the cracks here
:-/ ). The user is currently trying to create a patch.

Something I'm wondering about is if it's possible for i8042 to detect
the polarity is incorrect when it probes and
to try to correct it.

If we could do that we can probably drop 9946e39fe8d0 ("ACPI: resource:
skip IRQ override on AMD Zen platforms")
to fix this issue along with all the other quirks that have collected
over time on i8042 polarity issues.

I don't really understand why there are more and more new laptops
appearing with broken IRQ settings in ACPI, especially considering
the fact that some of these laptops were released after the original
problem was already identified almost a year ago.
What exactly was the solution when AMD internally discovered this IRQ
mismatch problem? Did you guys changed the emulated IRQ polarity
without updating the ACPI table with the corresponding polarity
description in your reference design?

In the reference design the tables are updated to be accurate and
reflect the appropriate polarity.  It seems that the vendors must be
changing this and it not breaking Windows for some reason.