[coreboot-gerrit] Patch set updated for coreboot: 5dd48ae AMD Kabini: fix issue 'S3 fails to suspend after wake up from USB keyboard'

Zheng Bao (zheng.bao@amd.com) gerrit at coreboot.org
Thu Dec 5 11:14:46 CET 2013


Zheng Bao (zheng.bao at amd.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4261

-gerrit

commit 5dd48aef89101be72823f66c3f4dac55623e1ae3
Author: Zheng Bao <fishbaozi at gmail.com>
Date:   Thu Nov 21 16:12:27 2013 +0800

    AMD Kabini: fix issue 'S3 fails to suspend after wake up from USB keyboard'
    
    Propagated from
    http://review.coreboot.org/3347
    http://review.coreboot.org/3374
    
    The cause of this issue is:
    USB devices use bit 11(0x0b) of GP0_STS represents S3 wake up event,
    but this bit is not clear after wake up. So OS thinks there is a
    wake up signal and wake up immediately.
    
    Both amd/olivehill and asrock/imb-a180 have been validated.
    
    Change-Id: I7c26cb07bcd2e62bb792809b67314e5155c6adf6
    Signed-off-by: Zheng Bao <zheng.bao at amd.com>
    Signed-off-by: Zheng Bao <fishbaozi at gmail.com>
---
 src/mainboard/amd/olivehill/acpi/mainboard.asl   | 7 +++++++
 src/mainboard/amd/olivehill/acpi/sleep.asl       | 2 ++
 src/mainboard/asrock/imb-a180/acpi/mainboard.asl | 7 +++++++
 src/mainboard/asrock/imb-a180/acpi/sleep.asl     | 2 ++
 4 files changed, 18 insertions(+)

diff --git a/src/mainboard/amd/olivehill/acpi/mainboard.asl b/src/mainboard/amd/olivehill/acpi/mainboard.asl
index 5487b79..4045143 100644
--- a/src/mainboard/amd/olivehill/acpi/mainboard.asl
+++ b/src/mainboard/amd/olivehill/acpi/mainboard.asl
@@ -32,3 +32,10 @@ Name(SSFG, 0x0D)		/* S1 support: bit 0, S2 Support: bit 1, etc. S0 & S5 assumed
 Name(OSTP, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */
 Name(OSV, Ones)	/* Assume nothing */
 Name(PMOD, One)	/* Assume APIC */
+
+/* AcpiGpe0Blk */
+OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04)
+	Field(GP0B, ByteAcc, NoLock, Preserve) {
+	, 11,
+	USBS, 1,
+}
diff --git a/src/mainboard/amd/olivehill/acpi/sleep.asl b/src/mainboard/amd/olivehill/acpi/sleep.asl
index fc04ecc..2fc2efe 100644
--- a/src/mainboard/amd/olivehill/acpi/sleep.asl
+++ b/src/mainboard/amd/olivehill/acpi/sleep.asl
@@ -89,6 +89,8 @@ Method(\_WAK, 1) {
 	/* DBGO("From S") */
 	/* DBGO(Arg0) */
 	/* DBGO(" to S0\n") */
+	Store(1,USBS)
+
 	\_SB.AWAK(Arg0)
 
 	Return(WKST)
diff --git a/src/mainboard/asrock/imb-a180/acpi/mainboard.asl b/src/mainboard/asrock/imb-a180/acpi/mainboard.asl
index 5487b79..4045143 100644
--- a/src/mainboard/asrock/imb-a180/acpi/mainboard.asl
+++ b/src/mainboard/asrock/imb-a180/acpi/mainboard.asl
@@ -32,3 +32,10 @@ Name(SSFG, 0x0D)		/* S1 support: bit 0, S2 Support: bit 1, etc. S0 & S5 assumed
 Name(OSTP, 3)	/* Assume nothing. WinXp = 1, Vista = 2, Linux = 3, WinCE = 4 */
 Name(OSV, Ones)	/* Assume nothing */
 Name(PMOD, One)	/* Assume APIC */
+
+/* AcpiGpe0Blk */
+OperationRegion(GP0B, SystemMemory, 0xfed80814, 0x04)
+	Field(GP0B, ByteAcc, NoLock, Preserve) {
+	, 11,
+	USBS, 1,
+}
diff --git a/src/mainboard/asrock/imb-a180/acpi/sleep.asl b/src/mainboard/asrock/imb-a180/acpi/sleep.asl
index fc04ecc..2fc2efe 100644
--- a/src/mainboard/asrock/imb-a180/acpi/sleep.asl
+++ b/src/mainboard/asrock/imb-a180/acpi/sleep.asl
@@ -89,6 +89,8 @@ Method(\_WAK, 1) {
 	/* DBGO("From S") */
 	/* DBGO(Arg0) */
 	/* DBGO(" to S0\n") */
+	Store(1,USBS)
+
 	\_SB.AWAK(Arg0)
 
 	Return(WKST)



More information about the coreboot-gerrit mailing list