Alexander Couzens (lynxis@fe80.eu) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10797
-gerrit
commit 80f065689b413e5ad586f9cbba0ebe2377f31b35 Author: Alexander Couzens lynxis@fe80.eu Date: Thu Jul 2 16:58:19 2015 +0200
lenovo/x201: run `enable acpi` smi before s3 resume
Fixes missing ec event bug. After multiple suspend resume cycles no EC event are processed because the EC doesn't notice the OSPM anymore.
Calling the acpi resume handler fix this by calling: ec_write(0x80, 0x01); /* discard all events, and enable attention */
Change-Id: I157e69e6e1e643c7b5d94f5efd87adf899b15443 Signed-off-by: Alexander Couzens lynxis@fe80.eu --- src/mainboard/lenovo/x201/mainboard.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/src/mainboard/lenovo/x201/mainboard.c b/src/mainboard/lenovo/x201/mainboard.c index 62e4fc9..ff13fb7 100644 --- a/src/mainboard/lenovo/x201/mainboard.c +++ b/src/mainboard/lenovo/x201/mainboard.c @@ -122,6 +122,12 @@ static void mainboard_enable(device_t dev)
}
+void mainboard_suspend_resume(void) +{ + /* Enable ACPI mode before OS resume */ + outb(0xe1, 0xb2); +} + struct chip_operations mainboard_ops = { .enable_dev = mainboard_enable, };