[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