Message ID | 20210505132032.601097-1-alexander.deucher@amd.com |
---|---|
State | New |
Headers | show |
Series | ACPI: PM: s2idle: Add missing LPS0 functions for AMD | expand |
On Wed, May 5, 2021 at 3:21 PM Alex Deucher <alexander.deucher@amd.com> wrote: > > 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@gmail.com>. > > Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1230 > Reviewed-by: Hans de Goede <hdegoede@redhat.com> > Signed-off-by: Alex Deucher <alexander.deucher@amd.com> > Cc: Marcin Bachry <hegel666@gmail.com> > Cc: Mario Limonciello <mario.limonciello@amd.com> > --- > > Resend with updated subject. > > 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); > -- Applied as 5.14 material, thanks!
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);