2023-03-22 12:30:04

by Werner Sembach

[permalink] [raw]
Subject: [PATCH] gpiolib: acpi: Add a ignore wakeup quirk for Clevo NL5xNU

commit 1796f808e4bb ("HID: i2c-hid: acpi: Stop setting wakeup_capable")
changed the policy such that I2C touchpads may be able to wake up the
system by default if the system is configured as such.

However on Clevo NL5xNU there is a mistake in the ACPI tables that the
TP_ATTN# signal connected to GPIO 9 is configured as ActiveLow and level
triggered but connected to a pull up. As soon as the system suspends the
touchpad loses power and then the system wakes up.

To avoid this problem, introduce a quirk for this model that will prevent
the wakeup capability for being set for GPIO 9.

This patch is analoge to a very similar patch for NL5xRU, just the DMI
string changed.

Signed-off-by: Werner Sembach <[email protected]>
Cc: [email protected]
---
drivers/gpio/gpiolib-acpi.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 34ff048e70d0e..055013f959b25 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -1624,6 +1624,19 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
.ignore_interrupt = "AMDI0030:00@18",
},
},
+ {
+ /*
+ * Spurious wakeups from TP_ATTN# pin
+ * Found in BIOS 1.7.8
+ * https://gitlab.freedesktop.org/drm/amd/-/issues/1722#note_1720627
+ */
+ .matches = {
+ DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"),
+ },
+ .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
+ .ignore_wake = "ELAN0415:00@9",
+ },
+ },
{
/*
* Spurious wakeups from TP_ATTN# pin
--
2.34.1


2023-03-22 15:09:54

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] gpiolib: acpi: Add a ignore wakeup quirk for Clevo NL5xNU

On Wed, Mar 22, 2023 at 01:15:47PM +0100, Werner Sembach wrote:
> commit 1796f808e4bb ("HID: i2c-hid: acpi: Stop setting wakeup_capable")
> changed the policy such that I2C touchpads may be able to wake up the
> system by default if the system is configured as such.
>
> However on Clevo NL5xNU there is a mistake in the ACPI tables that the
> TP_ATTN# signal connected to GPIO 9 is configured as ActiveLow and level
> triggered but connected to a pull up. As soon as the system suspends the
> touchpad loses power and then the system wakes up.
>
> To avoid this problem, introduce a quirk for this model that will prevent
> the wakeup capability for being set for GPIO 9.
>
> This patch is analoge to a very similar patch for NL5xRU, just the DMI
> string changed.

Fine,
Acked-by: Andy Shevchenko <[email protected]>

> Signed-off-by: Werner Sembach <[email protected]>
> Cc: [email protected]
> ---
> drivers/gpio/gpiolib-acpi.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
> index 34ff048e70d0e..055013f959b25 100644
> --- a/drivers/gpio/gpiolib-acpi.c
> +++ b/drivers/gpio/gpiolib-acpi.c
> @@ -1624,6 +1624,19 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
> .ignore_interrupt = "AMDI0030:00@18",
> },
> },
> + {
> + /*
> + * Spurious wakeups from TP_ATTN# pin
> + * Found in BIOS 1.7.8
> + * https://gitlab.freedesktop.org/drm/amd/-/issues/1722#note_1720627
> + */
> + .matches = {
> + DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"),
> + },
> + .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
> + .ignore_wake = "ELAN0415:00@9",
> + },
> + },
> {
> /*
> * Spurious wakeups from TP_ATTN# pin
> --
> 2.34.1
>

--
With Best Regards,
Andy Shevchenko


2023-03-24 14:06:17

by Bartosz Golaszewski

[permalink] [raw]
Subject: Re: [PATCH] gpiolib: acpi: Add a ignore wakeup quirk for Clevo NL5xNU

On Wed, Mar 22, 2023 at 1:16 PM Werner Sembach <[email protected]> wrote:
>
> commit 1796f808e4bb ("HID: i2c-hid: acpi: Stop setting wakeup_capable")
> changed the policy such that I2C touchpads may be able to wake up the
> system by default if the system is configured as such.
>
> However on Clevo NL5xNU there is a mistake in the ACPI tables that the
> TP_ATTN# signal connected to GPIO 9 is configured as ActiveLow and level
> triggered but connected to a pull up. As soon as the system suspends the
> touchpad loses power and then the system wakes up.
>
> To avoid this problem, introduce a quirk for this model that will prevent
> the wakeup capability for being set for GPIO 9.
>
> This patch is analoge to a very similar patch for NL5xRU, just the DMI
> string changed.
>
> Signed-off-by: Werner Sembach <[email protected]>
> Cc: [email protected]
> ---
> drivers/gpio/gpiolib-acpi.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
> index 34ff048e70d0e..055013f959b25 100644
> --- a/drivers/gpio/gpiolib-acpi.c
> +++ b/drivers/gpio/gpiolib-acpi.c
> @@ -1624,6 +1624,19 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
> .ignore_interrupt = "AMDI0030:00@18",
> },
> },
> + {
> + /*
> + * Spurious wakeups from TP_ATTN# pin
> + * Found in BIOS 1.7.8
> + * https://gitlab.freedesktop.org/drm/amd/-/issues/1722#note_1720627
> + */
> + .matches = {
> + DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"),
> + },
> + .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
> + .ignore_wake = "ELAN0415:00@9",
> + },
> + },
> {
> /*
> * Spurious wakeups from TP_ATTN# pin
> --
> 2.34.1
>

Queued for fixes.

Bart