Linux-ACPI Archive on lore.kernel.org
 help / color / Atom feed
From: Erik Kaneda <erik.kaneda@intel.com>
To: "Rafael J . Wysocki" <rafael@kernel.org>, linux-acpi@vger.kernel.org
Cc: Anchal Agarwal <anchalag@amazon.com>,
	Balbir Singh <sblbir@amazon.com>,
	Frank van der Linden <fllinden@amazon.com>,
	Erik Kaneda <erik.kaneda@intel.com>,
	Bob Moore <robert.moore@intel.com>
Subject: [PATCH 04/10] ACPICA: Enable sleep button on ACPI legacy wake
Date: Fri, 14 Feb 2020 10:47:58 -0800
Message-ID: <20200214184804.15114-5-erik.kaneda@intel.com> (raw)
In-Reply-To: <20200214184804.15114-1-erik.kaneda@intel.com>

From: Anchal Agarwal <anchalag@amazon.com>

ACPICA commit 9383f5b01091e432c05f802a57edc20d329eec1f

Hibernation (S4) is triggered in a guest when it recieves a sleep
trigger from the hypervisor. When the guest resumes from this power
state, it does not see the sleep_enabled bit. In otherwords, the sleep
button is not enabled on waking from an S4 state. This causes
subsequent invocation of sleep state to fail in the guest.

Fix this problem by enabling the sleep button in ACPI legacy wake.

Signed-off-by: Anchal Agarwal <anchalag@amazon.com>
Reviewed-by: Balbir Singh <sblbir@amazon.com>
Reviewed-by: Frank van der Linden <fllinden@amazon.com>
[ ek: changelog]

Link: https://github.com/acpica/acpica/commit/9383f5b0
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
Signed-off-by: Anchal Agarwal <anchalag@amazon.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
---
 drivers/acpi/acpica/hwsleep.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/acpi/acpica/hwsleep.c b/drivers/acpi/acpica/hwsleep.c
index 243a25add28f..317ae870336b 100644
--- a/drivers/acpi/acpica/hwsleep.c
+++ b/drivers/acpi/acpica/hwsleep.c
@@ -300,6 +300,18 @@ 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);
 }
-- 
2.21.0


  parent reply index

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-14 18:47 [PATCH 00/10] ACPICA release 20200214 Erik Kaneda
2020-02-14 18:47 ` [PATCH 01/10] ACPICA: ASL-ASL+ converter: remove function parameters from cv_init_file_tree () Erik Kaneda
2020-02-14 18:47 ` [PATCH 02/10] ACPICA: ASL-ASL+ converter: make root file a parameter for cv_init_file_tree Erik Kaneda
2020-02-14 18:47 ` [PATCH 03/10] ACPICA: Fix a comment "enable" fixed events -> "disable" all fixed events Erik Kaneda
2020-02-14 18:47 ` Erik Kaneda [this message]
2020-02-14 18:47 ` [PATCH 05/10] ACPICA: Table Manager: Update comments in a function header Erik Kaneda
2020-02-14 18:48 ` [PATCH 06/10] ACPICA: cast the result of the pointer difference to u32 Erik Kaneda
2020-02-14 18:48 ` [PATCH 07/10] ACPICA: cast length arguement to acpi_ns_build_normalized_path() as u32 Erik Kaneda
2020-02-14 18:48 ` [PATCH 08/10] ACPICA: use acpi_size instead of u32 for prefix_path_length Erik Kaneda
2020-02-14 18:48 ` [PATCH 09/10] ACPICA: Fix a couple of typos Erik Kaneda
2020-02-14 18:48 ` [PATCH 10/10] ACPICA: Update version to 20200214 Version 20200214 Erik Kaneda
2020-02-16  9:22 ` [PATCH 00/10] ACPICA release 20200214 Rafael J. Wysocki

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200214184804.15114-5-erik.kaneda@intel.com \
    --to=erik.kaneda@intel.com \
    --cc=anchalag@amazon.com \
    --cc=fllinden@amazon.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=robert.moore@intel.com \
    --cc=sblbir@amazon.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-ACPI Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-acpi/0 linux-acpi/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-acpi linux-acpi/ https://lore.kernel.org/linux-acpi \
		linux-acpi@vger.kernel.org
	public-inbox-index linux-acpi

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-acpi


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git