[PATCH] gpiolib: acpi: Disable edge events on boot on ASUS ROG Strix G16 G614PP

francesco.lauritano1@protonmail.com posted 1 patch 1 month, 3 weeks ago
drivers/gpio/gpiolib-acpi-quirks.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
[PATCH] gpiolib: acpi: Disable edge events on boot on ASUS ROG Strix G16 G614PP
Posted by francesco.lauritano1@protonmail.com 1 month, 3 weeks ago
From: Francesco Lauritano <francesco.lauritano1@protonmail.com>

On the ASUS ROG Strix G16 G614PP (2025), the kernel can stall for ~36
seconds during late init in acpi_gpio_handle_deferred_request_irqs().

Booting with gpiolib_acpi.run_edge_events_on_boot=0 avoids the stall and
restores normal boot times.

Add a DMI quirk to disable edge events on boot by default on this model.

Link: https://lore.kernel.org/platform-driver-x86/6iFCwGH2vssb7NRUTWGpkubGMNbgIlBHSz40z8ZsezjxngXpoiiRiJaijviNvhiDAGIr43bfUmdxLmxYoHDjyft4DgwFc3Pnu5hzPguTa0s=@protonmail.com/

Tested-by: Francesco Lauritano <francesco.lauritano1@protonmail.com>
Signed-off-by: Francesco Lauritano <francesco.lauritano1@protonmail.com>
---
 drivers/gpio/gpiolib-acpi-quirks.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/gpio/gpiolib-acpi-quirks.c b/drivers/gpio/gpiolib-acpi-quirks.c
index a0116f004..763dd3cbd 100644
--- a/drivers/gpio/gpiolib-acpi-quirks.c
+++ b/drivers/gpio/gpiolib-acpi-quirks.c
@@ -370,6 +370,22 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
 			.ignore_wake = "ASCP1A00:00@8",
 		},
 	},
