mbox series

[0/4] Fixups for s2idle on ASUS Rembrandt laptop

Message ID 20220909180509.638-1-mario.limonciello@amd.com
Headers show
Series Fixups for s2idle on ASUS Rembrandt laptop | expand

Message

Mario Limonciello Sept. 9, 2022, 6:05 p.m. UTC
It was reported that an ASUS Rembrandt laptop has problems with seemingly
unrelated ACPI events after resuming from s2idle. Debugging the issue
proved it's because ASUS has ASL that is only called when using the
Microsoft GUID, not the AMD GUID.

This is a bug from ASUS firmware but this series reworks the s2idle
handling for AMD to allow accounting for this in a quirk.

Additionally as this is a problem that may pop up again on other models
add a module parameter that can be used to try the Microsoft GUID on a
given system.

This module parameter intentionally applies to both Intel and AMD systems
as the same problem could potentially exist on Intel systems that support
both the Intel GUID or the Microsoft GUID.

Mario Limonciello (4):
  acpi/x86: s2idle: Move _HID handling for AMD systems into structures
  acpi/x86: s2idle: If a new AMD _HID is missing assume Rembrandt
  acpi/x86: s2idle: Add module parameter to prefer Microsoft GUID
  acpi/x86: s2idle: Add a quirk for ASUS TUF Gaming A17 FA707RE

 drivers/acpi/x86/s2idle.c | 97 +++++++++++++++++++++++++++++++--------
 1 file changed, 77 insertions(+), 20 deletions(-)

Comments

Philipp Zabel Sept. 12, 2022, 2:56 p.m. UTC | #1
Hi Mario,

Am Fri, Sep 09, 2022 at 01:05:05PM -0500 schrieb Mario Limonciello:
> It was reported that an ASUS Rembrandt laptop has problems with seemingly
> unrelated ACPI events after resuming from s2idle. Debugging the issue
> proved it's because ASUS has ASL that is only called when using the
> Microsoft GUID, not the AMD GUID.
> 
> This is a bug from ASUS firmware but this series reworks the s2idle
> handling for AMD to allow accounting for this in a quirk.
> 
> Additionally as this is a problem that may pop up again on other models
> add a module parameter that can be used to try the Microsoft GUID on a
> given system.

thank you, these also helped on an ASUS ROG Zephyrus G14 (2022) with
BIOS version GA402RJ.313. Patches 1-3

Tested-by: Philipp Zabel <philipp.zabel@gmail.com> # GA402RJ

regards
Philipp
Mario Limonciello Sept. 12, 2022, 2:58 p.m. UTC | #2
[AMD Official Use Only - General]



> -----Original Message-----
> From: Philipp Zabel <philipp.zabel@gmail.com>
> Sent: Monday, September 12, 2022 09:57
> To: Limonciello, Mario <Mario.Limonciello@amd.com>
> Cc: rafael@kernel.org; catalin@antebit.com; S-k, Shyam-sundar <Shyam-
> sundar.S-k@amd.com>; Len Brown <lenb@kernel.org>; linux-
> acpi@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 0/4] Fixups for s2idle on ASUS Rembrandt laptop
> 
> Hi Mario,
> 
> Am Fri, Sep 09, 2022 at 01:05:05PM -0500 schrieb Mario Limonciello:
> > It was reported that an ASUS Rembrandt laptop has problems with
> seemingly
> > unrelated ACPI events after resuming from s2idle. Debugging the issue
> > proved it's because ASUS has ASL that is only called when using the
> > Microsoft GUID, not the AMD GUID.
> >
> > This is a bug from ASUS firmware but this series reworks the s2idle
> > handling for AMD to allow accounting for this in a quirk.
> >
> > Additionally as this is a problem that may pop up again on other models
> > add a module parameter that can be used to try the Microsoft GUID on a
> > given system.
> 
> thank you, these also helped on an ASUS ROG Zephyrus G14 (2022) with
> BIOS version GA402RJ.313. Patches 1-3
> 
> Tested-by: Philipp Zabel <philipp.zabel@gmail.com> # GA402RJ

Did you use acpi.prefer_microsoft_guid=1 for your system then too?

If so, I should re-spin this series to add your system's quirk to patch 4.

