From 79dfa909bb4e04b699fb28773855bade922ea50f Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Sun, 22 Mar 2020 01:17:54 +0100 Subject: superio: Replace D1/D2 power states with D3 Spec says if any object to control the power state exists, at least D0 and D3 must be supported. And it seems Windows complains about the missing D3 support: https://ticket.coreboot.org/issues/257 Windows reported `*** STOP: 0x000000A5` with the first parameter `0x000000000000000D` (refers to a missing ACPI object) and the third parameter `0x000000003353505F` which is the name of the object in ASCII, little-endian (`_PS3`). Change-Id: Ifa28a7c56575848e76e4a1c542866413b4c44d50 Signed-off-by: Nico Huber Closes: https://ticket.coreboot.org/issues/257 Reviewed-on: https://review.coreboot.org/c/coreboot/+/39746 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Angel Pons --- src/superio/winbond/w83627hf/acpi/superio.asl | 32 +++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'src/superio/winbond/w83627hf') diff --git a/src/superio/winbond/w83627hf/acpi/superio.asl b/src/superio/winbond/w83627hf/acpi/superio.asl index c1293ffc93..d5c5ec9026 100644 --- a/src/superio/winbond/w83627hf/acpi/superio.asl +++ b/src/superio/winbond/w83627hf/acpi/superio.asl @@ -166,12 +166,12 @@ Device(SIO) { Release (CRMX) } - /* PM: indicate IPD (Immediate Power Down) bit state as D0/D2 */ + /* PM: indicate IPD (Immediate Power Down) bit state as D0/D3 */ Method (_PSC) { ENCM (0xFF) Store (IPD, Local0) EXCM () - If (Local0) { Return (2) } + If (Local0) { Return (3) } Else { Return (0) } } @@ -182,8 +182,8 @@ Device(SIO) { EXCM () } - /* PM: Switch to D2 by setting IPD high */ - Method (_PS2) { + /* PM: Switch to D3 by setting IPD high */ + Method (_PS3) { ENCM (0xFF) Store (One, IPD) EXCM () @@ -220,7 +220,7 @@ Device(SIO) { ENCM (0xFF) Store (FDPW, Local0) EXCM () - If (Local0) { Return (1) } + If (Local0) { Return (3) } Else { Return (0) } } /* Disable power saving mode */ @@ -230,7 +230,7 @@ Device(SIO) { EXCM () } /* Enable power saving mode */ - Method (_PS1) { + Method (_PS3) { ENCM (0xFF) Store (Zero, FDPW) EXCM () @@ -441,7 +441,7 @@ Device(SIO) { ENCM (0xFF) Store (PRPW, Local0) EXCM () - If (Local0) { Return (1) } + If (Local0) { Return (3) } Else { Return (0) } } Method (_PS0) { @@ -449,7 +449,7 @@ Device(SIO) { Store (One, PRPW) EXCM () } - Method (_PS1) { + Method (_PS3) { ENCM (0xFF) Store (Zero, PRPW) EXCM () @@ -618,7 +618,7 @@ Device(SIO) { ENCM (0xFF) Store (UAPW, Local0) EXCM () - If (Local0) { Return (1) } + If (Local0) { Return (3) } Else { Return (0) } } Method (_PS0) { @@ -626,7 +626,7 @@ Device(SIO) { Store (One, UAPW) EXCM () } - Method (_PS1) { + Method (_PS3) { ENCM (0xFF) Store (Zero, UAPW) EXCM () @@ -743,7 +743,7 @@ Device(SIO) { ENCM (0xFF) Store (UBPW, Local0) EXCM () - If (Local0) { Return (1) } + If (Local0) { Return (3) } Else { Return (0) } } Method (_PS0) { @@ -751,7 +751,7 @@ Device(SIO) { Store (One, UBPW) EXCM () } - Method (_PS1) { + Method (_PS3) { ENCM (0xFF) Store (Zero, UBPW) EXCM () @@ -868,7 +868,7 @@ Device(SIO) { ENCM (0xFF) Store (UBPW, Local0) EXCM () - If (Local0) { Return (1) } + If (Local0) { Return (3) } Else { Return (0) } } Method (_PS0) { @@ -876,7 +876,7 @@ Device(SIO) { Store (One, UBPW) EXCM () } - Method (_PS1) { + Method (_PS3) { ENCM (0xFF) Store (Zero, UBPW) EXCM () @@ -1391,7 +1391,7 @@ Device(SIO) { ENCM (0xFF) Store (HWPW, Local0) EXCM () - If (Local0) { Return (1) } + If (Local0) { Return (3) } Else { Return (0) } } @@ -1402,7 +1402,7 @@ Device(SIO) { EXCM () } - Method (_PS1) + Method (_PS3) { ENCM (0xFF) Store (Zero, HWPW) -- cgit v1.2.3