/* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20220331 (64-bit version) * Copyright (c) 2000 - 2022 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of ssdt7.dat, Tue Jul 9 08:32:00 2024 * * Original Table Header: * Signature "SSDT" * Length 0x00000DEC (3564) * Revision 0x02 * Checksum 0xA8 * OEM ID "LENOVO" * OEM Table ID "GpMsSsdt" * OEM Revision 0x00000001 (1) * Compiler ID "INTL" * Compiler Version 0x20180313 (538444563) */ DefinitionBlock ("", "SSDT", 2, "LENOVO", "GpMsSsdt", 0x00000001) { External (_SB_.PCI0.GPP1, DeviceObj) External (_SB_.PCI0.GPP2, DeviceObj) External (_SB_.PCI0.GPP2.WWAN, DeviceObj) External (_SB_.PCI0.GPP5, DeviceObj) External (_SB_.PCI0.GPP5.RTL8, DeviceObj) External (_SB_.PCI0.GPP6, DeviceObj) External (_SB_.PCI0.GPP6.WLAN, DeviceObj) External (_SB_.PCI0.GPP7, DeviceObj) External (_SB_.PCI0.GPP7._ADR, IntObj) External (_SB_.PCI0.GPP7.DEV0, DeviceObj) External (M017, MethodObj) // 6 Arguments External (M019, MethodObj) // 4 Arguments External (M020, MethodObj) // 5 Arguments External (M037, DeviceObj) External (M046, IntObj) External (M047, IntObj) External (M050, DeviceObj) External (M051, DeviceObj) External (M052, DeviceObj) External (M053, DeviceObj) External (M054, DeviceObj) External (M055, DeviceObj) External (M056, DeviceObj) External (M057, DeviceObj) External (M058, DeviceObj) External (M059, DeviceObj) External (M062, DeviceObj) External (M068, DeviceObj) External (M069, DeviceObj) External (M070, DeviceObj) External (M071, DeviceObj) External (M072, DeviceObj) External (M074, DeviceObj) External (M075, DeviceObj) External (M076, DeviceObj) External (M077, DeviceObj) External (M078, DeviceObj) External (M079, DeviceObj) External (M080, DeviceObj) External (M081, DeviceObj) External (M082, FieldUnitObj) External (M083, FieldUnitObj) External (M084, FieldUnitObj) External (M085, FieldUnitObj) External (M086, FieldUnitObj) External (M087, FieldUnitObj) External (M088, FieldUnitObj) External (M089, FieldUnitObj) External (M090, FieldUnitObj) External (M091, FieldUnitObj) External (M092, FieldUnitObj) External (M093, FieldUnitObj) External (M094, FieldUnitObj) External (M095, FieldUnitObj) External (M096, FieldUnitObj) External (M097, FieldUnitObj) External (M098, FieldUnitObj) External (M099, FieldUnitObj) External (M100, FieldUnitObj) External (M101, FieldUnitObj) External (M102, FieldUnitObj) External (M103, FieldUnitObj) External (M104, FieldUnitObj) External (M105, FieldUnitObj) External (M106, FieldUnitObj) External (M107, FieldUnitObj) External (M108, FieldUnitObj) External (M109, FieldUnitObj) External (M110, FieldUnitObj) External (M115, BuffObj) External (M116, BuffFieldObj) External (M117, BuffFieldObj) External (M118, BuffFieldObj) External (M119, BuffFieldObj) External (M120, BuffFieldObj) External (M122, FieldUnitObj) External (M127, DeviceObj) External (M128, FieldUnitObj) External (M131, FieldUnitObj) External (M132, FieldUnitObj) External (M133, FieldUnitObj) External (M134, FieldUnitObj) External (M135, FieldUnitObj) External (M136, FieldUnitObj) External (M220, FieldUnitObj) External (M221, FieldUnitObj) External (M226, FieldUnitObj) External (M227, DeviceObj) External (M229, FieldUnitObj) External (M231, FieldUnitObj) External (M233, FieldUnitObj) External (M235, FieldUnitObj) External (M23A, FieldUnitObj) External (M251, FieldUnitObj) External (M280, FieldUnitObj) External (M290, FieldUnitObj) External (M29A, FieldUnitObj) External (M310, FieldUnitObj) External (M31C, FieldUnitObj) External (M320, FieldUnitObj) External (M321, FieldUnitObj) External (M322, FieldUnitObj) External (M323, FieldUnitObj) External (M324, FieldUnitObj) External (M325, FieldUnitObj) External (M326, FieldUnitObj) External (M327, FieldUnitObj) External (M328, FieldUnitObj) External (M329, DeviceObj) External (M32A, DeviceObj) External (M32B, DeviceObj) External (M330, DeviceObj) External (M331, FieldUnitObj) External (M378, FieldUnitObj) External (M379, FieldUnitObj) External (M380, FieldUnitObj) External (M381, FieldUnitObj) External (M382, FieldUnitObj) External (M383, FieldUnitObj) External (M384, FieldUnitObj) External (M385, FieldUnitObj) External (M386, FieldUnitObj) External (M387, FieldUnitObj) External (M388, FieldUnitObj) External (M389, FieldUnitObj) External (M390, FieldUnitObj) External (M391, FieldUnitObj) External (M392, FieldUnitObj) External (M404, BuffObj) External (M408, MutexObj) External (M414, FieldUnitObj) External (M444, FieldUnitObj) External (M449, FieldUnitObj) External (M453, FieldUnitObj) External (M454, FieldUnitObj) External (M455, FieldUnitObj) External (M456, FieldUnitObj) External (M457, FieldUnitObj) External (M460, MethodObj) // 7 Arguments External (M4C0, FieldUnitObj) External (M4F0, FieldUnitObj) External (M610, FieldUnitObj) External (M620, FieldUnitObj) External (M631, FieldUnitObj) External (M652, FieldUnitObj) Scope (\_SB.PCI0.GPP1) { Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { M460 ("PLA-ASL-\\_SB.PCI0.GPP1._PRW Return GPRW (0x8, 0x4)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Return (Package (0x02) { 0x08, 0x04 }) } } Scope (\_SB.PCI0.GPP2) { Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { M460 ("PLA-ASL-\\_SB.PCI0.GPP2._PRW Return GPRW (0x8, 0x4)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Return (Package (0x02) { 0x16, 0x03 }) } } Scope (\_SB.PCI0.GPP2.WWAN) { Name (_S0W, 0x04) // _S0W: S0 Device Wake State } Scope (\_SB.PCI0.GPP5) { Name (_S0W, 0x04) // _S0W: S0 Device Wake State Name (EWPM, 0x00) Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If ((EWPM == 0x01)) { M460 ("PLA-ASL-\\_SB.PCI0.GPP5._PRW Return GPRW (0xF, 0x4)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Return (Package (0x02) { 0x0F, 0x04 }) } Else { M460 ("PLA-ASL-\\_SB.PCI0.GPP5._PRW Return GPRW (0xF, 0x0)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Return (Package (0x02) { 0x0F, 0x00 }) } } } Scope (\_SB.PCI0.GPP5.RTL8) { Name (_S0W, 0x04) // _S0W: S0 Device Wake State } Scope (\_SB.PCI0.GPP6) { Name (_S0W, 0x00) // _S0W: S0 Device Wake State Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { M460 ("PLA-ASL-\\_SB.PCI0.GPP6._PRW Return GPRW (0xE, 0x4)\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Return (Package (0x02) { 0x0E, 0x04 }) } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { M460 ("PLA-ASL-\\_SB.PCI0.GPP6._DSW\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) } } Scope (\_SB.PCI0.GPP6.WLAN) { OperationRegion (PCIC, PCI_Config, 0x00, 0x04) Field (PCIC, WordAcc, NoLock, Preserve) { DVID, 16, DDID, 16 } Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State { M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._S0W - DID:%x VID:%x\n", DVID, DDID, 0x00, 0x00, 0x00, 0x00) If (((DVID == 0x17CB) && (DDID == 0x1103))) { M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._S0W : 3\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Return (0x03) } Else { M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._S0W : 4\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Return (0x04) } } Method (QBME, 0, NotSerialized) { Local0 = 0x00 If (((DVID == 0x17CB) && (DDID == 0x1107))) { Local0 = 0x01 } Return (Local0) } Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake { M460 ("PLA-ASL-\\_SB.PCI0.GPP6.WLAN._DSW\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { CreateDWordField (Arg0, 0x00, UID0) M460 (" OEM-ASL-\\_SB.PCI0.GPP6.WLAN._DSM (UUID 0x%X, 0x%X, 0x%X)\n", UID0, Arg1, Arg2, 0x00, 0x00, 0x00) If ((Arg0 == ToUUID ("f634f534-6147-11ec-90d6-0242ac120003") /* Unknown UUID */)) { Switch (ToInteger (Arg2)) { Case (0x00) { Return (Buffer (0x01) { 0x05 // . }) } Case (0x02) { M460 (" OEM-ASL-\\_SB.PCI0.GPP6.WLAN._DSM, Enable D3Cold\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Return (0x10) } Case (0x0B) { Name (FGB, Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 // .... }) Return (FGB) /* \_SB_.PCI0.GPP6.WLAN._DSM.FGB_ */ } } } } } Scope (\_SB.PCI0.GPP7) { Method (_DSD, 0, Serialized) // _DSD: Device-Specific Data { M460 ("PLA-ASL-\\_SB.PCI0.GPP7._DSD\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Return (Package (0x04) { ToUUID ("efcc06cc-73ac-4bc3-bff0-76143807c389") /* Unknown UUID */, Package (0x02) { Package (0x02) { "ExternalFacingPort", 0x01 }, Package (0x02) { "UID", 0x00 } }, ToUUID ("6211e2c0-58a3-4af3-90e1-927a4e0c55a4") /* Unknown UUID */, Package (0x01) { Package (0x02) { "HotPlugSupportInD3", 0x01 } } }) } } Scope (\_SB.PCI0.GPP7.DEV0) { Name (_S0W, 0x04) // _S0W: S0 Device Wake State Name (RPB, 0x00) Name (RPD, 0x00) Name (RPF, 0x00) Method (_RMV, 0, NotSerialized) // _RMV: Removal Status { M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0 _RMV\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Return (0x00) } Method (_INI, 0, Serialized) // _INI: Initialize { M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0._INI\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) RPD = (\_SB.PCI0.GPP7._ADR >> 0x10) RPF = (\_SB.PCI0.GPP7._ADR & 0xFFFF) } Method (SD7E, 0, Serialized) { M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0.SD7E\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Local0 = M017 (RPB, RPD, RPF, 0x19, 0x00, 0x08) If ((M017 (Local0, 0x00, 0x00, 0x08, 0x08, 0x18) == 0x00010802)) { Local0 = M019 (RPB, RPD, RPF, 0x60) M020 (RPB, RPD, RPF, 0x60, Local0) Local0 = M019 (RPB, RPD, RPF, 0x0160) M020 (RPB, RPD, RPF, 0x0160, Local0) } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0._PS0\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) SD7E () } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0._PS3\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) } Method (_DSD, 0, Serialized) // _DSD: Device-Specific Data { M460 ("PLA-ASL-\\_SB.PCI0.GPP7.DEV0._DSD\n", 0x00, 0x00, 0x00, 0x00, 0x00, 0x00) Name (PDSD, Package (0x02) { ToUUID ("5025030f-842f-4ab4-a561-99a5189762d0") /* Unknown UUID */, Package (0x01) { Package (0x02) { "StorageD3Enable", 0x00 } } }) Local0 = M017 (RPB, RPD, RPF, 0x19, 0x00, 0x08) If ((M017 (Local0, 0x00, 0x00, 0x08, 0x08, 0x18) == 0x00010802)) { DerefOf (DerefOf (PDSD [0x01]) [0x00]) [0x01] = 0x01 } Else { DerefOf (DerefOf (PDSD [0x01]) [0x00]) [0x01] = 0x00 } M460 (" - StorageD3Enable:%d\n", DerefOf (DerefOf (DerefOf (PDSD [0x01]) [0x00] ) [0x01]), 0x00, 0x00, 0x00, 0x00, 0x00) Return (PDSD) /* \_SB_.PCI0.GPP7.DEV0._DSD.PDSD */ } } }