public inbox for linux-gpio@vger.kernel.org
 help / color / mirror / Atom feed
From: Armin Wolf <W_Armin@gmx.de>
To: Marco Scardovi <mscardovi95@gmail.com>,
	Mario Limonciello <superm1@kernel.org>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Hans de Goede <hansg@kernel.org>
Cc: Francesco Lauritano <francesco.lauritano1@protonmail.com>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"open list:GPIO ACPI SUPPORT" <linux-gpio@vger.kernel.org>,
	"platform-driver-x86@vger.kernel.org"
	<platform-driver-x86@vger.kernel.org>,
	"westeri@kernel.org" <westeri@kernel.org>,
	Benjamin Tissoires <bentiss@kernel.org>
Subject: Re: [BUG] 36-second boot delay due to by acpi_gpio_handle_deferred_request_irqs on ASUS ROG Strix G16 (2025)
Date: Fri, 24 Apr 2026 22:02:59 +0200	[thread overview]
Message-ID: <a2a187d9-363c-48fe-8301-6a199366c478@gmx.de> (raw)
In-Reply-To: <f72a1da5-2cc1-4e08-9441-ea252062b4e5@gmail.com>

Am 23.04.26 um 19:46 schrieb Marco Scardovi:

>
> On 4/23/26 07:15, Mario Limonciello wrote:
>> On 4/22/26 23:42, Mika Westerberg wrote:
>>> Hi,
>>>
>>> On Wed, Apr 22, 2026 at 02:08:29PM +0200, Marco Scardovi wrote:
>>>>>> Assuming all the variants suffer the same problem would it be ok 
>>>>>> to use a
>>>>>> wildcard for it?
>>>>> Yeah, we could expand it to all "ROG Strix G16" I think:
>>>>>
>>>>> diff --git a/drivers/gpio/gpiolib-acpi-quirks.c 
>>>>> b/drivers/gpio/gpiolib-acpi-quirks.c
>>>>> index a0116f004975..e3a6111854e8 100644
>>>>> --- a/drivers/gpio/gpiolib-acpi-quirks.c
>>>>> +++ b/drivers/gpio/gpiolib-acpi-quirks.c
>>>>> @@ -392,6 +392,23 @@ static const struct dmi_system_id 
>>>>> gpiolib_acpi_quirks[] __initconst = {
>>>>>                .ignore_wake = "VEN_0488:00@355",
>>>>>            },
>>>>>        },
>>>>> +    {
>>>>> +        /*
>>>>> +         * The ASUS ROG Strix G16 (2025) ACPI GPIO configuration
>>>>> +         * causes acpi_gpio_handle_deferred_request_irqs() to
>>>>> +         * stall for ~36 seconds during boot so ignore the two
>>>>> +         * interrupts involved.
>>>>> +         *
>>>>> +         * Found in BIOS G614PP.307.
>>>>> +         */
>>>>> +        .matches = {
>>>>> +            DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
>>>>> +            DMI_MATCH(DMI_PRODUCT_NAME, "ROG Strix G16"),
>>>>> +        },
>>>>> +        .driver_data = &(struct acpi_gpiolib_dmi_quirk) {
>>>>> +            .ignore_interrupt = "AMDI0030:00@21,AMDI0030:00@24",
>>>>> +        },
>>>>> +    },
>>>>>        {} /* Terminating entry */
>>>>>    };
>>>> As for now it seems working. I've reverted it on my kernel as I prefer
>>>> remain as much as possible close to the CachyOS' one but hopefully 
>>>> it will
>>>> be implemented on 7.1, if someone propose the patch and it is 
>>>> accepted. It
>>>> would be amazing to see Asus more interested on Linux and more 
>>>> strict with
>>>> their BIOS but in the end I understand it's like asking for the moon.
>>>
>>> Okay thanks for checking. I guess this is what we have to live with 
>>> for now
>>> until someone finds a better way of dealing with these.
>>>
>>> @Francesco, would you like to submit a new version of the patch 
>>> similar to
>>> above or you want me to do that?
>>
>> Hans suggested that we might want to look at ripping out this edge 
>> triggered events at boot earlier in the thread.
>>
>> https://lore.kernel.org/platform-driver-x86/20260423044211.GD557136@black.igk.intel.com/T/#mdca882e6606d3a894ec7499d3b742d040933dbdb 
>>
>>
>> Hans - as you pointed out that the Surface lid state is the only real 
>> issue left and you happen to have one do you think you could work up 
>> some patches?
>>
> I see. Well, that makes totally sense 

