Re: [PATCH] ACPI: PM: Add support for upcoming AMD uPEP HID AMDI007

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 19, 2021 at 3:35 PM Limonciello, Mario
<mario.limonciello@xxxxxxx> wrote:
>
> On 7/19/2021 07:09, Rafael J. Wysocki wrote:
> > On Sun, Jul 18, 2021 at 6:11 AM Mario Limonciello
> > <mario.limonciello@xxxxxxx> wrote:
> >>
> >> AMD systems with uPEP HID AMDI007 should be using revision 2 and
> >> the AMD method.
> >>
> >> CC: stable@xxxxxxxxxx # v5.14
> >
> > Well, what do you mean?
> >
> > 5.14 is still under development.
>
> I didn't want to presume the timing or target that you would accept
> this.  If it's still viable for 5.14, then yes that would be preferable.
> Can you just remove that line from commit message?

I've applied it as 5.14-rc material with a Fixes tag pointing to
commit 8fbd6c15ea0a "ACPI: PM: Adjust behavior for field problems on
AMD systems".

Thanks!


> >> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> >> ---
> >>   drivers/acpi/x86/s2idle.c | 10 ++++++++--
> >>   1 file changed, 8 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
> >> index 1c507804fb10..fbdbef0ab552 100644
> >> --- a/drivers/acpi/x86/s2idle.c
> >> +++ b/drivers/acpi/x86/s2idle.c
> >> @@ -378,19 +378,25 @@ static int lps0_device_attach(struct acpi_device *adev,
> >>                   * AMDI0006:
> >>                   * - should use rev_id 0x0
> >>                   * - function mask = 0x3: Should use Microsoft method
> >> +                * AMDI0007:
> >> +                * - Should use rev_id 0x2
> >> +                * - Should only use AMD method
> >>                   */
> >>                  const char *hid = acpi_device_hid(adev);
> >> -               rev_id = 0;
> >> +               rev_id = strcmp(hid, "AMDI0007") ? 0 : 2;
> >>                  lps0_dsm_func_mask = validate_dsm(adev->handle,
> >>                                          ACPI_LPS0_DSM_UUID_AMD, rev_id, &lps0_dsm_guid);
> >>                  lps0_dsm_func_mask_microsoft = validate_dsm(adev->handle,
> >> -                                       ACPI_LPS0_DSM_UUID_MICROSOFT, rev_id,
> >> +                                       ACPI_LPS0_DSM_UUID_MICROSOFT, 0,
> >>                                          &lps0_dsm_guid_microsoft);
> >>                  if (lps0_dsm_func_mask > 0x3 && (!strcmp(hid, "AMD0004") ||
> >>                                                   !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",
> >>                                            ACPI_LPS0_DSM_UUID_AMD, lps0_dsm_func_mask);
> >> +               } else if (lps0_dsm_func_mask_microsoft > 0 && !strcmp(hid, "AMDI0007")) {
> >> +                       lps0_dsm_func_mask_microsoft = -EINVAL;
> >> +                       acpi_handle_debug(adev->handle, "_DSM Using AMD method\n");
> >>                  }
> >>          } else {
> >>                  rev_id = 1;
> >> --
> >> 2.25.1
> >>
>



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux