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

From: Mario Limonciello
Date: Mon Sep 19 2022 - 09:01:05 EST


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@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>


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