Hi,

according to the Microsoft documentation (https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/general-purpose-i-o--gpio-,
section "GPIO controllers and ActiveBoth interrupts"), triggering GPIO interrupts marked as ActiveBoth during initialization is
correct as long as the associated GPIO line is already "asserted" (aka logic level low). I think the problem is that we also trigger
edge-based GPIO interrupts _not_ marked as ActiveBoth.

Based on this i agree with Hans, except that we should continue you trigger ActiveBoth GPIO interrupts as long as the above
condition applies.

Thanks,
Armin Wolf


  reply	other threads:[~2026-04-24 20:03 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2kSCn4XaoXsXJ3EUR0syTdmip8Z1cBuUr0Br4sFVnwnsA8q4GlhiHOmsJkeBxvxYoLnetp4r44wIPXw42yTAFl-BtMROnIwR-NkckKgA5EY=@protonmail.com>
     [not found] ` <6iFCwGH2vssb7NRUTWGpkubGMNbgIlBHSz40z8ZsezjxngXpoiiRiJaijviNvhiDAGIr43bfUmdxLmxYoHDjyft4DgwFc3Pnu5hzPguTa0s=@protonmail.com>
2025-12-17 12:01   ` [PATCH] gpiolib: acpi: Disable edge events on boot on ASUS ROG Strix G16 G614PP francesco.lauritano1
2025-12-17 13:08     ` Mika Westerberg
2025-12-17 14:01       ` Francesco Lauritano
2025-12-28 20:15         ` Andy Shevchenko
2025-12-17 14:23   ` [BUG] 36-second boot delay due to by acpi_gpio_handle_deferred_request_irqs on ASUS ROG Strix G16 (2025) Mario Limonciello
2025-12-17 15:12     ` Francesco Lauritano
2025-12-17 16:57       ` Francesco Lauritano
2025-12-17 18:01         ` Mario Limonciello
2025-12-17 19:19           ` Francesco Lauritano
2025-12-18  6:39             ` Mika Westerberg
2025-12-18 10:33               ` Hans de Goede
2025-12-18 10:38                 ` Mika Westerberg
2026-04-22  7:51                   ` Marco Scardovi
2026-04-22  9:07                     ` Mika Westerberg
2026-04-22  9:45                       ` Marco Scardovi
2026-04-22  9:55                         ` Mika Westerberg
2026-04-22 12:08                           ` Marco Scardovi
2026-04-23  4:42                             ` Mika Westerberg
2026-04-23  5:15                               ` Mario Limonciello
2026-04-23 17:46                                 ` Marco Scardovi
2026-04-24 20:02                                   ` Armin Wolf [this message]
2026-04-25 15:15                                     ` Mario Limonciello
2026-04-25 20:41                                       ` Armin Wolf
2026-04-27  4:57                                         ` Mika Westerberg
2026-04-27 22:09                                           ` Armin Wolf
2026-04-28  7:59                                             ` Mika Westerberg
2026-04-28 20:50                                               ` Armin Wolf
2026-04-27 11:46                                 ` Hans de Goede
2026-04-27 11:46                                   ` Hans de Goede
2026-04-27 12:28                                   ` Mika Westerberg
2026-04-27 12:41                                     ` Marco Scardovi
2026-04-27 15:30                                       ` Hans de Goede
2026-04-27 16:10                                         ` Marco Scardovi
2026-04-27 16:14                                           ` Marco Scardovi

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=a2a187d9-363c-48fe-8301-6a199366c478@gmx.de \
    --to=w_armin@gmx.de \
    --cc=bentiss@kernel.org \
    --cc=francesco.lauritano1@protonmail.com \
    --cc=hansg@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=mscardovi95@gmail.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=superm1@kernel.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