mbox series

[v2,0/4] Fix for interrupt storm on ASUS TUF A16

Message ID 20230705133005.577-1-mario.limonciello@amd.com
Headers show
Series Fix for interrupt storm on ASUS TUF A16 | expand

Message

Mario Limonciello July 5, 2023, 1:30 p.m. UTC
An interrupt storm is reported for the GPIO controller on ASUS TUF A16
but only on Linux.  In comparing the GPIO registers from Windows and
Linux the configuration for several bits specified in _AEI() was never
actually loaded into the hardware on Linux.

This meant that many values were taking the default hardware strapping
for pull up/pull down.

This series reworks the programming of various bits to unify the
expectations for the hardware.

It's confirmed to fix the interrupt storm on this system.
This series is based off of the tag pinctrl-v6.5-1.

v1->v2:
 * Update for Andy's feedback

Mario Limonciello (4):
  pinctrl: amd: Only use special debounce behavior for GPIO 0
  pinctrl: amd: Use amd_pinconf_set() for all config options
  pinctrl: amd: Drop pull up select configuration
  pinctrl: amd: Unify debounce handling into amd_pinconf_set()

 drivers/pinctrl/pinctrl-amd.c | 61 +++++++++++++----------------------
 drivers/pinctrl/pinctrl-amd.h |  1 -
 2 files changed, 23 insertions(+), 39 deletions(-)

base-commit: 9f0648f13e34a01f2e1a7a0d5801988a7bca6988

Comments

Linus Walleij July 7, 2023, 1:50 p.m. UTC | #1
On Wed, Jul 5, 2023 at 3:30 PM Mario Limonciello
<mario.limonciello@amd.com> wrote:

> An interrupt storm is reported for the GPIO controller on ASUS TUF A16
> but only on Linux.  In comparing the GPIO registers from Windows and
> Linux the configuration for several bits specified in _AEI() was never
> actually loaded into the hardware on Linux.

I queued this up for fixes as it looks pretty urgent, perhaps I will
even send it to Torvalds before -rc1 if there is positive feedback.

Yours,
Linus Walleij
Mario Limonciello July 7, 2023, 2:09 p.m. UTC | #2
On 7/7/2023 08:50, Linus Walleij wrote:
> On Wed, Jul 5, 2023 at 3:30 PM Mario Limonciello
> <mario.limonciello@amd.com> wrote:
> 
>> An interrupt storm is reported for the GPIO controller on ASUS TUF A16
>> but only on Linux.  In comparing the GPIO registers from Windows and
>> Linux the configuration for several bits specified in _AEI() was never
>> actually loaded into the hardware on Linux.
> 
> I queued this up for fixes as it looks pretty urgent, perhaps I will
> even send it to Torvalds before -rc1 if there is positive feedback.
> 
> Yours,
> Linus Walleij

Appreciated, thanks!

To all those that reported this issue, the branch that has all the fixes 
committed is:

https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/log/?h=fixes

If you can please check this out and confirm everything works as intended.
It should - the patch was split up into 4 but the meat should be the same.
Jan Visser July 10, 2023, 5:49 p.m. UTC | #3
This fixes keyboard issues on my Asus TUF Gaming A16 Advantage Edition FA617NS-N3085W

Thanks!

Tested-by: Jan Visser <starquake@linuxeverywhere.org>