[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8b35de7b-072f-128c-6a3f-c7da5a1b91b8@molgen.mpg.de>
Date: Wed, 17 Mar 2021 22:26:33 +0100
From: Paul Menzel <pmenzel@...gen.mpg.de>
To: "Rafael J. Wysocki" <rjw@...ysocki.net>
Cc: LKML <linux-kernel@...r.kernel.org>, linux-pm@...r.kernel.org,
David Box <david.e.box@...ux.intel.com>,
linux-acpi@...r.kernel.org
Subject: Re: [PATCH] ACPI: scan: Turn off unused power resources during
initialization
Dear Rafael,
Am 17.03.21 um 17:49 schrieb Rafael J. Wysocki:
> From: Rafael J. Wysocki <rafael.j.wysocki@...el.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@...ux.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@...el.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)
> {
Powered by blists - more mailing lists