linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13
@ 2025-08-14 18:34 Mario Limonciello (AMD)
  2025-08-14 18:34 ` [PATCH 2/2] pinctrl: amd: Add PM debugging message for turning on/off wakes Mario Limonciello (AMD)
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Mario Limonciello (AMD) @ 2025-08-14 18:34 UTC (permalink / raw)
  To: Andy Shevchenko, Linus Walleij, Bartosz Golaszewski
  Cc: Mika Westerberg, open list:GPIO ACPI SUPPORT,
	open list:GPIO ACPI SUPPORT,
	open list:INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN)...,
	Mario Limonciello (AMD), Amit Chaudhari

The ASUS ProArt PX13 has a spurious wakeup event from the touchpad
a few moments after entering hardware sleep.  This can be avoided
by preventing the touchpad from being a wake source.

Add to the wakeup ignore list.

Reported-by: Amit Chaudhari <amitchaudhari@mac.com>
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4482
Tested-by: Amit Chaudhari <amitchaudhari@mac.com>
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
---
 drivers/gpio/gpiolib-acpi-quirks.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/drivers/gpio/gpiolib-acpi-quirks.c b/drivers/gpio/gpiolib-acpi-quirks.c
index c13545dce3492..bfb04e67c4bc8 100644
--- a/drivers/gpio/gpiolib-acpi-quirks.c
+++ b/drivers/gpio/gpiolib-acpi-quirks.c
@@ -344,6 +344,20 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
 			.ignore_interrupt = "AMDI0030:00@8",
 		},
 	},
+	{
+		/*
+		 * Spurious wakeups from TP_ATTN# pin
+		 * Found in BIOS 5.35
+		 * https://gitlab.freedesktop.org/drm/amd/-/issues/4482
+		 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+			DMI_MATCH(DMI_PRODUCT_FAMILY, "ProArt PX13"),
+		},
+		.driver_data = &(struct acpi_gpiolib_dmi_quirk) {
+			.ignore_wake = "ASCP1A00:00@8",
+		},
+	},
 	{} /* Terminating entry */
 };
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] pinctrl: amd: Add PM debugging message for turning on/off wakes
  2025-08-14 18:34 [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13 Mario Limonciello (AMD)
@ 2025-08-14 18:34 ` Mario Limonciello (AMD)
  2025-08-20 13:45   ` Andy Shevchenko
  2025-08-15  6:45 ` [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13 Mika Westerberg
  2025-08-19 12:16 ` Linus Walleij
  2 siblings, 1 reply; 6+ messages in thread
From: Mario Limonciello (AMD) @ 2025-08-14 18:34 UTC (permalink / raw)
  To: Andy Shevchenko, Linus Walleij, Bartosz Golaszewski
  Cc: Mika Westerberg, open list:GPIO ACPI SUPPORT,
	open list:GPIO ACPI SUPPORT,
	open list:INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN)...,
	Mario Limonciello (AMD)

The GPIOs for devices not in _AEI/_EVT such as touchpad or touchscreen
won't have wakeup turned on until the suspend sequence starts.

Due to code in amd_gpio_suspend_hibernate_common() masking the interrupt
can make this difficult to follow what's going on.  Add an explicit
debugging message to tell when that was turned on/off.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
---
 drivers/pinctrl/pinctrl-amd.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
index 09a5425d54ba3..127eeb0104d85 100644
--- a/drivers/pinctrl/pinctrl-amd.c
+++ b/drivers/pinctrl/pinctrl-amd.c
@@ -448,6 +448,9 @@ static int amd_gpio_irq_set_wake(struct irq_data *d, unsigned int on)
 	u32 wake_mask = BIT(WAKE_CNTRL_OFF_S0I3) | BIT(WAKE_CNTRL_OFF_S3);
 	int err;
 
+	pm_pr_dbg("Setting wake for GPIO %lu to %s\n",
+		   d->hwirq, str_enable_disable(on));
+
 	raw_spin_lock_irqsave(&gpio_dev->lock, flags);
 	pin_reg = readl(gpio_dev->base + (d->hwirq)*4);
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13
  2025-08-14 18:34 [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13 Mario Limonciello (AMD)
  2025-08-14 18:34 ` [PATCH 2/2] pinctrl: amd: Add PM debugging message for turning on/off wakes Mario Limonciello (AMD)
@ 2025-08-15  6:45 ` Mika Westerberg
  2025-08-19 12:16 ` Linus Walleij
  2 siblings, 0 replies; 6+ messages in thread
From: Mika Westerberg @ 2025-08-15  6:45 UTC (permalink / raw)
  To: Mario Limonciello (AMD)
  Cc: Andy Shevchenko, Linus Walleij, Bartosz Golaszewski,
	Mika Westerberg, open list:GPIO ACPI SUPPORT,
	open list:GPIO ACPI SUPPORT,
	open list:INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN)...,
	Amit Chaudhari

