Message ID | 20211002041840.2058647-2-nakato@nakato.io (mailing list archive) |
---|---|
State | Deferred, archived |
Headers | show |
Series | [1/2] platform/x86: amd-pmc: Add alternative acpi id for PMC controller | expand |
On 10/1/2021 23:18, 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. Rafael, if you don't mind can you please add this to the commit message when you pick this up for future reference in case we need to come back to the ACPI tables that prompted this: Link: https://github.com/linux-surface/acpidumps/tree/master/surface_laptop_4_amd > > Cc: <stable@vger.kernel.org> # 5.14+ > Signed-off-by: Sachi King <nakato@nakato.io> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com> > --- > 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", >
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@vger.kernel.org> # 5.14+ > Signed-off-by: Sachi King <nakato@nakato.io> 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@amd.com> Regards, 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", >
On Mon, Oct 11, 2021 at 3:47 PM Hans de Goede <hdegoede@redhat.com> 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@vger.kernel.org> # 5.14+ > > Signed-off-by: Sachi King <nakato@nakato.io> > > 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@amd.com> > 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", > > >
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",
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@vger.kernel.org> # 5.14+ Signed-off-by: Sachi King <nakato@nakato.io> --- drivers/acpi/x86/s2idle.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)