> 
> regards
> Philipp
Philipp Zabel Sept. 12, 2022, 3:06 p.m. UTC | #3
Am Mon, Sep 12, 2022 at 02:58:51PM +0000 schrieb Limonciello, Mario:
> [AMD Official Use Only - General]
> 
> 
> 
> > -----Original Message-----
> > From: Philipp Zabel <philipp.zabel@gmail.com>
> > Sent: Monday, September 12, 2022 09:57
> > To: Limonciello, Mario <Mario.Limonciello@amd.com>
> > Cc: rafael@kernel.org; catalin@antebit.com; S-k, Shyam-sundar <Shyam-
> > sundar.S-k@amd.com>; Len Brown <lenb@kernel.org>; linux-
> > acpi@vger.kernel.org; linux-kernel@vger.kernel.org
> > Subject: Re: [PATCH 0/4] Fixups for s2idle on ASUS Rembrandt laptop
> > 
> > Hi Mario,
> > 
> > Am Fri, Sep 09, 2022 at 01:05:05PM -0500 schrieb Mario Limonciello:
> > > It was reported that an ASUS Rembrandt laptop has problems with
> > seemingly
> > > unrelated ACPI events after resuming from s2idle. Debugging the issue
> > > proved it's because ASUS has ASL that is only called when using the
> > > Microsoft GUID, not the AMD GUID.
> > >
> > > This is a bug from ASUS firmware but this series reworks the s2idle
> > > handling for AMD to allow accounting for this in a quirk.
> > >
> > > Additionally as this is a problem that may pop up again on other models
> > > add a module parameter that can be used to try the Microsoft GUID on a
> > > given system.
> > 
> > thank you, these also helped on an ASUS ROG Zephyrus G14 (2022) with
> > BIOS version GA402RJ.313. Patches 1-3
> > 
> > Tested-by: Philipp Zabel <philipp.zabel@gmail.com> # GA402RJ
> 
> Did you use acpi.prefer_microsoft_guid=1 for your system then too?
> 
> If so, I should re-spin this series to add your system's quirk to patch 4.

Yes. I also tested with the following diff applied instead of the module
parameter:

----------8<----------
diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
index 6a2c94fdbeae..a247560e31de 100644
--- a/drivers/acpi/x86/s2idle.c
+++ b/drivers/acpi/x86/s2idle.c
@@ -420,6 +420,14 @@ static const struct dmi_system_id s2idle_dmi_table[] __initconst = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "ASUS TUF Gaming A17"),
 		},
 	},
+	{
+		/* ASUS ROG Zephyrus G14 (2022) */
+		.callback = lps0_prefer_microsoft,
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "ROG Zephyrus G14 GA402"),
+		},
+	},
 	{}
 };
 
---------->8----------

The full DMI Product Name is "ROG Zephyrus G14 GA402RJ_GA402RJ", but
there is also a near-identical higher spec model GA402RK.

regards
Philipp
Mario Limonciello Sept. 12, 2022, 3:11 p.m. UTC | #4
[Public]



> -----Original Message-----
> From: Philipp Zabel <philipp.zabel@gmail.com>
> Sent: Monday, September 12, 2022 10:06
> To: Limonciello, Mario <Mario.Limonciello@amd.com>
> Cc: rafael@kernel.org; catalin@antebit.com; S-k, Shyam-sundar <Shyam-
> sundar.S-k@amd.com>; Len Brown <lenb@kernel.org>; linux-
> acpi@vger.kernel.org; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 0/4] Fixups for s2idle on ASUS Rembrandt laptop
> 
> Am Mon, Sep 12, 2022 at 02:58:51PM +0000 schrieb Limonciello, Mario:
> > [AMD Official Use Only - General]
> >
> >
> >
> > > -----Original Message-----
> > > From: Philipp Zabel <philipp.zabel@gmail.com>
> > > Sent: Monday, September 12, 2022 09:57
> > > To: Limonciello, Mario <Mario.Limonciello@amd.com>
> > > Cc: rafael@kernel.org; catalin@antebit.com; S-k, Shyam-sundar <Shyam-
> > > sundar.S-k@amd.com>; Len Brown <lenb@kernel.org>; linux-
> > > acpi@vger.kernel.org; linux-kernel@vger.kernel.org
> > > Subject: Re: [PATCH 0/4] Fixups for s2idle on ASUS Rembrandt laptop
> > >
> > > Hi Mario,
> > >
> > > Am Fri, Sep 09, 2022 at 01:05:05PM -0500 schrieb Mario Limonciello:
> > > > It was reported that an ASUS Rembrandt laptop has problems with
> > > seemingly
> > > > unrelated ACPI events after resuming from s2idle. Debugging the issue
> > > > proved it's because ASUS has ASL that is only called when using the
> > > > Microsoft GUID, not the AMD GUID.
> > > >
> > > > This is a bug from ASUS firmware but this series reworks the s2idle
> > > > handling for AMD to allow accounting for this in a quirk.
> > > >
> > > > Additionally as this is a problem that may pop up again on other models
> > > > add a module parameter that can be used to try the Microsoft GUID on
> a
> > > > given system.
> > >
> > > thank you, these also helped on an ASUS ROG Zephyrus G14 (2022) with
> > > BIOS version GA402RJ.313. Patches 1-3
> > >
> > > Tested-by: Philipp Zabel <philipp.zabel@gmail.com> # GA402RJ
> >
> > Did you use acpi.prefer_microsoft_guid=1 for your system then too?
> >
> > If so, I should re-spin this series to add your system's quirk to patch 4.
> 
> Yes. I also tested with the following diff applied instead of the module
> parameter:
> 
> ----------8<----------
> diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
> index 6a2c94fdbeae..a247560e31de 100644
> --- a/drivers/acpi/x86/s2idle.c
> +++ b/drivers/acpi/x86/s2idle.c
> @@ -420,6 +420,14 @@ static const struct dmi_system_id s2idle_dmi_table[]
> __initconst = {
>  			DMI_MATCH(DMI_PRODUCT_NAME, "ASUS TUF
> Gaming A17"),
>  		},
>  	},
> +	{
> +		/* ASUS ROG Zephyrus G14 (2022) */
> +		.callback = lps0_prefer_microsoft,
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK
> COMPUTER INC."),
> +			DMI_MATCH(DMI_PRODUCT_NAME, "ROG
> Zephyrus G14 GA402"),
> +		},
> +	},
>  	{}
>  };
> 
> ---------->8----------
> 
> The full DMI Product Name is "ROG Zephyrus G14 GA402RJ_GA402RJ", but
> there is also a near-identical higher spec model GA402RK.
> 

Thanks so much!  I'll roll it into a v2 after I fix your other comment.
Luke D. Jones Sept. 18, 2022, 8:37 a.m. UTC | #5
Hi,