+	{
+		/*
+		 * The ASUS ROG Strix G16 (2025) has a buggy ACPI GPIO configuration
+		 * causing acpi_gpio_handle_deferred_request_irqs() to stall for
+		 * ~36 seconds during boot.
+		 *
+		 * Found in BIOS G614PP.307.
+		 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "ROG Strix G16 G614PP_G614PP"),
+		},
+		.driver_data = &(struct acpi_gpiolib_dmi_quirk) {
+			.no_edge_events_on_boot = true,
+		},
+	},
 	{
 		/*
 		 * Spurious wakeups, likely from touchpad controller
-- 
2.52.0
Re: [PATCH] gpiolib: acpi: Disable edge events on boot on ASUS ROG Strix G16 G614PP
Posted by Mika Westerberg 1 month, 3 weeks ago
Hi,

On Wed, Dec 17, 2025 at 12:01:52PM +0000, francesco.lauritano1@protonmail.com wrote:
> From: Francesco Lauritano <francesco.lauritano1@protonmail.com>
> 
> On the ASUS ROG Strix G16 G614PP (2025), the kernel can stall for ~36
> seconds during late init in acpi_gpio_handle_deferred_request_irqs().
> 
> Booting with gpiolib_acpi.run_edge_events_on_boot=0 avoids the stall and
> restores normal boot times.

Okay but it might just accidentally "work" and hides the real issue. Doing
things like this blindly might end up breaking something that relies on
that _AEI.

Can you post full dmesg and acpipdump somewhere so we can try to figure out
what is going on?

> Add a DMI quirk to disable edge events on boot by default on this model.
> 
> Link: https://lore.kernel.org/platform-driver-x86/6iFCwGH2vssb7NRUTWGpkubGMNbgIlBHSz40z8ZsezjxngXpoiiRiJaijviNvhiDAGIr43bfUmdxLmxYoHDjyft4DgwFc3Pnu5hzPguTa0s=@protonmail.com/
> 
> Tested-by: Francesco Lauritano <francesco.lauritano1@protonmail.com>
> Signed-off-by: Francesco Lauritano <francesco.lauritano1@protonmail.com>
> ---
>  drivers/gpio/gpiolib-acpi-quirks.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/drivers/gpio/gpiolib-acpi-quirks.c b/drivers/gpio/gpiolib-acpi-quirks.c
> index a0116f004..763dd3cbd 100644
> --- a/drivers/gpio/gpiolib-acpi-quirks.c
> +++ b/drivers/gpio/gpiolib-acpi-quirks.c
> @@ -370,6 +370,22 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
>  			.ignore_wake = "ASCP1A00:00@8",
>  		},
>  	},
> +	{
> +		/*
> +		 * The ASUS ROG Strix G16 (2025) has a buggy ACPI GPIO configuration
> +		 * causing acpi_gpio_handle_deferred_request_irqs() to stall for
> +		 * ~36 seconds during boot.
> +		 *
> +		 * Found in BIOS G614PP.307.
> +		 */
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "ROG Strix G16 G614PP_G614PP"),
> +		},
> +		.driver_data = &(struct acpi_gpiolib_dmi_quirk) {
> +			.no_edge_events_on_boot = true,
> +		},
> +	},
>  	{
>  		/*
>  		 * Spurious wakeups, likely from touchpad controller
> -- 
> 2.52.0
>
Re: [PATCH] gpiolib: acpi: Disable edge events on boot on ASUS ROG Strix G16 G614PP
Posted by Francesco Lauritano 1 month, 3 weeks ago
Hi Mika,

Thanks for looking into this. Happy to dig deeper.

Here are the requested dumps (boot with initcall_debug, no workaround):

dmesg: https://gist.github.com/kylan11/63ec3ec319cd6bcaa043fa0b1366965a

acpidump: https://gist.githubusercontent.com/kylan11/7956bbf75714265107f0886f6ed2a381/raw/1614845eb1dc6ab7e2effb6fe56b585a746abe4f/gistfile1.txt

Some quick notes:
- The AMD GPIO controller probes successfully (LINE 2077)

- The hang occurs in the deferred IRQ handler (line 2960)

- There are some ACPI errors around 0.285373 to 0.289806, though they complete quickly

- After the 36-second hang, everything else initializes normally. 
touchpad, audio, wifi, nvidia GPU all work fine.

The ACPI tables show there's a _AEI method under \_SB_GPIO. Not sure if those
unresolved GPP2/GPP7 references are related to what's blocking the deferred
IRQ handler, or if it's something else entirely.

Let me know if you need anything else or want me to test something specific.

Thanks,
Francesco


On Wednesday, December 17th, 2025 at 2:08 PM, Mika Westerberg <mika.westerberg@linux.intel.com> wrote:

> Hi,
> 
> On Wed, Dec 17, 2025 at 12:01:52PM +0000, francesco.lauritano1@protonmail.com wrote:
> 
> > From: Francesco Lauritano francesco.lauritano1@protonmail.com
> > 
> > On the ASUS ROG Strix G16 G614PP (2025), the kernel can stall for ~36
> > seconds during late init in acpi_gpio_handle_deferred_request_irqs().
> > 
> > Booting with gpiolib_acpi.run_edge_events_on_boot=0 avoids the stall and
> > restores normal boot times.
> 
> 
> Okay but it might just accidentally "work" and hides the real issue. Doing
> things like this blindly might end up breaking something that relies on
> that _AEI.
> 
> Can you post full dmesg and acpipdump somewhere so we can try to figure out
> what is going on?
> 
> > Add a DMI quirk to disable edge events on boot by default on this model.
> > 
> > Link: https://lore.kernel.org/platform-driver-x86/6iFCwGH2vssb7NRUTWGpkubGMNbgIlBHSz40z8ZsezjxngXpoiiRiJaijviNvhiDAGIr43bfUmdxLmxYoHDjyft4DgwFc3Pnu5hzPguTa0s=@protonmail.com/
> > 
> > Tested-by: Francesco Lauritano francesco.lauritano1@protonmail.com
> > Signed-off-by: Francesco Lauritano francesco.lauritano1@protonmail.com
> > ---
> > drivers/gpio/gpiolib-acpi-quirks.c | 16 ++++++++++++++++
> > 1 file changed, 16 insertions(+)
> > 
> > diff --git a/drivers/gpio/gpiolib-acpi-quirks.c b/drivers/gpio/gpiolib-acpi-quirks.c
> > index a0116f004..763dd3cbd 100644
> > --- a/drivers/gpio/gpiolib-acpi-quirks.c
> > +++ b/drivers/gpio/gpiolib-acpi-quirks.c
> > @@ -370,6 +370,22 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
> > .ignore_wake = "ASCP1A00:00@8",
> > },
> > },
> > + {
> > + /*
> > + * The ASUS ROG Strix G16 (2025) has a buggy ACPI GPIO configuration
> > + * causing acpi_gpio_handle_deferred_request_irqs() to stall for
> > + * ~36 seconds during boot.
> > + *
> > + * Found in BIOS G614PP.307.
> > + /
> > + .matches = {
> > + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
> > + DMI_MATCH(DMI_PRODUCT_NAME, "ROG Strix G16 G614PP_G614PP"),
> > + },
> > + .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
> > + .no_edge_events_on_boot = true,
> > + },
> > + },
> > {
> > /
> > * Spurious wakeups, likely from touchpad controller
> > --
> > 2.52.0
Re: [PATCH] gpiolib: acpi: Disable edge events on boot on ASUS ROG Strix G16 G614PP
Posted by Andy Shevchenko 1 month, 1 week ago
On Wed, Dec 17, 2025 at 02:01:51PM +0000, Francesco Lauritano wrote:
> 
> Thanks for looking into this. Happy to dig deeper.
> 
> Here are the requested dumps (boot with initcall_debug, no workaround):

(Usually we also use `ignore_loglevel`, but I think dmesg should have it anyway.)

> dmesg: https://gist.github.com/kylan11/63ec3ec319cd6bcaa043fa0b1366965a
> 
> acpidump: https://gist.githubusercontent.com/kylan11/7956bbf75714265107f0886f6ed2a381/raw/1614845eb1dc6ab7e2effb6fe56b585a746abe4f/gistfile1.txt

> Some quick notes:
> - The AMD GPIO controller probes successfully (LINE 2077)
> 
> - The hang occurs in the deferred IRQ handler (line 2960)
> 
> - There are some ACPI errors around 0.285373 to 0.289806, though they complete quickly

This looks like related to USB4 (thubderbolt) dock? Mika, does it look familiar?

> - After the 36-second hang, everything else initializes normally.
> touchpad, audio, wifi, nvidia GPU all work fine.
> 
> The ACPI tables show there's a _AEI method under \_SB_GPIO. Not sure if those
> unresolved GPP2/GPP7 references are related to what's blocking the deferred
> IRQ handler, or if it's something else entirely.
> 
> Let me know if you need anything else or want me to test something specific.
> 
> On Wednesday, December 17th, 2025 at 2:08 PM, Mika Westerberg <mika.westerberg@linux.intel.com> wrote:
> > On Wed, Dec 17, 2025 at 12:01:52PM +0000, francesco.lauritano1@protonmail.com wrote:
> > 
> > > On the ASUS ROG Strix G16 G614PP (2025), the kernel can stall for ~36
> > > seconds during late init in acpi_gpio_handle_deferred_request_irqs().
> > > 
> > > Booting with gpiolib_acpi.run_edge_events_on_boot=0 avoids the stall and
> > > restores normal boot times.
> > 
> > Okay but it might just accidentally "work" and hides the real issue. Doing
> > things like this blindly might end up breaking something that relies on
> > that _AEI.
> > 
> > Can you post full dmesg and acpipdump somewhere so we can try to figure out
> > what is going on?

> > > Link: https://lore.kernel.org/platform-driver-x86/6iFCwGH2vssb7NRUTWGpkubGMNbgIlBHSz40z8ZsezjxngXpoiiRiJaijviNvhiDAGIr43bfUmdxLmxYoHDjyft4DgwFc3Pnu5hzPguTa0s=@protonmail.com/

Not sure what this means. Maybe better tag like Closes should be used?

> > > Tested-by: Francesco Lauritano francesco.lauritano1@protonmail.com

This is implied that the author of the patch tested it before sending.

> > > Signed-off-by: Francesco Lauritano francesco.lauritano1@protonmail.com

-- 
With Best Regards,
Andy Shevchenko