[PATCH 2/2 V2] platform/x86: force LPS0 functions for AMD
Hans de Goede
hdegoede at redhat.com
Wed Mar 17 17:36:43 UTC 2021
Hi,
On 3/17/21 3:38 PM, Alex Deucher wrote:
> ACPI_LPS0_ENTRY_AMD/ACPI_LPS0_EXIT_AMD are supposedly not
> required for AMD platforms, and on some platforms they are
> not even listed in the function mask but at least some HP
> laptops seem to require it to properly support s0ix.
>
> Based on a patch from Marcin Bachry <hegel666 at gmail.com>.
>
> Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1230
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> Cc: Marcin Bachry <hegel666 at gmail.com>
> ---
>
> V2: rework the patch to just fix up the specific problematic
> case by setting the function flags that are missing.
Thanks, the new version looks good to me:
Reviewed-by: Hans de Goede <hdegoede at redhat.com>
Regards,
Hans
>
> drivers/acpi/x86/s2idle.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
> index 2d7ddb8a8cb6..482e6b23b21a 100644
> --- a/drivers/acpi/x86/s2idle.c
> +++ b/drivers/acpi/x86/s2idle.c
> @@ -368,6 +368,13 @@ static int lps0_device_attach(struct acpi_device *adev,
>
> ACPI_FREE(out_obj);
>
> + /*
> + * Some HP laptops require ACPI_LPS0_ENTRY_AMD/ACPI_LPS0_EXIT_AMD for proper
> + * S0ix, but don't set the function mask correctly. Fix that up here.
> + */
> + if (acpi_s2idle_vendor_amd())
> + lps0_dsm_func_mask |= (1 << ACPI_LPS0_ENTRY_AMD) | (1 << ACPI_LPS0_EXIT_AMD);
> +
> acpi_handle_debug(adev->handle, "_DSM function mask: 0x%x\n",
> lps0_dsm_func_mask);
>
>
More information about the amd-gfx
mailing list