On Mon, 2022-09-12 at 17:06 +0200, Philipp Zabel wrote:
> Am Mon, Sep 12, 2022 at 02:58:51PM +0000 schrieb Limonciello, Mario:
> > [AMD Official Use Only - General]
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: Philipp Zabel <philipp.zabel@gmail.com>
> > > Sent: Monday, September 12, 2022 09:57
> > > To: Limonciello, Mario <Mario.Limonciello@amd.com>
> > > Cc: rafael@kernel.org; catalin@antebit.com; S-k, Shyam-sundar
> > > <Shyam-
> > > sundar.S-k@amd.com>; Len Brown <lenb@kernel.org>; linux-
> > > acpi@vger.kernel.org; linux-kernel@vger.kernel.org
> > > Subject: Re: [PATCH 0/4] Fixups for s2idle on ASUS Rembrandt
> > > laptop
> > > 
> > > Hi Mario,
> > > 
> > > Am Fri, Sep 09, 2022 at 01:05:05PM -0500 schrieb Mario
> > > Limonciello:
> > > > It was reported that an ASUS Rembrandt laptop has problems with
> > > seemingly
> > > > unrelated ACPI events after resuming from s2idle. Debugging the
> > > > issue
> > > > proved it's because ASUS has ASL that is only called when using
> > > > the
> > > > Microsoft GUID, not the AMD GUID.
> > > > 
> > > > This is a bug from ASUS firmware but this series reworks the
> > > > s2idle
> > > > handling for AMD to allow accounting for this in a quirk.
> > > > 
> > > > Additionally as this is a problem that may pop up again on
> > > > other models
> > > > add a module parameter that can be used to try the Microsoft
> > > > GUID on a
> > > > given system.
> > > 
> > > thank you, these also helped on an ASUS ROG Zephyrus G14 (2022)
> > > with
> > > BIOS version GA402RJ.313. Patches 1-3
> > > 
> > > Tested-by: Philipp Zabel <philipp.zabel@gmail.com> # GA402RJ
> > 
> > Did you use acpi.prefer_microsoft_guid=1 for your system then too?
> > 
> > If so, I should re-spin this series to add your system's quirk to
> > patch 4.
> 
> Yes. I also tested with the following diff applied instead of the
> module
> parameter:
> 
> ----------8<----------
> diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
> index 6a2c94fdbeae..a247560e31de 100644
> --- a/drivers/acpi/x86/s2idle.c
> +++ b/drivers/acpi/x86/s2idle.c
> @@ -420,6 +420,14 @@ static const struct dmi_system_id
> s2idle_dmi_table[] __initconst = {
>                         DMI_MATCH(DMI_PRODUCT_NAME, "ASUS TUF Gaming
> A17"),
>                 },
>         },
> +       {
> +               /* ASUS ROG Zephyrus G14 (2022) */
> +               .callback = lps0_prefer_microsoft,
> +               .matches = {
> +                       DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER
> INC."),
> +                       DMI_MATCH(DMI_PRODUCT_NAME, "ROG Zephyrus G14
> GA402"),

Just a note, this needs to be `ROG Zephyrus G14 GA402R` or this will
catch the GA402Q series as well which doesn't require this quirk.

In general the model numbering goes
<Range><Model><Generation><Graphics>, So for my old G14 <GA><402<Q><M>.
Or for example a ROG Strix machine <G><513><Q><Y>

I don't know of any others that may need this quirk.

> +               },
> +       },
>         {}
>  };
>  
> ---------->8----------
> 
> The full DMI Product Name is "ROG Zephyrus G14 GA402RJ_GA402RJ", but
> there is also a near-identical higher spec model GA402RK.
> 
> regards
> Philipp
Mario Limonciello Sept. 18, 2022, 7:46 p.m. UTC | #6
On 9/18/22 03:37, Luke Jones wrote:
> Hi,
> 
> On Mon, 2022-09-12 at 17:06 +0200, Philipp Zabel wrote:
>> Am Mon, Sep 12, 2022 at 02:58:51PM +0000 schrieb Limonciello, Mario:
>>> [AMD Official Use Only - General]
>>>
>>>
>>>
>>>> -----Original Message-----
>>>> From: Philipp Zabel <philipp.zabel@gmail.com>
>>>> Sent: Monday, September 12, 2022 09:57
>>>> To: Limonciello, Mario <Mario.Limonciello@amd.com>
>>>> Cc: rafael@kernel.org; catalin@antebit.com; S-k, Shyam-sundar
>>>> <Shyam-
>>>> sundar.S-k@amd.com>; Len Brown <lenb@kernel.org>; linux-
>>>> acpi@vger.kernel.org; linux-kernel@vger.kernel.org
>>>> Subject: Re: [PATCH 0/4] Fixups for s2idle on ASUS Rembrandt
>>>> laptop
>>>>
>>>> Hi Mario,
>>>>
>>>> Am Fri, Sep 09, 2022 at 01:05:05PM -0500 schrieb Mario
>>>> Limonciello:
>>>>> It was reported that an ASUS Rembrandt laptop has problems with
>>>> seemingly
>>>>> unrelated ACPI events after resuming from s2idle. Debugging the
>>>>> issue
>>>>> proved it's because ASUS has ASL that is only called when using
>>>>> the
>>>>> Microsoft GUID, not the AMD GUID.
>>>>>
>>>>> This is a bug from ASUS firmware but this series reworks the
>>>>> s2idle
>>>>> handling for AMD to allow accounting for this in a quirk.
>>>>>
>>>>> Additionally as this is a problem that may pop up again on
>>>>> other models
>>>>> add a module parameter that can be used to try the Microsoft
>>>>> GUID on a
>>>>> given system.
>>>>
>>>> thank you, these also helped on an ASUS ROG Zephyrus G14 (2022)
>>>> with
>>>> BIOS version GA402RJ.313. Patches 1-3
>>>>
>>>> Tested-by: Philipp Zabel <philipp.zabel@gmail.com> # GA402RJ
>>>
>>> Did you use acpi.prefer_microsoft_guid=1 for your system then too?
>>>
>>> If so, I should re-spin this series to add your system's quirk to
>>> patch 4.
>>
>> Yes. I also tested with the following diff applied instead of the
>> module
>> parameter:
>>
>> ----------8<----------
>> diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
>> index 6a2c94fdbeae..a247560e31de 100644
>> --- a/drivers/acpi/x86/s2idle.c
>> +++ b/drivers/acpi/x86/s2idle.c
>> @@ -420,6 +420,14 @@ static const struct dmi_system_id
>> s2idle_dmi_table[] __initconst = {
>>                          DMI_MATCH(DMI_PRODUCT_NAME, "ASUS TUF Gaming
>> A17"),
>>                  },
>>          },
>> +       {
>> +               /* ASUS ROG Zephyrus G14 (2022) */
>> +               .callback = lps0_prefer_microsoft,
>> +               .matches = {
>> +                       DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER
>> INC."),
>> +                       DMI_MATCH(DMI_PRODUCT_NAME, "ROG Zephyrus G14
>> GA402"),
> 
> Just a note, this needs to be `ROG Zephyrus G14 GA402R` or this will
> catch the GA402Q series as well which doesn't require this quirk.
> In general the model numbering goes
> <Range><Model><Generation><Graphics>, So for my old G14 <GA><402<Q><M>.
> Or for example a ROG Strix machine <G><513><Q><Y>
> 

What _HID is used?  From your description GA402"Q" is Cezanne generation 
right? Can you please share the acpidump for me to confirm what is 
happening and if it's expected?

> I don't know of any others that may need this quirk.
> 
>> +               },
>> +       },
>>          {}
>>   };
>>   
>> ---------->8----------
>>
>> The full DMI Product Name is "ROG Zephyrus G14 GA402RJ_GA402RJ", but
>> there is also a near-identical higher spec model GA402RK.
>>
>> regards
>> Philipp
>
Luke D. Jones Sept. 18, 2022, 10:17 p.m. UTC | #7
On Sun, 2022-09-18 at 14:46 -0500, Mario Limonciello wrote:
> On 9/18/22 03:37, Luke Jones wrote:
> > Hi,
> > 
> > On Mon, 2022-09-12 at 17:06 +0200, Philipp Zabel wrote:
> > > Am Mon, Sep 12, 2022 at 02:58:51PM +0000 schrieb Limonciello,
> > > Mario:
> > > > [AMD Official Use Only - General]
> > > > 
> > > > 
> > > > 
> > > > > -----Original Message-----
> > > > > From: Philipp Zabel <philipp.zabel@gmail.com>
> > > > > Sent: Monday, September 12, 2022 09:57
> > > > > To: Limonciello, Mario <Mario.Limonciello@amd.com>
> > > > > Cc: rafael@kernel.org; catalin@antebit.com; S-k, Shyam-sundar
> > > > > <Shyam-
> > > > > sundar.S-k@amd.com>; Len Brown <lenb@kernel.org>; linux-
> > > > > acpi@vger.kernel.org; linux-kernel@vger.kernel.org
> > > > > Subject: Re: [PATCH 0/4] Fixups for s2idle on ASUS Rembrandt
> > > > > laptop
> > > > > 
> > > > > Hi Mario,
> > > > > 
> > > > > Am Fri, Sep 09, 2022 at 01:05:05PM -0500 schrieb Mario
> > > > > Limonciello:
> > > > > > It was reported that an ASUS Rembrandt laptop has problems
> > > > > > with
> > > > > seemingly
> > > > > > unrelated ACPI events after resuming from s2idle. Debugging
> > > > > > the
> > > > > > issue
> > > > > > proved it's because ASUS has ASL that is only called when
> > > > > > using
> > > > > > the
> > > > > > Microsoft GUID, not the AMD GUID.
> > > > > > 
> > > > > > This is a bug from ASUS firmware but this series reworks
> > > > > > the
> > > > > > s2idle
> > > > > > handling for AMD to allow accounting for this in a quirk.
> > > > > > 
> > > > > > Additionally as this is a problem that may pop up again on
> > > > > > other models
> > > > > > add a module parameter that can be used to try the
> > > > > > Microsoft
> > > > > > GUID on a
> > > > > > given system.
> > > > > 
> > > > > thank you, these also helped on an ASUS ROG Zephyrus G14
> > > > > (2022)
> > > > > with
> > > > > BIOS version GA402RJ.313. Patches 1-3
> > > > > 
> > > > > Tested-by: Philipp Zabel <philipp.zabel@gmail.com> # GA402RJ
> > > > 
> > > > Did you use acpi.prefer_microsoft_guid=1 for your system then
> > > > too?
> > > > 
> > > > If so, I should re-spin this series to add your system's quirk
> > > > to
> > > > patch 4.
> > > 
> > > Yes. I also tested with the following diff applied instead of the
> > > module
> > > parameter:
> > > 
> > > ----------8<----------
> > > diff --git a/drivers/acpi/x86/s2idle.c
> > > b/drivers/acpi/x86/s2idle.c
> > > index 6a2c94fdbeae..a247560e31de 100644
> > > --- a/drivers/acpi/x86/s2idle.c
> > > +++ b/drivers/acpi/x86/s2idle.c
> > > @@ -420,6 +420,14 @@ static const struct dmi_system_id
> > > s2idle_dmi_table[] __initconst = {
> > >                          DMI_MATCH(DMI_PRODUCT_NAME, "ASUS TUF
> > > Gaming
> > > A17"),
> > >                  },
> > >          },
> > > +       {
> > > +               /* ASUS ROG Zephyrus G14 (2022) */
> > > +               .callback = lps0_prefer_microsoft,
> > > +               .matches = {
> > > +                       DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK
> > > COMPUTER
> > > INC."),
> > > +                       DMI_MATCH(DMI_PRODUCT_NAME, "ROG Zephyrus
> > > G14
> > > GA402"),
> > 
> > Just a note, this needs to be `ROG Zephyrus G14 GA402R` or this
> > will
> > catch the GA402Q series as well which doesn't require this quirk.
> > In general the model numbering goes
> > <Range><Model><Generation><Graphics>, So for my old G14
> > <GA><402<Q><M>.
> > Or for example a ROG Strix machine <G><513><Q><Y>
> > 
> 
> What _HID is used?  From your description GA402"Q" is Cezanne
> generation 
> right? Can you please share the acpidump for me to confirm what is 
> happening and if it's expected?

Sure, dumps are here -
https://gitlab.com/asus-linux/reverse-engineering/-/tree/master/ga401qm/408-fw

That repo is a bit haphazard as info tends to get collected
sporadically when issues arise, but it may be of use for you for other
things. I'll try to clean it up some.

> 
> > I don't know of any others that may need this quirk.
> > 
> > > +               },
> > > +       },
> > >          {}
> > >   };
> > >   
> > > ---------->8----------
> > > 
> > > The full DMI Product Name is "ROG Zephyrus G14 GA402RJ_GA402RJ",
> > > but
> > > there is also a near-identical higher spec model GA402RK.
> > > 
> > > regards
> > > Philipp
> > 
>
Mario Limonciello Sept. 19, 2022, 1 p.m. UTC | #8
On 9/18/22 17:17, Luke Jones wrote:
> On Sun, 2022-09-18 at 14:46 -0500, Mario Limonciello wrote:
>> On 9/18/22 03:37, Luke Jones wrote:
>>> Hi,
>>>
>>> On Mon, 2022-09-12 at 17:06 +0200, Philipp Zabel wrote:
>>>> Am Mon, Sep 12, 2022 at 02:58:51PM +0000 schrieb Limonciello,
>>>> Mario:
>>>>> [AMD Official Use Only - General]
>>>>>
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Philipp Zabel <philipp.zabel@gmail.com>
>>>>>> Sent: Monday, September 12, 2022 09:57
>>>>>> To: Limonciello, Mario <Mario.Limonciello@amd.com>
>>>>>> Cc: rafael@kernel.org; catalin@antebit.com; S-k, Shyam-sundar
>>>>>> <Shyam-
>>>>>> sundar.S-k@amd.com>; Len Brown <lenb@kernel.org>; linux-
>>>>>> acpi@vger.kernel.org; linux-kernel@vger.kernel.org
>>>>>> Subject: Re: [PATCH 0/4] Fixups for s2idle on ASUS Rembrandt
>>>>>> laptop
>>>>>>
>>>>>> Hi Mario,
>>>>>>
>>>>>> Am Fri, Sep 09, 2022 at 01:05:05PM -0500 schrieb Mario
>>>>>> Limonciello:
>>>>>>> It was reported that an ASUS Rembrandt laptop has problems
>>>>>>> with
>>>>>> seemingly
>>>>>>> unrelated ACPI events after resuming from s2idle. Debugging
>>>>>>> the
>>>>>>> issue
>>>>>>> proved it's because ASUS has ASL that is only called when
>>>>>>> using
>>>>>>> the
>>>>>>> Microsoft GUID, not the AMD GUID.
>>>>>>>
>>>>>>> This is a bug from ASUS firmware but this series reworks
>>>>>>> the
>>>>>>> s2idle
>>>>>>> handling for AMD to allow accounting for this in a quirk.
>>>>>>>
>>>>>>> Additionally as this is a problem that may pop up again on
>>>>>>> other models
>>>>>>> add a module parameter that can be used to try the
>>>>>>> Microsoft
>>>>>>> GUID on a
>>>>>>> given system.
>>>>>>
>>>>>> thank you, these also helped on an ASUS ROG Zephyrus G14
>>>>>> (2022)
>>>>>> with
>>>>>> BIOS version GA402RJ.313. Patches 1-3
>>>>>>
>>>>>> Tested-by: Philipp Zabel <philipp.zabel@gmail.com> # GA402RJ
>>>>>
>>>>> Did you use acpi.prefer_microsoft_guid=1 for your system then
>>>>> too?
>>>>>
>>>>> If so, I should re-spin this series to add your system's quirk
>>>>> to
>>>>> patch 4.
>>>>
>>>> Yes. I also tested with the following diff applied instead of the
>>>> module
>>>> parameter:
>>>>
>>>> ----------8<----------
>>>> diff --git a/drivers/acpi/x86/s2idle.c
>>>> b/drivers/acpi/x86/s2idle.c
>>>> index 6a2c94fdbeae..a247560e31de 100644
>>>> --- a/drivers/acpi/x86/s2idle.c
>>>> +++ b/drivers/acpi/x86/s2idle.c
>>>> @@ -420,6 +420,14 @@ static const struct dmi_system_id
>>>> s2idle_dmi_table[] __initconst = {
>>>>                           DMI_MATCH(DMI_PRODUCT_NAME, "ASUS TUF
>>>> Gaming
>>>> A17"),
>>>>                   },
>>>>           },
>>>> +       {
>>>> +               /* ASUS ROG Zephyrus G14 (2022) */
>>>> +               .callback = lps0_prefer_microsoft,
>>>> +               .matches = {
>>>> +                       DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK
>>>> COMPUTER
>>>> INC."),
>>>> +                       DMI_MATCH(DMI_PRODUCT_NAME, "ROG Zephyrus
>>>> G14
>>>> GA402"),
>>>
>>> Just a note, this needs to be `ROG Zephyrus G14 GA402R` or this
>>> will
>>> catch the GA402Q series as well which doesn't require this quirk.
>>> In general the model numbering goes
>>> <Range><Model><Generation><Graphics>, So for my old G14
>>> <GA><402<Q><M>.
>>> Or for example a ROG Strix machine <G><513><Q><Y>
>>>
>>
>> What _HID is used?  From your description GA402"Q" is Cezanne
>> generation
>> right? Can you please share the acpidump for me to confirm what is
>> happening and if it's expected?
> 
> Sure, dumps are here -
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.com%2Fasus-linux%2Freverse-engineering%2F-%2Ftree%2Fmaster%2Fga401qm%2F408-fw&amp;data=05%7C01%7Cmario.limonciello%40amd.com%7Cf7ff7320f72f483145c108da99c39de1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637991362709739412%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=S8%2Bqp%2BtwFh6j1ZikKLpwRodmrhhSnthVDwuJZ8Ncs0A%3D&amp;reserved=0
> 
> That repo is a bit haphazard as info tends to get collected
> sporadically when issues arise, but it may be of use for you for other
> things. I'll try to clean it up some.
> 

Thanks for sharing it.

So this system uses "AMDI0005", so it matches "amd_picasso" behavior in 
the patch series.  That is "data->prefer_amd_guid" is false, so the 
quirk and parameter shouldn't actually do anything in this system.

>>
>>> I don't know of any others that may need this quirk.
>>>
>>>> +               },
>>>> +       },
>>>>           {}
>>>>    };
>>>>    
>>>> ---------->8----------
>>>>
>>>> The full DMI Product Name is "ROG Zephyrus G14 GA402RJ_GA402RJ",
>>>> but
>>>> there is also a near-identical higher spec model GA402RK.
>>>>
>>>> regards
>>>> Philipp
>>>
>>
>