The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Basavaraj Natikar <bnatikar@amd.com>
To: Marco Scardovi <scardracs@disroot.org>,
	Mika Westerberg <westeri@kernel.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Linus Walleij <linusw@kernel.org>,
	Bartosz Golaszewski <brgl@kernel.org>
Cc: Mario Limonciello <mario.limonciello@amd.com>,
	linux-gpio@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] gpiolib: acpi: Add quirk for ASUS ROG Strix G614 series
Date: Thu, 18 Jun 2026 00:04:14 +0530	[thread overview]
Message-ID: <221cd70d-70f9-4d01-8e8c-b4a5b347b8b9@amd.com> (raw)
In-Reply-To: <20260616090824.5967-1-scardracs@disroot.org>

hi,

On 6/16/2026 2:38 PM, Marco Scardovi wrote:
> The ASUS ROG Strix G16 G614 series laptops experience a long boot delay of
> approximately 36 seconds. This happens because the system firmware triggers
> a slow/hanging ActiveBoth GPIO interrupt handler at boot time.
>
> Even though commit 3bb62e3f99a5 ("gpiolib: acpi: Only trigger ActiveBoth
> interrupts on boot") restricted boot-time execution to ActiveBoth edge
> events, the problematic interrupt on these laptops is configured as
> ActiveBoth. Consequently, the handler is still executed at boot and
> the boot process stalls.
>
> Fix the delay by adding a DMI quirk to disable edge event execution at
> boot for the ASUS ROG Strix G16 G614 family.

Could you reword the commit message to explain the actual mechanism?
Something like:

On ASUS ROG Strix G16 G614 series laptops, the firmware leaves this
ActiveBoth GPIO line asserted (logic low) at boot. Per the boot-time
initial-state logic, an ActiveBoth interrupt found low is replayed
once to sync its initial state, which calls the handler synchronously
in the probe path. On these laptops that interrupt handler is slow/hanging,
so the synchronous call blocks for ~36 s and stalls boot.

It's also worth noting that commit 3bb62e3f99a5 already restricts the
boot-time replay to ActiveBoth interrupts that are asserted (low) — the pin
on ASUS ROG Strix G16 G614 series laptops meets exactly that condition,
which is why it still triggers. Disabling edge_events_on_boot via the
DMI quirk is therefore the right workaround for these laptops.

Thanks,
--
Basavaraj

>
> Assisted-by: Antigravity:gemini-3.5-flash
> Signed-off-by: Marco Scardovi <scardracs@disroot.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 a0116f004975..fa0f03bd51af 100644
> --- a/drivers/gpio/gpiolib-acpi-quirks.c
> +++ b/drivers/gpio/gpiolib-acpi-quirks.c
> @@ -392,6 +392,20 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] __initconst = {
>   			.ignore_wake = "VEN_0488:00@355",
>   		},
>   	},
> +	{
> +		/*
> +		 * ASUS ROG Strix G614 series laptops experience a long boot
> +		 * delay (approx. 36 seconds) due to a slow/hanging ActiveBoth
> +		 * GPIO interrupt handler executing at boot.
> +		 */
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "ROG Strix G16 G614"),
> +		},
> +		.driver_data = &(struct acpi_gpiolib_dmi_quirk) {
> +			.no_edge_events_on_boot = true,
> +		},
> +	},
>   	{} /* Terminating entry */
>   };
>   


  parent reply	other threads:[~2026-06-17 18:34 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-16  9:08 [PATCH] gpiolib: acpi: Add quirk for ASUS ROG Strix G614 series Marco Scardovi
2026-06-16  9:31 ` Andy Shevchenko
2026-06-16  9:43   ` Marco Scardovi
2026-06-16  9:58     ` Andy Shevchenko
2026-06-16 10:24       ` Mika Westerberg
2026-06-16 10:58         ` Marco Scardovi
2026-06-16 11:04           ` Andy Shevchenko
2026-06-17  8:51             ` Marco Scardovi
2026-06-17  8:52             ` Marco Scardovi
2026-06-17 18:34 ` Basavaraj Natikar [this message]
2026-06-17 18:50   ` [PATCH v2 0/1] gpiolib: acpi: Add quirk for ASUS ROG Strix G16 " Marco Scardovi
2026-06-17 18:50     ` [PATCH v2 1/1] " Marco Scardovi
2026-06-17 21:23     ` [PATCH v2 0/1] " Armin Wolf
2026-06-17 23:14       ` Marco Scardovi
2026-06-18 13:16         ` Basavaraj Natikar
2026-06-18 14:35           ` Andy Shevchenko
2026-06-18 16:59             ` Marco Scardovi
2026-06-18 18:01               ` Andy Shevchenko
2026-06-18 18:07                 ` Marco Scardovi
2026-06-19 10:17                   ` Basavaraj Natikar
2026-06-19 10:28                     ` Marco Scardovi
2026-06-20  6:52                       ` Andy Shevchenko
2026-06-20  7:20                         ` Marco Scardovi
2026-06-21  7:58                           ` Mario Limonciello
2026-06-21 11:00     ` Hans de Goede
2026-06-21 12:38       ` Marco Scardovi
2026-06-24 14:42       ` Armin Wolf
2026-06-24 17:49         ` Marco Scardovi
2026-06-25  6:08           ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=221cd70d-70f9-4d01-8e8c-b4a5b347b8b9@amd.com \
    --to=bnatikar@amd.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=brgl@kernel.org \
    --cc=linusw@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=scardracs@disroot.org \
    --cc=westeri@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox