Re: [PATCH v4] pinctrl: amd: remove debounce filter setting in IRQ type setting

From: Andy Shevchenko
Date: Wed Nov 25 2020 - 08:23:34 EST


On Wed, Nov 25, 2020 at 3:03 PM Coiby Xu <coiby.xu@xxxxxxxxx> wrote:
>
> Debounce filter setting should be independent from IRQ type setting
> because according to the ACPI specs, there are separate arguments for
> specifying debounce timeout and IRQ type in GpioIo() and GpioInt().
>
> Together with commit 06abe8291bc31839950f7d0362d9979edc88a666
> ("pinctrl: amd: fix incorrect way to disable debounce filter") and
> Andy's patch "gpiolib: acpi: Take into account debounce settings" [1],
> this will fix broken touchpads for laptops whose BIOS set the
> debounce timeout to a relatively large value. For example, the BIOS
> of Lenovo AMD gaming laptops including Legion-5 15ARH05 (R7000),
> Legion-5P (R7000P) and IdeaPad Gaming 3 15ARH05, set the debounce
> timeout to 124.8ms. This led to the kernel receiving only ~7 HID
> reports per second from the Synaptics touchpad
> (MSFT0001:00 06CB:7F28).
>
> Existing touchpads like [2][3] are not troubled by this bug because
> the debounce timeout has been set to 0 by the BIOS before enabling
> the debounce filter in setting IRQ type.
>
> [1] https://lore.kernel.org/linux-gpio/20201111222008.39993-11-andriy.shevchenko@xxxxxxxxxxxxxxx/

JFYI: this is nowadays
8dcb7a15a585 ("gpiolib: acpi: Take into account debounce settings")

(No need to recend, just an information that can be applied maybe by Linus)

> [2] https://github.com/Syniurge/i2c-amd-mp2/issues/11#issuecomment-721331582
> [3] https://forum.manjaro.org/t/random-short-touchpad-freezes/30832/28

--
With Best Regards,
Andy Shevchenko