[PATCH] platform/x86: Add missing LPS0 functions for AMD

Hans de Goede hdegoede at redhat.com
Wed May 5 09:00:06 UTC 2021


Hi,

On 5/5/21 12:33 AM, Limonciello, Mario wrote:
> [AMD Public Use]
> 
>> Subject: [PATCH] platform/x86: Add missing LPS0 functions for AMD
> 
> Rafael might be willing to fix it up on commit, but if you end up needing to re-spin
> I think technically this subsystem prefix to match other stuff committed to this file
> should be:
> 
> "ACPI: PM: s2idle:"

Ack, please get the subject next right time. I was about the put this in a folder
with patches to apply to the pdx86 kernel tree once 5.13-rc1 is out, but this
should not go upstream through the pdx86 tree at all.

Regards,

Hans



> 
>>
>> These are supposedly not required for AMD platforms,
>> but at least some HP laptops seem to require it to
>> properly turn off the keyboard backlight.
>>
>> Based on a patch from Marcin Bachry <hegel666 at gmail.com>.
>>
>> Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1230
>> Reviewed-by: Hans de Goede <hdegoede at redhat.com>
>> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
>> Cc: Marcin Bachry <hegel666 at gmail.com>
>> Cc: Mario Limonciello <mario.limonciello at amd.com>
>> ---
>>
>> Dropping patch 2/2 for now.  This patch fixes several
>> systems and doesn't appear to cause any issues.
>>
>>  drivers/acpi/x86/s2idle.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
>> index 2b69536cdccb..2d7ddb8a8cb6 100644
>> --- a/drivers/acpi/x86/s2idle.c
>> +++ b/drivers/acpi/x86/s2idle.c
>> @@ -42,6 +42,8 @@ static const struct acpi_device_id lps0_device_ids[] = {
>>
>>  /* AMD */
>>  #define ACPI_LPS0_DSM_UUID_AMD      "e3f32452-febc-43ce-9039-
>> 932122d37721"
>> +#define ACPI_LPS0_ENTRY_AMD         2
>> +#define ACPI_LPS0_EXIT_AMD          3
>>  #define ACPI_LPS0_SCREEN_OFF_AMD    4
>>  #define ACPI_LPS0_SCREEN_ON_AMD     5
>>
>> @@ -408,6 +410,7 @@ int acpi_s2idle_prepare_late(void)
>>
>>  	if (acpi_s2idle_vendor_amd()) {
>>  		acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD);
>> +		acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD);
>>  	} else {
>>  		acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF);
>>  		acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY);
>> @@ -422,6 +425,7 @@ void acpi_s2idle_restore_early(void)
>>  		return;
>>
>>  	if (acpi_s2idle_vendor_amd()) {
>> +		acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT_AMD);
>>  		acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON_AMD);
>>  	} else {
>>  		acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT);
>> --
>> 2.30.2
> 



More information about the amd-gfx mailing list