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

From: Luke Jones
Date: Sun Sep 18 2022 - 04:38:22 EST


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@xxxxxxxxx>
> > > Sent: Monday, September 12, 2022 09:57
> > > To: Limonciello, Mario <Mario.Limonciello@xxxxxxx>
> > > Cc: rafael@xxxxxxxxxx; catalin@xxxxxxxxxxx; S-k, Shyam-sundar
> > > <Shyam-
> > > sundar.S-k@xxxxxxx>; Len Brown <lenb@xxxxxxxxxx>; linux-
> > > acpi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> > > 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@xxxxxxxxx> # 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