On Mon, Oct 11, 2021 at 3:47 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > > Hi, > > On 10/2/21 6:18 AM, Sachi King wrote: > > The Surface Laptop 4 AMD has used the AMD0005 to identify this > > controller instead of using the appropriate ACPI ID AMDI0005. The > > AMD0005 needs the same special casing as AMDI0005. > > > > Cc: <stable@xxxxxxxxxxxxxxx> # 5.14+ > > Signed-off-by: Sachi King <nakato@xxxxxxxxx> > > Rafael, I assume that you will pick up this one? Please add the > following tags from other parts of the thread: > > Link: https://github.com/linux-surface/acpidumps/tree/master/surface_laptop_4_amd > Link: https://gist.github.com/nakato/2a1a7df1a45fe680d7a08c583e1bf863 > Reviewed-by: Mario Limonciello <mario.limonciello@xxxxxxx> > Applied as 5.15-rc material. Thanks for collecting the tags for me Hans! > > --- > > drivers/acpi/x86/s2idle.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c > > index bd92b549fd5a..1c48358b43ba 100644 > > --- a/drivers/acpi/x86/s2idle.c > > +++ b/drivers/acpi/x86/s2idle.c > > @@ -371,7 +371,7 @@ static int lps0_device_attach(struct acpi_device *adev, > > return 0; > > > > if (acpi_s2idle_vendor_amd()) { > > - /* AMD0004, AMDI0005: > > + /* AMD0004, AMD0005, AMDI0005: > > * - Should use rev_id 0x0 > > * - function mask > 0x3: Should use AMD method, but has off by one bug > > * - function mask = 0x3: Should use Microsoft method > > @@ -390,6 +390,7 @@ static int lps0_device_attach(struct acpi_device *adev, > > ACPI_LPS0_DSM_UUID_MICROSOFT, 0, > > &lps0_dsm_guid_microsoft); > > if (lps0_dsm_func_mask > 0x3 && (!strcmp(hid, "AMD0004") || > > + !strcmp(hid, "AMD0005") || > > !strcmp(hid, "AMDI0005"))) { > > lps0_dsm_func_mask = (lps0_dsm_func_mask << 1) | 0x1; > > acpi_handle_debug(adev->handle, "_DSM UUID %s: Adjusted function mask: 0x%x\n", > > >