Messages in this thread | | | Subject | Re: [PATCH] ACPI: scan: Turn off unused power resources during initialization | From | Paul Menzel <> | Date | Wed, 17 Mar 2021 22:26:33 +0100 |
| |
Dear Rafael,
Am 17.03.21 um 17:49 schrieb Rafael J. Wysocki: > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > It is reported that on certain platforms unused ACPI power resources > that have not been explicitly turned off prevent the platform from > reaching the lowest power state in suspend-to-idle which leads to > excessive power draw. > > For this reason, turn all of the unused ACPI power resources off > at the end of the initial namespace scan for devices in analogy with > resume from suspend-to-RAM. > > Reported-by: David Box <david.e.box@linux.intel.com>
Thank you for the patch. Could you please add more details to the commit message, saying what device this was on, and if there were some error/warning messages pointing to the problem?
Kind regards,
Paul
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > --- > drivers/acpi/internal.h | 1 + > drivers/acpi/scan.c | 2 ++ > drivers/acpi/sleep.h | 1 - > 3 files changed, 3 insertions(+), 1 deletion(-) > > Index: linux-pm/drivers/acpi/internal.h > =================================================================== > --- linux-pm.orig/drivers/acpi/internal.h > +++ linux-pm/drivers/acpi/internal.h > @@ -139,6 +139,7 @@ int acpi_device_sleep_wake(struct acpi_d > int acpi_power_get_inferred_state(struct acpi_device *device, int *state); > int acpi_power_on_resources(struct acpi_device *device, int state); > int acpi_power_transition(struct acpi_device *device, int state); > +void acpi_turn_off_unused_power_resources(void); > > /* -------------------------------------------------------------------------- > Device Power Management > Index: linux-pm/drivers/acpi/scan.c > =================================================================== > --- linux-pm.orig/drivers/acpi/scan.c > +++ linux-pm/drivers/acpi/scan.c > @@ -2360,6 +2360,8 @@ int __init acpi_scan_init(void) > } > } > > + acpi_turn_off_unused_power_resources(); > + > acpi_scan_initialized = true; > > out: > Index: linux-pm/drivers/acpi/sleep.h > =================================================================== > --- linux-pm.orig/drivers/acpi/sleep.h > +++ linux-pm/drivers/acpi/sleep.h > @@ -8,7 +8,6 @@ extern struct list_head acpi_wakeup_devi > extern struct mutex acpi_device_lock; > > extern void acpi_resume_power_resources(void); > -extern void acpi_turn_off_unused_power_resources(void); > > static inline acpi_status acpi_set_waking_vector(u32 wakeup_address) > {
| |