[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0iHVzDzS5zZSTWOdy2CCSkyW74+p2-Et0+EcysOvL2CDg@mail.gmail.com>
Date: Thu, 16 Jan 2020 10:40:08 +0100
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Anchal Agarwal <anchalag@...zon.com>,
Erik Kaneda <erik.kaneda@...el.com>,
Robert Moore <robert.moore@...el.com>
Cc: Rafael Wysocki <rafael.j.wysocki@...el.com>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Len Brown <lenb@...nel.org>,
"open list:ACPI COMPONENT ARCHITECTURE (ACPICA)" <devel@...ica.org>,
"Singh, Balbir" <sblbir@...zon.com>, fllinden@...zon.com
Subject: Re: [RESEND PATCH] ACPICA: Enable sleep button on ACPI legacy wake
On Thu, Jan 16, 2020 at 12:26 AM Anchal Agarwal <anchalag@...zon.com> wrote:
>
> Currently we do not see sleep_enable bit set after guest resumes
> from hibernation. Hibernation is triggered in guest on receiving
> a sleep trigger from the hypervisor(S4 state). We see that power
> button is enabled on wake up from S4 state however sleep button
> isn't. This causes subsequent invocation of sleep state to fail
> in the guest. Any environment going through acpi_hw_legacy_wake()
> won't have sleep button enabled.
>
> Signed-off-by: Anchal Agarwal <anchalag@...zon.com>
> Reviewed-by: Balbir Singh <sblbir@...zon.com>
> Reviewed-by: Frank van der Linden <fllinden@...zon.com>
> ---
> drivers/acpi/acpica/hwsleep.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/acpi/acpica/hwsleep.c b/drivers/acpi/acpica/hwsleep.c
> index b62db8ec446f..a176c7802760 100644
> --- a/drivers/acpi/acpica/hwsleep.c
> +++ b/drivers/acpi/acpica/hwsleep.c
> @@ -300,6 +300,17 @@ acpi_status acpi_hw_legacy_wake(u8 sleep_state)
> [ACPI_EVENT_POWER_BUTTON].
> status_register_id, ACPI_CLEAR_STATUS);
>
> + /* Enable sleep button */
> + (void)
> + acpi_write_bit_register(acpi_gbl_fixed_event_info
> + [ACPI_EVENT_SLEEP_BUTTON].
> + enable_register_id, ACPI_ENABLE_EVENT);
> +
> + (void)
> + acpi_write_bit_register(acpi_gbl_fixed_event_info
> + [ACPI_EVENT_SLEEP_BUTTON].
> + status_register_id, ACPI_CLEAR_STATUS);
> +
> acpi_hw_execute_sleep_method(METHOD_PATHNAME__SST, ACPI_SST_WORKING);
> return_ACPI_STATUS(status);
> }
Erik, Bob, please pick this up if you don't have specific objections against it.
I'll wait for it to show up in an upstream release.
Powered by blists - more mailing lists