Message ID | 20210617164212.584-3-mario.limonciello@amd.com (mailing list archive) |
---|---|
State | Mainlined, archived |
Headers | show |
Series | [1/5] ACPI: PM: s2idle: Use correct revision id | expand |
W dniu 17.06.2021 o 18:42, Mario Limonciello pisze: > From: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com> > > Required for follow-up patch adding new UUID > needing new function mask. > > Signed-off-by: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com> > --- > drivers/acpi/x86/s2idle.c | 31 ++++++++++++++++++++----------- > 1 file changed, 20 insertions(+), 11 deletions(-) > > diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c > index c0cba025072f..0d19669ac7ad 100644 > --- a/drivers/acpi/x86/s2idle.c > +++ b/drivers/acpi/x86/s2idle.c > @@ -309,14 +309,15 @@ static void lpi_check_constraints(void) > } > } > > -static void acpi_sleep_run_lps0_dsm(unsigned int func) > +static void acpi_sleep_run_lps0_dsm(unsigned int func, unsigned int func_mask, guid_t dsm_guid) > { > union acpi_object *out_obj; > > - if (!(lps0_dsm_func_mask & (1 << func))) > + if (!(func_mask & (1 << func))) > return; > > - out_obj = acpi_evaluate_dsm(lps0_device_handle, &lps0_dsm_guid, rev_id, func, NULL); > + out_obj = acpi_evaluate_dsm(lps0_device_handle, &dsm_guid, > + rev_id, func, NULL); > ACPI_FREE(out_obj); > > acpi_handle_debug(lps0_device_handle, "_DSM function %u evaluation %s\n", > @@ -412,11 +413,15 @@ int acpi_s2idle_prepare_late(void) > lpi_check_constraints(); > > if (acpi_s2idle_vendor_amd()) { > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD); > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD, > + lps0_dsm_func_mask, lps0_dsm_guid); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD, > + lps0_dsm_func_mask, lps0_dsm_guid); > } else { > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF); > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF, > + lps0_dsm_func_mask, lps0_dsm_guid); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY, > + lps0_dsm_func_mask, lps0_dsm_guid); > } > > return 0; > @@ -428,11 +433,15 @@ 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); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT_AMD, > + lps0_dsm_func_mask, lps0_dsm_guid); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON_AMD, > + lps0_dsm_func_mask, lps0_dsm_guid); > } else { > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT); > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT, > + lps0_dsm_func_mask, lps0_dsm_guid); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON, > + lps0_dsm_func_mask, lps0_dsm_guid); > } > } > > Tested-by: Julian Sikorski <belegdol@gmail.com>
On Thu, Jun 17, 2021 at 6:42 PM Mario Limonciello <mario.limonciello@amd.com> wrote: > > From: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com> > > Required for follow-up patch adding new UUID > needing new function mask. > > Signed-off-by: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com> Your s-o-b is missing. > --- > drivers/acpi/x86/s2idle.c | 31 ++++++++++++++++++++----------- > 1 file changed, 20 insertions(+), 11 deletions(-) > > diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c > index c0cba025072f..0d19669ac7ad 100644 > --- a/drivers/acpi/x86/s2idle.c > +++ b/drivers/acpi/x86/s2idle.c > @@ -309,14 +309,15 @@ static void lpi_check_constraints(void) > } > } > > -static void acpi_sleep_run_lps0_dsm(unsigned int func) > +static void acpi_sleep_run_lps0_dsm(unsigned int func, unsigned int func_mask, guid_t dsm_guid) > { > union acpi_object *out_obj; > > - if (!(lps0_dsm_func_mask & (1 << func))) > + if (!(func_mask & (1 << func))) > return; > > - out_obj = acpi_evaluate_dsm(lps0_device_handle, &lps0_dsm_guid, rev_id, func, NULL); > + out_obj = acpi_evaluate_dsm(lps0_device_handle, &dsm_guid, > + rev_id, func, NULL); > ACPI_FREE(out_obj); > > acpi_handle_debug(lps0_device_handle, "_DSM function %u evaluation %s\n", > @@ -412,11 +413,15 @@ int acpi_s2idle_prepare_late(void) > lpi_check_constraints(); > > if (acpi_s2idle_vendor_amd()) { > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD); > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD, > + lps0_dsm_func_mask, lps0_dsm_guid); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD, > + lps0_dsm_func_mask, lps0_dsm_guid); > } else { > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF); > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF, > + lps0_dsm_func_mask, lps0_dsm_guid); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY, > + lps0_dsm_func_mask, lps0_dsm_guid); > } > > return 0; > @@ -428,11 +433,15 @@ 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); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT_AMD, > + lps0_dsm_func_mask, lps0_dsm_guid); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON_AMD, > + lps0_dsm_func_mask, lps0_dsm_guid); > } else { > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT); > - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT, > + lps0_dsm_func_mask, lps0_dsm_guid); > + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON, > + lps0_dsm_func_mask, lps0_dsm_guid); > } > } > > -- > 2.25.1 >
On 6/18/2021 11:30, Rafael J. Wysocki wrote: > On Thu, Jun 17, 2021 at 6:42 PM Mario Limonciello > <mario.limonciello@amd.com> wrote: >> >> From: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com> >> >> Required for follow-up patch adding new UUID >> needing new function mask. >> >> Signed-off-by: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com> > > Your s-o-b is missing. My apologies. If I need to spin the series I'll explicitly add it with all the other tags that have come through, otherwise: Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > >> --- >> drivers/acpi/x86/s2idle.c | 31 ++++++++++++++++++++----------- >> 1 file changed, 20 insertions(+), 11 deletions(-) >> >> diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c >> index c0cba025072f..0d19669ac7ad 100644 >> --- a/drivers/acpi/x86/s2idle.c >> +++ b/drivers/acpi/x86/s2idle.c >> @@ -309,14 +309,15 @@ static void lpi_check_constraints(void) >> } >> } >> >> -static void acpi_sleep_run_lps0_dsm(unsigned int func) >> +static void acpi_sleep_run_lps0_dsm(unsigned int func, unsigned int func_mask, guid_t dsm_guid) >> { >> union acpi_object *out_obj; >> >> - if (!(lps0_dsm_func_mask & (1 << func))) >> + if (!(func_mask & (1 << func))) >> return; >> >> - out_obj = acpi_evaluate_dsm(lps0_device_handle, &lps0_dsm_guid, rev_id, func, NULL); >> + out_obj = acpi_evaluate_dsm(lps0_device_handle, &dsm_guid, >> + rev_id, func, NULL); >> ACPI_FREE(out_obj); >> >> acpi_handle_debug(lps0_device_handle, "_DSM function %u evaluation %s\n", >> @@ -412,11 +413,15 @@ int acpi_s2idle_prepare_late(void) >> lpi_check_constraints(); >> >> if (acpi_s2idle_vendor_amd()) { >> - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD); >> - acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD); >> + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD, >> + lps0_dsm_func_mask, lps0_dsm_guid); >> + acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD, >> + lps0_dsm_func_mask, lps0_dsm_guid); >> } else { >> - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF); >> - acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY); >> + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF, >> + lps0_dsm_func_mask, lps0_dsm_guid); >> + acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY, >> + lps0_dsm_func_mask, lps0_dsm_guid); >> } >> >> return 0; >> @@ -428,11 +433,15 @@ 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); >> + acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT_AMD, >> + lps0_dsm_func_mask, lps0_dsm_guid); >> + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON_AMD, >> + lps0_dsm_func_mask, lps0_dsm_guid); >> } else { >> - acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT); >> - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON); >> + acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT, >> + lps0_dsm_func_mask, lps0_dsm_guid); >> + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON, >> + lps0_dsm_func_mask, lps0_dsm_guid); >> } >> } >> >> -- >> 2.25.1 >>
On Fri, Jun 18, 2021 at 6:34 PM Limonciello, Mario <mario.limonciello@amd.com> wrote: > > On 6/18/2021 11:30, Rafael J. Wysocki wrote: > > On Thu, Jun 17, 2021 at 6:42 PM Mario Limonciello > > <mario.limonciello@amd.com> wrote: > >> > >> From: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com> > >> > >> Required for follow-up patch adding new UUID > >> needing new function mask. > >> > >> Signed-off-by: Pratik Vishwakarma <Pratik.Vishwakarma@amd.com> > > > > Your s-o-b is missing. > > My apologies. If I need to spin the series I'll explicitly add it with > all the other tags that have come through, otherwise: > > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> OK Applied as 5.14 material along with the rest of the series, thanks!
diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c index c0cba025072f..0d19669ac7ad 100644 --- a/drivers/acpi/x86/s2idle.c +++ b/drivers/acpi/x86/s2idle.c @@ -309,14 +309,15 @@ static void lpi_check_constraints(void) } } -static void acpi_sleep_run_lps0_dsm(unsigned int func) +static void acpi_sleep_run_lps0_dsm(unsigned int func, unsigned int func_mask, guid_t dsm_guid) { union acpi_object *out_obj; - if (!(lps0_dsm_func_mask & (1 << func))) + if (!(func_mask & (1 << func))) return; - out_obj = acpi_evaluate_dsm(lps0_device_handle, &lps0_dsm_guid, rev_id, func, NULL); + out_obj = acpi_evaluate_dsm(lps0_device_handle, &dsm_guid, + rev_id, func, NULL); ACPI_FREE(out_obj); acpi_handle_debug(lps0_device_handle, "_DSM function %u evaluation %s\n", @@ -412,11 +413,15 @@ int acpi_s2idle_prepare_late(void) lpi_check_constraints(); if (acpi_s2idle_vendor_amd()) { - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD); - acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD); + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF_AMD, + lps0_dsm_func_mask, lps0_dsm_guid); + acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY_AMD, + lps0_dsm_func_mask, lps0_dsm_guid); } else { - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF); - acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY); + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_OFF, + lps0_dsm_func_mask, lps0_dsm_guid); + acpi_sleep_run_lps0_dsm(ACPI_LPS0_ENTRY, + lps0_dsm_func_mask, lps0_dsm_guid); } return 0; @@ -428,11 +433,15 @@ 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); + acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT_AMD, + lps0_dsm_func_mask, lps0_dsm_guid); + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON_AMD, + lps0_dsm_func_mask, lps0_dsm_guid); } else { - acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT); - acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON); + acpi_sleep_run_lps0_dsm(ACPI_LPS0_EXIT, + lps0_dsm_func_mask, lps0_dsm_guid); + acpi_sleep_run_lps0_dsm(ACPI_LPS0_SCREEN_ON, + lps0_dsm_func_mask, lps0_dsm_guid); } }