Created
August 28, 2018 01:01
-
-
Save nicholaspufal/eb4732bcdadceb5df7fc969a77d113e5 to your computer and use it in GitHub Desktop.
X1C6 (Thinkpad X1 Carbon 6th gen) patch to add ACPI S3 sleep state support
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- dsdt.dsl 2018-03-03 14:47:12.279105691 +0100 | |
+++ dsdt.dsl 2018-03-03 14:26:30.606427931 +0100 | |
@@ -18,9 +18,8 @@ | |
* Compiler ID "INTL" | |
* Compiler Version 0x20160527 (538314023) | |
*/ | |
-DefinitionBlock ("", "DSDT", 2, "LENOVO", "SKL ", 0x00000000) | |
+DefinitionBlock ("", "DSDT", 2, "LENOVO", "SKL ", 0x00000001) | |
{ | |
- External (_GPE.TBNF, MethodObj) // 0 Arguments | |
External (_PR_.BGIA, UnknownObj) | |
External (_PR_.BGMA, UnknownObj) | |
External (_PR_.BGMS, UnknownObj) | |
@@ -40,19 +39,15 @@ | |
External (_PR_.PDTS, UnknownObj) | |
External (_PR_.PKGA, UnknownObj) | |
External (_PR_.POWS, UnknownObj) | |
- External (_PR_.PR00, DeviceObj) | |
External (_PR_.PR00.LPSS, PkgObj) | |
External (_PR_.PR00.TPSS, PkgObj) | |
External (_PR_.TRPD, UnknownObj) | |
External (_PR_.TRPF, UnknownObj) | |
- External (_SB_.GGIV, MethodObj) // 1 Arguments | |
- External (_SB_.GGOV, MethodObj) // 1 Arguments | |
External (_SB_.IETM, DeviceObj) | |
External (_SB_.IETM.DPTE, UnknownObj) | |
External (_SB_.PCI0.B0D4.NPCC, PkgObj) | |
External (_SB_.PCI0.CTCD, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.CTCN, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.GFX0, DeviceObj) | |
External (_SB_.PCI0.GFX0.AINT, MethodObj) // 2 Arguments | |
External (_SB_.PCI0.GFX0.ALSI, UnknownObj) | |
External (_SB_.PCI0.GFX0.CBLV, UnknownObj) | |
@@ -71,109 +66,81 @@ | |
External (_SB_.PCI0.HDAS.PS3X, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.HIDW, MethodObj) // 4 Arguments | |
External (_SB_.PCI0.HIWC, MethodObj) // 1 Arguments | |
- External (_SB_.PCI0.ISP0, DeviceObj) | |
- External (_SB_.PCI0.LPCB.EC__.HKEY.DYTC, MethodObj) // 1 Arguments | |
External (_SB_.PCI0.LPCB.H_EC.XDAT, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.PAUD.PUAM, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.PEG0, DeviceObj) | |
- External (_SB_.PCI0.PEG0.PEGP, DeviceObj) | |
External (_SB_.PCI0.PEG0.PG00.PEGP, DeviceObj) | |
- External (_SB_.PCI0.PEG1, DeviceObj) | |
External (_SB_.PCI0.PEG1.PG01.PEGP, DeviceObj) | |
- External (_SB_.PCI0.PEG2, DeviceObj) | |
External (_SB_.PCI0.PEG2.PG02.PEGP, DeviceObj) | |
External (_SB_.PCI0.PTDP, UnknownObj) | |
External (_SB_.PCI0.RP01.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP01.PXSX, DeviceObj) | |
- External (_SB_.PCI0.RP01.PXSX.WGST, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP01.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP02.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP02.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP02.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP02.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP03.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP03.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP03.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP03.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP04.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP04.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP04.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP04.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP05.PON_, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP05.PWRG, UnknownObj) | |
- External (_SB_.PCI0.RP05.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP05.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP05.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP05.RSTG, UnknownObj) | |
External (_SB_.PCI0.RP05.SCLK, UnknownObj) | |
External (_SB_.PCI0.RP06.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP06.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP06.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP06.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP07.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP07.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP07.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP07.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP08.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP08.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP08.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP08.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP09.PEGP.NVST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP09.PON_, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP09.PWRG, UnknownObj) | |
- External (_SB_.PCI0.RP09.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP09.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP09.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP09.RSTG, UnknownObj) | |
External (_SB_.PCI0.RP09.SCLK, UnknownObj) | |
External (_SB_.PCI0.RP10.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP10.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP10.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP10.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP11.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP11.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP11.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP11.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP12.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP12.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP12.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP12.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP13.PON_, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP13.PWRG, UnknownObj) | |
- External (_SB_.PCI0.RP13.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP13.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP13.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP13.RSTG, UnknownObj) | |
External (_SB_.PCI0.RP13.SCLK, UnknownObj) | |
External (_SB_.PCI0.RP14.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP14.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP14.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP14.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP15.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP15.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP15.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP15.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP16.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP16.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP16.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP16.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP17.PON_, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP17.PWRG, UnknownObj) | |
- External (_SB_.PCI0.RP17.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP17.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP17.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP17.RSTG, UnknownObj) | |
External (_SB_.PCI0.RP17.SCLK, UnknownObj) | |
External (_SB_.PCI0.RP18.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP18.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP18.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP18.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP19.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP19.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP19.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP19.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP20.PON_, MethodObj) // 0 Arguments | |
- External (_SB_.PCI0.RP20.PXSX, DeviceObj) | |
External (_SB_.PCI0.RP20.PXSX.WGST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.RP20.PXSX.WIST, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.SAT0.NVM1.VLPM, UnknownObj) | |
@@ -192,20 +159,15 @@ | |
External (_SB_.PCI0.XHC_.RHUB.PS0X, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.XHC_.RHUB.PS2X, MethodObj) // 0 Arguments | |
External (_SB_.PCI0.XHC_.RHUB.PS3X, MethodObj) // 0 Arguments | |
- External (_SB_.SGOV, MethodObj) // 2 Arguments | |
- External (_SB_.TBFP, MethodObj) // 1 Arguments | |
External (_SB_.TPM_.PTS_, MethodObj) // 1 Arguments | |
External (_SB_.UBTC.NTFY, MethodObj) // 0 Arguments | |
External (_TZ_.ETMD, IntObj) | |
External (_TZ_.TZ00, DeviceObj) | |
External (_TZ_.TZ01, DeviceObj) | |
- External (ADBG, MethodObj) // 1 Arguments | |
External (ALSE, UnknownObj) | |
- External (BNUM, UnknownObj) | |
External (BRTL, UnknownObj) | |
External (CFGD, UnknownObj) | |
External (DIDX, UnknownObj) | |
- External (DX2H, MethodObj) // 2 Arguments | |
External (GSMI, UnknownObj) | |
External (IGDS, UnknownObj) | |
External (LHIH, UnknownObj) | |
@@ -215,29 +177,6 @@ | |
External (M32L, UnknownObj) | |
External (M64B, UnknownObj) | |
External (M64L, UnknownObj) | |
- External (MBGS, MethodObj) // 1 Arguments | |
- External (MMRP, MethodObj) // 1 Arguments | |
- External (MMTB, MethodObj) // 1 Arguments | |
- External (ODV0, IntObj) | |
- External (ODV1, IntObj) | |
- External (ODV2, IntObj) | |
- External (ODV3, IntObj) | |
- External (ODV4, IntObj) | |
- External (ODV5, IntObj) | |
- External (ODV6, IntObj) | |
- External (ODV7, IntObj) | |
- External (ODV8, IntObj) | |
- External (ODV9, IntObj) | |
- External (ODVA, IntObj) | |
- External (ODVB, IntObj) | |
- External (ODVC, IntObj) | |
- External (ODVD, IntObj) | |
- External (ODVE, IntObj) | |
- External (ODVF, IntObj) | |
- External (ODVG, IntObj) | |
- External (ODVH, IntObj) | |
- External (ODVI, IntObj) | |
- External (ODVJ, IntObj) | |
External (PC00, IntObj) | |
External (PC01, UnknownObj) | |
External (PC02, UnknownObj) | |
@@ -256,9 +195,6 @@ | |
External (PC15, UnknownObj) | |
External (PTTB, UnknownObj) | |
External (SGMD, UnknownObj) | |
- External (STDV, IntObj) | |
- External (TBTD, MethodObj) // 1 Arguments | |
- External (TBTF, MethodObj) // 1 Arguments | |
Name (MBUF, Buffer (0x4000){}) | |
OperationRegion (MDBR, SystemMemory, 0xAB52C018, 0x00004008) | |
@@ -415,9 +351,7 @@ | |
Name (SS1, 0x00) | |
Name (SS2, 0x00) | |
Name (SS3, One) | |
- One | |
Name (SS4, One) | |
- One | |
OperationRegion (GNVS, SystemMemory, 0xAB54E000, 0x0767) | |
Field (GNVS, AnyAcc, Lock, Preserve) | |
{ | |
@@ -13824,8 +13758,7 @@ | |
If ((DerefOf (Arg0 [0x00]) == 0x01)) | |
{ | |
ADBG (Concatenate ("POFF GPIO=", ToHexString (DerefOf (Arg0 [0x02])))) | |
- \_SB.SGOV (DerefOf (Arg0 [0x02]), (DerefOf (Arg0 [0x03]) ^ | |
- 0x01)) | |
+ \_SB.SGOV (DerefOf (Arg0 [0x02]), (DerefOf (Arg0 [0x03]) ^ 0x01)) | |
} | |
If ((DerefOf (Arg0 [0x00]) == 0x02)) | |
@@ -27559,6 +27492,13 @@ | |
0x00, | |
0x00 | |
}) | |
+ Name (\_S3, Package (0x04) // _S3_: S3 System State | |
+ { | |
+ 0x05, | |
+ 0x05, | |
+ 0x00, | |
+ 0x00 | |
+ }) | |
Name (\_S4, Package (0x04) // _S4_: S4 System State | |
{ | |
0x06, | |
@@ -34795,4 +34735,3 @@ | |
} | |
} | |
} | |
- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment