Public bug reported:

On ASUS TUF A16 it is reported that the ITE5570 ACPI device connected to
GPIO 7 is causing an interrupt storm.  This issue doesn't happen on
Windows.

Comparing the GPIO register configuration between Windows and Linux
bit 20 has been configured as a pull up on Windows, but not on Linux.
Checking GPIO declaration from the firmware it is clear it *should* have
been a pull up on Linux as well.

```
GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
         "\\_SB.GPIO", 0x00, ResourceConsumer, ,)
{   // Pin list
0x0007
}
```

On Linux amd_gpio_set_config() is currently only used for programming
the debounce. Actually the GPIO core calls it with all the arguments
that are supported by a GPIO, pinctrl-amd just responds `-ENOTSUPP`.

To solve this issue expand amd_gpio_set_config() to support the other
arguments amd_pinconf_set() supports, namely `PIN_CONFIG_BIAS_PULL_DOWN`,
`PIN_CONFIG_BIAS_PULL_UP`, and `PIN_CONFIG_DRIVE_STRENGTH`.

Upstream bug in https://bugzilla.kernel.org/show_bug.cgi?id=217336

Related fixes are: (all in linux-next)
* commit 968ab9261627 ("pinctrl: amd: Detect internal GPIO0 debounce handling")
* commit 0d5ace1a07f7 ("pinctrl: amd: Only use special debounce behavior for 
GPIO 0")
* commit 635a750d958e ("pinctrl: amd: Use amd_pinconf_set() for all config 
options")
* commit 3f62312d04d4 ("pinctrl: amd: Drop pull up select configuration")
* commit 283c5ce7da0a ("pinctrl: amd: Unify debounce handling into 
amd_pinconf_set()")

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2027816

Title:
  interrupt storm on GPIO controller on AMD platforms

Status in linux package in Ubuntu:
  New

Bug description:
  On ASUS TUF A16 it is reported that the ITE5570 ACPI device connected to
  GPIO 7 is causing an interrupt storm.  This issue doesn't happen on
  Windows.

  Comparing the GPIO register configuration between Windows and Linux
  bit 20 has been configured as a pull up on Windows, but not on Linux.
  Checking GPIO declaration from the firmware it is clear it *should* have
  been a pull up on Linux as well.

  ```
  GpioInt (Level, ActiveLow, Exclusive, PullUp, 0x0000,
         "\\_SB.GPIO", 0x00, ResourceConsumer, ,)
  {   // Pin list
  0x0007
  }
  ```

  On Linux amd_gpio_set_config() is currently only used for programming
  the debounce. Actually the GPIO core calls it with all the arguments
  that are supported by a GPIO, pinctrl-amd just responds `-ENOTSUPP`.

  To solve this issue expand amd_gpio_set_config() to support the other
  arguments amd_pinconf_set() supports, namely `PIN_CONFIG_BIAS_PULL_DOWN`,
  `PIN_CONFIG_BIAS_PULL_UP`, and `PIN_CONFIG_DRIVE_STRENGTH`.

  Upstream bug in https://bugzilla.kernel.org/show_bug.cgi?id=217336

  Related fixes are: (all in linux-next)
  * commit 968ab9261627 ("pinctrl: amd: Detect internal GPIO0 debounce 
handling")
  * commit 0d5ace1a07f7 ("pinctrl: amd: Only use special debounce behavior for 
GPIO 0")
  * commit 635a750d958e ("pinctrl: amd: Use amd_pinconf_set() for all config 
options")
  * commit 3f62312d04d4 ("pinctrl: amd: Drop pull up select configuration")
  * commit 283c5ce7da0a ("pinctrl: amd: Unify debounce handling into 
amd_pinconf_set()")

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2027816/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to