On Thu, Aug 14, 2025 at 01:34:29PM -0500, Mario Limonciello (AMD) wrote:
> The ASUS ProArt PX13 has a spurious wakeup event from the touchpad
> a few moments after entering hardware sleep.  This can be avoided
> by preventing the touchpad from being a wake source.
> 
> Add to the wakeup ignore list.
> 
> Reported-by: Amit Chaudhari <amitchaudhari@mac.com>
> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4482
> Tested-by: Amit Chaudhari <amitchaudhari@mac.com>
> Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>

Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13
  2025-08-14 18:34 [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13 Mario Limonciello (AMD)
  2025-08-14 18:34 ` [PATCH 2/2] pinctrl: amd: Add PM debugging message for turning on/off wakes Mario Limonciello (AMD)
  2025-08-15  6:45 ` [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13 Mika Westerberg
@ 2025-08-19 12:16 ` Linus Walleij
  2025-08-20 13:46   ` Andy Shevchenko
  2 siblings, 1 reply; 6+ messages in thread
From: Linus Walleij @ 2025-08-19 12:16 UTC (permalink / raw)
  To: Mario Limonciello (AMD)
  Cc: Andy Shevchenko, Bartosz Golaszewski, Mika Westerberg,
	open list:GPIO ACPI SUPPORT, open list:GPIO ACPI SUPPORT,
	open list:INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN)...,
	Amit Chaudhari

On Thu, Aug 14, 2025 at 8:34 PM Mario Limonciello (AMD)
<superm1@kernel.org> wrote:

> The ASUS ProArt PX13 has a spurious wakeup event from the touchpad
> a few moments after entering hardware sleep.  This can be avoided
> by preventing the touchpad from being a wake source.
>
> Add to the wakeup ignore list.
>
> Reported-by: Amit Chaudhari <amitchaudhari@mac.com>
> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4482
> Tested-by: Amit Chaudhari <amitchaudhari@mac.com>
> Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>

Bartosz is on vacation and this patch series is half-pinctrl so I applied this
and patch 2/2 for pin control fixes.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] pinctrl: amd: Add PM debugging message for turning on/off wakes
  2025-08-14 18:34 ` [PATCH 2/2] pinctrl: amd: Add PM debugging message for turning on/off wakes Mario Limonciello (AMD)
@ 2025-08-20 13:45   ` Andy Shevchenko
  0 siblings, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2025-08-20 13:45 UTC (permalink / raw)
  To: Mario Limonciello (AMD)
  Cc: Linus Walleij, Bartosz Golaszewski, Mika Westerberg,
	open list:GPIO ACPI SUPPORT, open list:GPIO ACPI SUPPORT,
	open list:INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN)...

On Thu, Aug 14, 2025 at 01:34:30PM -0500, Mario Limonciello (AMD) wrote:
> The GPIOs for devices not in _AEI/_EVT such as touchpad or touchscreen
> won't have wakeup turned on until the suspend sequence starts.
> 
> Due to code in amd_gpio_suspend_hibernate_common() masking the interrupt
> can make this difficult to follow what's going on.  Add an explicit
> debugging message to tell when that was turned on/off.

...

> +	pm_pr_dbg("Setting wake for GPIO %lu to %s\n",
> +		   d->hwirq, str_enable_disable(on));

Can you send a follow up to move from dereference to an API for hwirq?


-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13
  2025-08-19 12:16 ` Linus Walleij
@ 2025-08-20 13:46   ` Andy Shevchenko
  0 siblings, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2025-08-20 13:46 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Mario Limonciello (AMD), Bartosz Golaszewski, Mika Westerberg,
	open list:GPIO ACPI SUPPORT, open list:GPIO ACPI SUPPORT,
	open list:INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN)...,
	Amit Chaudhari

On Tue, Aug 19, 2025 at 02:16:28PM +0200, Linus Walleij wrote:
> On Thu, Aug 14, 2025 at 8:34 PM Mario Limonciello (AMD)
> <superm1@kernel.org> wrote:
> 
> > The ASUS ProArt PX13 has a spurious wakeup event from the touchpad
> > a few moments after entering hardware sleep.  This can be avoided
> > by preventing the touchpad from being a wake source.
> >
> > Add to the wakeup ignore list.
> >
> > Reported-by: Amit Chaudhari <amitchaudhari@mac.com>
> > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4482
> > Tested-by: Amit Chaudhari <amitchaudhari@mac.com>
> > Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
> 
> Bartosz is on vacation and this patch series is half-pinctrl so I applied this
> and patch 2/2 for pin control fixes.

I also was on vacation and become to full speed next week. But series is fine,
just one nit-pick I commented on, it can be addressed in a separate followup.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-08-20 13:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-14 18:34 [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13 Mario Limonciello (AMD)
2025-08-14 18:34 ` [PATCH 2/2] pinctrl: amd: Add PM debugging message for turning on/off wakes Mario Limonciello (AMD)
2025-08-20 13:45   ` Andy Shevchenko
2025-08-15  6:45 ` [PATCH 1/2] gpiolib: acpi: Add quirk for ASUS ProArt PX13 Mika Westerberg
2025-08-19 12:16 ` Linus Walleij
2025-08-20 13:46   ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).