[coreboot-gerrit] Change in coreboot[master]: ec/google/wilco: Save and restore PS/2 data for S3

Duncan Laurie (Code Review) gerrit at coreboot.org
Tue Oct 16 00:54:35 CEST 2018


Duncan Laurie has uploaded this change for review. ( https://review.coreboot.org/29120


Change subject: ec/google/wilco: Save and restore PS/2 data for S3
......................................................................

ec/google/wilco: Save and restore PS/2 data for S3

Send a command to the EC on the way into S3 suspend state telling
it to save the PS/2 data, and on resume send it a command for
restoring the PS/2 data that was previously saved.

Change-Id: Ic4b5d6d2656dbb1c476b9211b0d60c71b0cd7b32
Signed-off-by: Duncan Laurie <dlaurie at google.com>
---
M src/ec/google/wilco/chip.c
M src/ec/google/wilco/commands.h
M src/ec/google/wilco/smihandler.c
3 files changed, 12 insertions(+), 0 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/20/29120/1

diff --git a/src/ec/google/wilco/chip.c b/src/ec/google/wilco/chip.c
index fe4ef6a..d8ec281 100644
--- a/src/ec/google/wilco/chip.c
+++ b/src/ec/google/wilco/chip.c
@@ -44,6 +44,13 @@
 BOOT_STATE_INIT_ENTRY(BS_DEV_INIT, BS_ON_EXIT,
 		      wilco_ec_post_video_init, NULL);
 
+static void wilco_ec_suspend_resume(void *unused)
+{
+	wilco_ec_send_noargs(KB_RESTORE);
+}
+BOOT_STATE_INIT_ENTRY(BS_OS_RESUME, BS_ON_ENTRY,
+		      wilco_ec_suspend_resume, NULL);
+
 static void wilco_ec_init(struct device *dev)
 {
 	if (!dev->enabled)
diff --git a/src/ec/google/wilco/commands.h b/src/ec/google/wilco/commands.h
index a74e1b2..eeb6d30 100644
--- a/src/ec/google/wilco/commands.h
+++ b/src/ec/google/wilco/commands.h
@@ -25,6 +25,10 @@
 	KB_POWER_STATUS = 0x05,
 	/* Inform the EC aboout the reason host is turning off */
 	KB_POWER_OFF = 0x08,
+	/* Save PS/2 data before S3 suspend */
+	KB_SAVE = 0x2f,
+	/* Restore PS/2 data after S3 resume */
+	KB_RESTORE = 0x30,
 	/* Retrieve information about the EC */
 	KB_EC_INFO = 0x38,
 	/* Set ACPI mode on or off */
diff --git a/src/ec/google/wilco/smihandler.c b/src/ec/google/wilco/smihandler.c
index 9fb1518..adad533 100644
--- a/src/ec/google/wilco/smihandler.c
+++ b/src/ec/google/wilco/smihandler.c
@@ -25,6 +25,7 @@
 {
 	switch (slp_type) {
 	case ACPI_S3:
+		wilco_ec_send_noargs(KB_SAVE);
 		wilco_ec_slp_en();
 		break;
 	case ACPI_S5:

-- 
To view, visit https://review.coreboot.org/29120
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic4b5d6d2656dbb1c476b9211b0d60c71b0cd7b32
Gerrit-Change-Number: 29120
Gerrit-PatchSet: 1
Gerrit-Owner: Duncan Laurie <dlaurie at chromium.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20181015/942390bf/attachment-0001.html>


More information about the coreboot-gerrit mailing list