/* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20180427 (64-bit version)(RM) * Copyright (c) 2000 - 2018 Intel Corporation * * Disassembling to non-symbolic legacy ASL operators * * Disassembly of SSDT-1-SaSsdt.aml, Thu Sep 27 23:36:55 2018 * * Original Table Header: * Signature "SSDT" * Length 0x000030A3 (12451) * Revision 0x02 * Checksum 0x0B * OEM ID "LENOVO" * OEM Table ID "SaSsdt " * OEM Revision 0x00003000 (12288) * Compiler ID "INTL" * Compiler Version 0x20160527 (538314023) */ DefinitionBlock ("", "SSDT", 2, "LENOVO", "SaSsdt ", 0x00003000) { External (_SB_.LID_._LID, MethodObj) // 0 Arguments (from opcode) External (_SB_.PCI0, DeviceObj) // (from opcode) External (_SB_.PCI0.GFX0, DeviceObj) // (from opcode) External (_SB_.PCI0.GFX0.HDOS, MethodObj) // 0 Arguments (from opcode) External (_SB_.PCI0.GFX0.HNOT, MethodObj) // 1 Arguments (from opcode) External (_SB_.PCI0.LPCB.EC__.BRNS, MethodObj) // 0 Arguments (from opcode) External (_SB_.PCI0.LPCB.EC__.BRTW, PkgObj) // (from opcode) External (BRLV, UnknownObj) // (from opcode) External (CPSC, UnknownObj) // (from opcode) External (DSEN, UnknownObj) // (from opcode) External (ECON, IntObj) // (from opcode) External (GUAM, MethodObj) // 1 Arguments (from opcode) External (OSYS, IntObj) // (from opcode) External (PNHM, IntObj) // (from opcode) External (S0ID, UnknownObj) // (from opcode) OperationRegion (SANV, SystemMemory, 0x5B567418, 0x01FE) Field (SANV, AnyAcc, Lock, Preserve) { ASLB, 32, IMON, 8, IGDS, 8, IBTT, 8, IPAT, 8, IPSC, 8, IBIA, 8, ISSC, 8, IDMS, 8, IF1E, 8, HVCO, 8, GSMI, 8, PAVP, 8, CADL, 8, CSTE, 16, NSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, DID6, 32, DID7, 32, DID8, 32, DID9, 32, DIDA, 32, DIDB, 32, DIDC, 32, DIDD, 32, DIDE, 32, DIDF, 32, DIDX, 32, NXD1, 32, NXD2, 32, NXD3, 32, NXD4, 32, NXD5, 32, NXD6, 32, NXD7, 32, NXD8, 32, NXDX, 32, LIDS, 8, KSV0, 32, KSV1, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, ALFP, 8, IMTP, 8, EDPV, 8, SGMD, 8, SGFL, 8, SGGP, 8, HRE0, 8, HRG0, 32, HRA0, 8, PWE0, 8, PWG0, 32, PWA0, 8, P1GP, 8, HRE1, 8, HRG1, 32, HRA1, 8, PWE1, 8, PWG1, 32, PWA1, 8, P2GP, 8, HRE2, 8, HRG2, 32, HRA2, 8, PWE2, 8, PWG2, 32, PWA2, 8, DLPW, 16, DLHR, 16, EECP, 8, XBAS, 32, GBAS, 16, NVGA, 32, NVHA, 32, AMDA, 32, LTRX, 8, OBFX, 8, LTRY, 8, OBFY, 8, LTRZ, 8, OBFZ, 8, SMSL, 16, SNSL, 16, P0UB, 8, P1UB, 8, P2UB, 8, PCSL, 8, PBGE, 8, M64B, 64, M64L, 64, CPEX, 32, EEC1, 8, EEC2, 8, SBN0, 8, SBN1, 8, SBN2, 8, M32B, 32, M32L, 32, P0WK, 32, P1WK, 32, P2WK, 32, CKM0, 32, CKM1, 32, CKM2, 32, Offset (0x1F4), Offset (0x1F7), Offset (0x1FE) } Scope (\_SB.PCI0.GFX0) { Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching { Store (And (Arg0, 0x07), DSEN) If (LEqual (And (Arg0, 0x03), Zero)) { If (CondRefOf (HDOS)) { HDOS () } } } Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices { If (LEqual (IMTP, One)) { Store (One, NDID) } Else { Store (Zero, NDID) } If (LNotEqual (DIDL, Zero)) { Store (SDDL (DIDL), DID1) } If (LNotEqual (DDL2, Zero)) { Store (SDDL (DDL2), DID2) } If (LNotEqual (DDL3, Zero)) { Store (SDDL (DDL3), DID3) } If (LNotEqual (DDL4, Zero)) { Store (SDDL (DDL4), DID4) } If (LNotEqual (DDL5, Zero)) { Store (SDDL (DDL5), DID5) } If (LNotEqual (DDL6, Zero)) { Store (SDDL (DDL6), DID6) } If (LNotEqual (DDL7, Zero)) { Store (SDDL (DDL7), DID7) } If (LNotEqual (DDL8, Zero)) { Store (SDDL (DDL8), DID8) } If (LNotEqual (DDL9, Zero)) { Store (SDDL (DDL9), DID9) } If (LNotEqual (DD10, Zero)) { Store (SDDL (DD10), DIDA) } If (LNotEqual (DD11, Zero)) { Store (SDDL (DD11), DIDB) } If (LNotEqual (DD12, Zero)) { Store (SDDL (DD12), DIDC) } If (LNotEqual (DD13, Zero)) { Store (SDDL (DD13), DIDD) } If (LNotEqual (DD14, Zero)) { Store (SDDL (DD14), DIDE) } If (LNotEqual (DD15, Zero)) { Store (SDDL (DD15), DIDF) } If (LEqual (NDID, One)) { Name (TMP1, Package (0x01) { 0xFFFFFFFF }) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMP1, Zero)) } Else { Store (Or (0x00010000, DID1), Index (TMP1, Zero)) } Return (TMP1) } If (LEqual (NDID, 0x02)) { Name (TMP2, Package (0x02) { 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP2, Zero)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMP2, One)) } Else { Store (Or (0x00010000, DID2), Index (TMP2, One)) } Return (TMP2) } If (LEqual (NDID, 0x03)) { Name (TMP3, Package (0x03) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP3, Zero)) Store (Or (0x00010000, DID2), Index (TMP3, One)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMP3, 0x02)) } Else { Store (Or (0x00010000, DID3), Index (TMP3, 0x02)) } Return (TMP3) } If (LEqual (NDID, 0x04)) { Name (TMP4, Package (0x04) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP4, Zero)) Store (Or (0x00010000, DID2), Index (TMP4, One)) Store (Or (0x00010000, DID3), Index (TMP4, 0x02)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMP4, 0x03)) } Else { Store (Or (0x00010000, DID4), Index (TMP4, 0x03)) } Return (TMP4) } If (LEqual (NDID, 0x05)) { Name (TMP5, Package (0x05) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP5, Zero)) Store (Or (0x00010000, DID2), Index (TMP5, One)) Store (Or (0x00010000, DID3), Index (TMP5, 0x02)) Store (Or (0x00010000, DID4), Index (TMP5, 0x03)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMP5, 0x04)) } Else { Store (Or (0x00010000, DID5), Index (TMP5, 0x04)) } Return (TMP5) } If (LEqual (NDID, 0x06)) { Name (TMP6, Package (0x06) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP6, Zero)) Store (Or (0x00010000, DID2), Index (TMP6, One)) Store (Or (0x00010000, DID3), Index (TMP6, 0x02)) Store (Or (0x00010000, DID4), Index (TMP6, 0x03)) Store (Or (0x00010000, DID5), Index (TMP6, 0x04)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMP6, 0x05)) } Else { Store (Or (0x00010000, DID6), Index (TMP6, 0x05)) } Return (TMP6) } If (LEqual (NDID, 0x07)) { Name (TMP7, Package (0x07) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP7, Zero)) Store (Or (0x00010000, DID2), Index (TMP7, One)) Store (Or (0x00010000, DID3), Index (TMP7, 0x02)) Store (Or (0x00010000, DID4), Index (TMP7, 0x03)) Store (Or (0x00010000, DID5), Index (TMP7, 0x04)) Store (Or (0x00010000, DID6), Index (TMP7, 0x05)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMP7, 0x06)) } Else { Store (Or (0x00010000, DID7), Index (TMP7, 0x06)) } Return (TMP7) } If (LEqual (NDID, 0x08)) { Name (TMP8, Package (0x08) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP8, Zero)) Store (Or (0x00010000, DID2), Index (TMP8, One)) Store (Or (0x00010000, DID3), Index (TMP8, 0x02)) Store (Or (0x00010000, DID4), Index (TMP8, 0x03)) Store (Or (0x00010000, DID5), Index (TMP8, 0x04)) Store (Or (0x00010000, DID6), Index (TMP8, 0x05)) Store (Or (0x00010000, DID7), Index (TMP8, 0x06)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMP8, 0x07)) } Else { Store (Or (0x00010000, DID8), Index (TMP8, 0x07)) } Return (TMP8) } If (LEqual (NDID, 0x09)) { Name (TMP9, Package (0x09) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP9, Zero)) Store (Or (0x00010000, DID2), Index (TMP9, One)) Store (Or (0x00010000, DID3), Index (TMP9, 0x02)) Store (Or (0x00010000, DID4), Index (TMP9, 0x03)) Store (Or (0x00010000, DID5), Index (TMP9, 0x04)) Store (Or (0x00010000, DID6), Index (TMP9, 0x05)) Store (Or (0x00010000, DID7), Index (TMP9, 0x06)) Store (Or (0x00010000, DID8), Index (TMP9, 0x07)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMP9, 0x08)) } Else { Store (Or (0x00010000, DID9), Index (TMP9, 0x08)) } Return (TMP9) } If (LEqual (NDID, 0x0A)) { Name (TMPA, Package (0x0A) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMPA, Zero)) Store (Or (0x00010000, DID2), Index (TMPA, One)) Store (Or (0x00010000, DID3), Index (TMPA, 0x02)) Store (Or (0x00010000, DID4), Index (TMPA, 0x03)) Store (Or (0x00010000, DID5), Index (TMPA, 0x04)) Store (Or (0x00010000, DID6), Index (TMPA, 0x05)) Store (Or (0x00010000, DID7), Index (TMPA, 0x06)) Store (Or (0x00010000, DID8), Index (TMPA, 0x07)) Store (Or (0x00010000, DID9), Index (TMPA, 0x08)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMPA, 0x09)) } Else { Store (Or (0x00010000, DIDA), Index (TMPA, 0x09)) } Return (TMPA) } If (LEqual (NDID, 0x0B)) { Name (TMPB, Package (0x0B) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMPB, Zero)) Store (Or (0x00010000, DID2), Index (TMPB, One)) Store (Or (0x00010000, DID3), Index (TMPB, 0x02)) Store (Or (0x00010000, DID4), Index (TMPB, 0x03)) Store (Or (0x00010000, DID5), Index (TMPB, 0x04)) Store (Or (0x00010000, DID6), Index (TMPB, 0x05)) Store (Or (0x00010000, DID7), Index (TMPB, 0x06)) Store (Or (0x00010000, DID8), Index (TMPB, 0x07)) Store (Or (0x00010000, DID9), Index (TMPB, 0x08)) Store (Or (0x00010000, DIDA), Index (TMPB, 0x09)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMPB, 0x0A)) } Else { Store (Or (0x00010000, DIDB), Index (TMPB, 0x0A)) } Return (TMPB) } If (LEqual (NDID, 0x0C)) { Name (TMPC, Package (0x0C) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMPC, Zero)) Store (Or (0x00010000, DID2), Index (TMPC, One)) Store (Or (0x00010000, DID3), Index (TMPC, 0x02)) Store (Or (0x00010000, DID4), Index (TMPC, 0x03)) Store (Or (0x00010000, DID5), Index (TMPC, 0x04)) Store (Or (0x00010000, DID6), Index (TMPC, 0x05)) Store (Or (0x00010000, DID7), Index (TMPC, 0x06)) Store (Or (0x00010000, DID8), Index (TMPC, 0x07)) Store (Or (0x00010000, DID9), Index (TMPC, 0x08)) Store (Or (0x00010000, DIDA), Index (TMPC, 0x09)) Store (Or (0x00010000, DIDB), Index (TMPC, 0x0A)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMPC, 0x0B)) } Else { Store (Or (0x00010000, DIDC), Index (TMPC, 0x0B)) } Return (TMPC) } If (LEqual (NDID, 0x0D)) { Name (TMPD, Package (0x0D) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMPD, Zero)) Store (Or (0x00010000, DID2), Index (TMPD, One)) Store (Or (0x00010000, DID3), Index (TMPD, 0x02)) Store (Or (0x00010000, DID4), Index (TMPD, 0x03)) Store (Or (0x00010000, DID5), Index (TMPD, 0x04)) Store (Or (0x00010000, DID6), Index (TMPD, 0x05)) Store (Or (0x00010000, DID7), Index (TMPD, 0x06)) Store (Or (0x00010000, DID8), Index (TMPD, 0x07)) Store (Or (0x00010000, DID9), Index (TMPD, 0x08)) Store (Or (0x00010000, DIDA), Index (TMPD, 0x09)) Store (Or (0x00010000, DIDB), Index (TMPD, 0x0A)) Store (Or (0x00010000, DIDC), Index (TMPD, 0x0B)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMPD, 0x0C)) } Else { Store (Or (0x00010000, DIDD), Index (TMPD, 0x0C)) } Return (TMPD) } If (LEqual (NDID, 0x0E)) { Name (TMPE, Package (0x0E) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMPE, Zero)) Store (Or (0x00010000, DID2), Index (TMPE, One)) Store (Or (0x00010000, DID3), Index (TMPE, 0x02)) Store (Or (0x00010000, DID4), Index (TMPE, 0x03)) Store (Or (0x00010000, DID5), Index (TMPE, 0x04)) Store (Or (0x00010000, DID6), Index (TMPE, 0x05)) Store (Or (0x00010000, DID7), Index (TMPE, 0x06)) Store (Or (0x00010000, DID8), Index (TMPE, 0x07)) Store (Or (0x00010000, DID9), Index (TMPE, 0x08)) Store (Or (0x00010000, DIDA), Index (TMPE, 0x09)) Store (Or (0x00010000, DIDB), Index (TMPE, 0x0A)) Store (Or (0x00010000, DIDC), Index (TMPE, 0x0B)) Store (Or (0x00010000, DIDD), Index (TMPE, 0x0C)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMPE, 0x0D)) } Else { Store (Or (0x00010000, DIDE), Index (TMPE, 0x0D)) } Return (TMPE) } If (LEqual (NDID, 0x0F)) { Name (TMPF, Package (0x0F) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMPF, Zero)) Store (Or (0x00010000, DID2), Index (TMPF, One)) Store (Or (0x00010000, DID3), Index (TMPF, 0x02)) Store (Or (0x00010000, DID4), Index (TMPF, 0x03)) Store (Or (0x00010000, DID5), Index (TMPF, 0x04)) Store (Or (0x00010000, DID6), Index (TMPF, 0x05)) Store (Or (0x00010000, DID7), Index (TMPF, 0x06)) Store (Or (0x00010000, DID8), Index (TMPF, 0x07)) Store (Or (0x00010000, DID9), Index (TMPF, 0x08)) Store (Or (0x00010000, DIDA), Index (TMPF, 0x09)) Store (Or (0x00010000, DIDB), Index (TMPF, 0x0A)) Store (Or (0x00010000, DIDC), Index (TMPF, 0x0B)) Store (Or (0x00010000, DIDD), Index (TMPF, 0x0C)) Store (Or (0x00010000, DIDE), Index (TMPF, 0x0D)) If (LEqual (IMTP, One)) { Store (0x0002CA00, Index (TMPF, 0x0E)) } Else { Store (Or (0x00010000, DIDF), Index (TMPF, 0x0E)) } Return (TMPF) } If (LEqual (NDID, 0x10)) { Name (TMPG, Package (0x10) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMPG, Zero)) Store (Or (0x00010000, DID2), Index (TMPG, One)) Store (Or (0x00010000, DID3), Index (TMPG, 0x02)) Store (Or (0x00010000, DID4), Index (TMPG, 0x03)) Store (Or (0x00010000, DID5), Index (TMPG, 0x04)) Store (Or (0x00010000, DID6), Index (TMPG, 0x05)) Store (Or (0x00010000, DID7), Index (TMPG, 0x06)) Store (Or (0x00010000, DID8), Index (TMPG, 0x07)) Store (Or (0x00010000, DID9), Index (TMPG, 0x08)) Store (Or (0x00010000, DIDA), Index (TMPG, 0x09)) Store (Or (0x00010000, DIDB), Index (TMPG, 0x0A)) Store (Or (0x00010000, DIDC), Index (TMPG, 0x0B)) Store (Or (0x00010000, DIDD), Index (TMPG, 0x0C)) Store (Or (0x00010000, DIDE), Index (TMPG, 0x0D)) Store (Or (0x00010000, DIDF), Index (TMPG, 0x0E)) Store (0x0002CA00, Index (TMPG, 0x0F)) Return (TMPG) } Return (Package (0x01) { 0x0400 }) } Device (DD01) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID1), 0x0400)) { Store (One, EDPV) Store (NXD1, NXDX) Store (DID1, DIDX) Return (One) } If (LEqual (DID1, Zero)) { Return (One) } Else { Return (And (0xFFFF, DID1)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { Return (CDDS (DID1)) } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD1) } Return (NDDS (DID1)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD02) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID2), 0x0400)) { Store (0x02, EDPV) Store (NXD2, NXDX) Store (DID2, DIDX) Return (0x02) } If (LEqual (DID2, Zero)) { Return (0x02) } Else { Return (And (0xFFFF, DID2)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (LIDS, Zero)) { Return (Zero) } Return (CDDS (DID2)) } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD2) } Return (NDDS (DID2)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD03) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID3), 0x0400)) { Store (0x03, EDPV) Store (NXD3, NXDX) Store (DID3, DIDX) Return (0x03) } If (LEqual (DID3, Zero)) { Return (0x03) } Else { Return (And (0xFFFF, DID3)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID3, Zero)) { Return (0x0B) } Else { Return (CDDS (DID3)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD3) } Return (NDDS (DID3)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD04) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID4), 0x0400)) { Store (0x04, EDPV) Store (NXD4, NXDX) Store (DID4, DIDX) Return (0x04) } If (LEqual (DID4, Zero)) { Return (0x04) } Else { Return (And (0xFFFF, DID4)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID4, Zero)) { Return (0x0B) } Else { Return (CDDS (DID4)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD4) } Return (NDDS (DID4)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD05) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID5), 0x0400)) { Store (0x05, EDPV) Store (NXD5, NXDX) Store (DID5, DIDX) Return (0x05) } If (LEqual (DID5, Zero)) { Return (0x05) } Else { Return (And (0xFFFF, DID5)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID5, Zero)) { Return (0x0B) } Else { Return (CDDS (DID5)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD5) } Return (NDDS (DID5)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD06) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID6), 0x0400)) { Store (0x06, EDPV) Store (NXD6, NXDX) Store (DID6, DIDX) Return (0x06) } If (LEqual (DID6, Zero)) { Return (0x06) } Else { Return (And (0xFFFF, DID6)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID6, Zero)) { Return (0x0B) } Else { Return (CDDS (DID6)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD6) } Return (NDDS (DID6)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD07) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID7), 0x0400)) { Store (0x07, EDPV) Store (NXD7, NXDX) Store (DID7, DIDX) Return (0x07) } If (LEqual (DID7, Zero)) { Return (0x07) } Else { Return (And (0xFFFF, DID7)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID7, Zero)) { Return (0x0B) } Else { Return (CDDS (DID7)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD7) } Return (NDDS (DID7)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD08) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID8), 0x0400)) { Store (0x08, EDPV) Store (NXD8, NXDX) Store (DID8, DIDX) Return (0x08) } If (LEqual (DID8, Zero)) { Return (0x08) } Else { Return (And (0xFFFF, DID8)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID8, Zero)) { Return (0x0B) } Else { Return (CDDS (DID8)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD8) } Return (NDDS (DID8)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD09) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DID9), 0x0400)) { Store (0x09, EDPV) Store (NXD8, NXDX) Store (DID9, DIDX) Return (0x09) } If (LEqual (DID9, Zero)) { Return (0x09) } Else { Return (And (0xFFFF, DID9)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DID9, Zero)) { Return (0x0B) } Else { Return (CDDS (DID9)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD8) } Return (NDDS (DID9)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD0A) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DIDA), 0x0400)) { Store (0x0A, EDPV) Store (NXD8, NXDX) Store (DIDA, DIDX) Return (0x0A) } If (LEqual (DIDA, Zero)) { Return (0x0A) } Else { Return (And (0xFFFF, DIDA)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DIDA, Zero)) { Return (0x0B) } Else { Return (CDDS (DIDA)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD8) } Return (NDDS (DIDA)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD0B) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DIDB), 0x0400)) { Store (0x0B, EDPV) Store (NXD8, NXDX) Store (DIDB, DIDX) Return (0x0B) } If (LEqual (DIDB, Zero)) { Return (0x0B) } Else { Return (And (0xFFFF, DIDB)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DIDB, Zero)) { Return (0x0B) } Else { Return (CDDS (DIDB)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD8) } Return (NDDS (DIDB)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD0C) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DIDC), 0x0400)) { Store (0x0C, EDPV) Store (NXD8, NXDX) Store (DIDC, DIDX) Return (0x0C) } If (LEqual (DIDC, Zero)) { Return (0x0C) } Else { Return (And (0xFFFF, DIDC)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DIDC, Zero)) { Return (0x0C) } Else { Return (CDDS (DIDC)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD8) } Return (NDDS (DIDC)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD0D) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DIDD), 0x0400)) { Store (0x0D, EDPV) Store (NXD8, NXDX) Store (DIDD, DIDX) Return (0x0D) } If (LEqual (DIDD, Zero)) { Return (0x0D) } Else { Return (And (0xFFFF, DIDD)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DIDD, Zero)) { Return (0x0D) } Else { Return (CDDS (DIDD)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD8) } Return (NDDS (DIDD)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD0E) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DIDE), 0x0400)) { Store (0x0E, EDPV) Store (NXD8, NXDX) Store (DIDE, DIDX) Return (0x0E) } If (LEqual (DIDE, Zero)) { Return (0x0E) } Else { Return (And (0xFFFF, DIDE)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DIDE, Zero)) { Return (0x0E) } Else { Return (CDDS (DIDE)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD8) } Return (NDDS (DIDE)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD0F) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (And (0x0F00, DIDF), 0x0400)) { Store (0x0F, EDPV) Store (NXD8, NXDX) Store (DIDF, DIDX) Return (0x0F) } If (LEqual (DIDF, Zero)) { Return (0x0F) } Else { Return (And (0xFFFF, DIDF)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (DIDC, Zero)) { Return (0x0F) } Else { Return (CDDS (DIDF)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXD8) } Return (NDDS (DIDF)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } } Device (DD1F) { Method (_ADR, 0, Serialized) // _ADR: Address { If (LEqual (EDPV, Zero)) { Return (0x1F) } Else { Return (And (0xFFFF, DIDX)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If (LEqual (EDPV, Zero)) { Return (Zero) } Else { Return (CDDS (DIDX)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (LAnd (LEqual (And (SGMD, 0x7F), One), CondRefOf (SNXD))) { Return (NXDX) } Return (NDDS (DIDX)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { DSST (Arg0) } Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { If (LGreaterEqual (OSYS, 0x07DC)) { Return (Package (0x67) { 0x64, 0x64, Zero, One, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64 }) } Return (\_SB.PCI0.LPCB.EC.BRTW) } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { If (LGreaterEqual (OSYS, 0x07DC)) { If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64))) { Store (Divide (Multiply (Arg0, 0xFF), 0x64, ), Local0) \_SB.PCI0.GFX0.AINT (One, Local0) Store (Arg0, BRTL) } } Else { Store (Match (\_SB.PCI0.LPCB.EC.BRTW, MEQ, Arg0, MTR, Zero, 0x02), Local0) If (LNotEqual (Local0, Ones)) { Subtract (Local0, 0x02, Local1) Store (Local1, \BRLV) \_SB.PCI0.LPCB.EC.BRNS () } } } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { If (LGreaterEqual (OSYS, 0x07DC)) { Return (BRTL) } Else { Store (\BRLV, Local0) Add (Local0, 0x02, Local1) If (LLessEqual (Local1, 0x11)) { Return (DerefOf (Index (\_SB.PCI0.LPCB.EC.BRTW, Local1))) } Else { Return (Zero) } } } } Method (SDDL, 1, NotSerialized) { Increment (NDID) Store (And (Arg0, 0x0F0F), Local0) Or (0x80000000, Local0, Local1) If (LEqual (DIDL, Local0)) { Return (Local1) } If (LEqual (DDL2, Local0)) { Return (Local1) } If (LEqual (DDL3, Local0)) { Return (Local1) } If (LEqual (DDL4, Local0)) { Return (Local1) } If (LEqual (DDL5, Local0)) { Return (Local1) } If (LEqual (DDL6, Local0)) { Return (Local1) } If (LEqual (DDL7, Local0)) { Return (Local1) } If (LEqual (DDL8, Local0)) { Return (Local1) } If (LEqual (DDL9, Local0)) { Return (Local1) } If (LEqual (DD10, Local0)) { Return (Local1) } If (LEqual (DD11, Local0)) { Return (Local1) } If (LEqual (DD12, Local0)) { Return (Local1) } If (LEqual (DD13, Local0)) { Return (Local1) } If (LEqual (DD14, Local0)) { Return (Local1) } If (LEqual (DD15, Local0)) { Return (Local1) } Return (Zero) } Method (CDDS, 1, NotSerialized) { Store (And (Arg0, 0x0F0F), Local0) If (LEqual (Zero, Local0)) { Return (0x1D) } If (LEqual (CADL, Local0)) { Return (0x1F) } If (LEqual (CAL2, Local0)) { Return (0x1F) } If (LEqual (CAL3, Local0)) { Return (0x1F) } If (LEqual (CAL4, Local0)) { Return (0x1F) } If (LEqual (CAL5, Local0)) { Return (0x1F) } If (LEqual (CAL6, Local0)) { Return (0x1F) } If (LEqual (CAL7, Local0)) { Return (0x1F) } If (LEqual (CAL8, Local0)) { Return (0x1F) } Return (0x1D) } Method (NDDS, 1, NotSerialized) { Store (And (Arg0, 0x0F0F), Local0) If (LEqual (Zero, Local0)) { Return (Zero) } If (LEqual (NADL, Local0)) { Return (One) } If (LEqual (NDL2, Local0)) { Return (One) } If (LEqual (NDL3, Local0)) { Return (One) } If (LEqual (NDL4, Local0)) { Return (One) } If (LEqual (NDL5, Local0)) { Return (One) } If (LEqual (NDL6, Local0)) { Return (One) } If (LEqual (NDL7, Local0)) { Return (One) } If (LEqual (NDL8, Local0)) { Return (One) } Return (Zero) } Method (DSST, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Method (VLOC, 1, NotSerialized) { If (LEqual (Arg0, \_SB.LID._LID ())) { Store (Arg0, CLID) GNOT (0x02, Zero) } } Scope (\_SB.PCI0) { OperationRegion (MCHP, PCI_Config, 0x40, 0xC0) Field (MCHP, AnyAcc, NoLock, Preserve) { Offset (0x14), AUDE, 8, Offset (0x60), TASM, 10, Offset (0x62) } } OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x10), , 1, GIVD, 1, , 2, GUMA, 3, Offset (0x12), Offset (0x14), , 4, GMFN, 1, Offset (0x18), Offset (0xA4), ASLE, 8, Offset (0xA8), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xB0), , 12, CDVL, 1, Offset (0xB2), Offset (0xB5), LBPC, 8, Offset (0xBC), ASLS, 32 } OperationRegion (IGDM, SystemMemory, ASLB, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, DMOD, 32, PCON, 32, DVER, 64, Offset (0x100), DRDY, 32, CSTS, 32, CEVT, 32, Offset (0x120), DIDL, 32, DDL2, 32, DDL3, 32, DDL4, 32, DDL5, 32, DDL6, 32, DDL7, 32, DDL8, 32, CPDL, 32, CPL2, 32, CPL3, 32, CPL4, 32, CPL5, 32, CPL6, 32, CPL7, 32, CPL8, 32, CADL, 32, CAL2, 32, CAL3, 32, CAL4, 32, CAL5, 32, CAL6, 32, CAL7, 32, CAL8, 32, NADL, 32, NDL2, 32, NDL3, 32, NDL4, 32, NDL5, 32, NDL6, 32, NDL7, 32, NDL8, 32, ASLP, 32, TIDX, 32, CHPD, 32, CLID, 32, CDCK, 32, SXSW, 32, EVTS, 32, CNOT, 32, NRDY, 32, DDL9, 32, DD10, 32, DD11, 32, DD12, 32, DD13, 32, DD14, 32, DD15, 32, CPL9, 32, CP10, 32, CP11, 32, CP12, 32, CP13, 32, CP14, 32, CP15, 32, Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32, DSLP, 32, Offset (0x300), ARDY, 32, ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32, BCLM, 320, CPFM, 32, EPFM, 32, PLUT, 592, PFMB, 32, CCDV, 32, PCFT, 32, SROT, 32, IUER, 32, FDSP, 64, FDSS, 32, STAT, 32, Offset (0x400), GVD1, 49152, PHED, 32, BDDC, 2048 } Name (DBTB, Package (0x15) { Zero, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Name (CDCT, Package (0x05) { Package (0x02) { 0xE4, 0x0140 }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { Zero, Zero }, Package (0x02) { 0xDE, 0x014D } }) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Method (GSCI, 0, Serialized) { Method (GBDA, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (0x0659, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (0x00300482, PARM) If (LEqual (S0ID, One)) { Or (PARM, 0x0100, PARM) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x04)) { And (PARM, 0xEFFF0000, PARM) And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), PARM) Or (IBTT, PARM, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (IPSC, PARM) Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Add (PARM, 0x0100, PARM) Or (PARM, ShiftLeft (LIDS, 0x10), PARM) Add (PARM, 0x00010000, PARM) Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x07)) { Store (GIVD, PARM) XOr (PARM, One, PARM) Or (PARM, ShiftLeft (GMFN, One), PARM) Or (PARM, 0x1800, PARM) Or (PARM, ShiftLeft (IDMS, 0x11), PARM) Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)), 0x15), PARM, PARM) Store (One, GESF) Return (SUCC) } If (LEqual (GESF, 0x0A)) { Store (Zero, PARM) If (ISSC) { Or (PARM, 0x03, PARM) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x0B)) { Store (KSV0, PARM) Store (KSV1, GESF) Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (Zero, PARM) Store (0x000F87DD, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x03)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x04)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x07)) { If (LAnd (LEqual (S0ID, One), LLess (OSYS, 0x07DF))) { If (LEqual (And (PARM, 0xFF), One)) { \GUAM (One) } If (LEqual (And (PARM, 0xFF), Zero)) { \GUAM (Zero) } } If (LEqual (PARM, Zero)) { Store (CLID, Local0) If (And (0x80000000, Local0)) { And (CLID, 0x0F, CLID) GLID (CLID) } } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x08)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x09)) { And (PARM, 0xFF, IBTT) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0A)) { And (PARM, 0xFF, IPSC) If (And (ShiftRight (PARM, 0x08), 0xFF)) { And (ShiftRight (PARM, 0x08), 0xFF, IPAT) Decrement (IPAT) } And (ShiftRight (PARM, 0x14), 0x07, IBIA) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0B)) { And (ShiftRight (PARM, One), One, IF1E) If (And (PARM, 0x0001E000)) { And (ShiftRight (PARM, 0x0D), 0x0F, IDMS) } Else { And (ShiftRight (PARM, 0x11), 0x0F, IDMS) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x10)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x11)) { Store (ShiftLeft (LIDS, 0x08), PARM) Add (PARM, 0x0100, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x12)) { If (And (PARM, One)) { If (LEqual (ShiftRight (PARM, One), One)) { Store (One, ISSC) } Else { Store (Zero, GESF) Return (CRIT) } } Else { Store (Zero, ISSC) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x13)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x14)) { And (PARM, 0x0F, PAVP) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (Zero, GEFC) Store (One, CPSC) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (PDRD, 0, NotSerialized) { Return (LNot (DRDY)) } Method (PSTS, 0, NotSerialized) { If (LGreater (CSTS, 0x02)) { Sleep (ASLP) } Return (LEqual (CSTS, 0x03)) } Method (GNOT, 2, NotSerialized) { If (PDRD ()) { Return (One) } Store (Arg0, CEVT) Store (0x03, CSTS) If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero))) { Notify (\_SB.PCI0.GFX0, Arg1) } If (CondRefOf (HNOT)) { HNOT (Arg0) } Else { Notify (\_SB.PCI0.GFX0, 0x80) } Return (Zero) } Method (GHDS, 1, NotSerialized) { Store (Arg0, TIDX) Return (GNOT (One, Zero)) } Method (GLID, 1, NotSerialized) { If (LEqual (Arg0, One)) { Store (0x03, CLID) } Else { Store (Arg0, CLID) } If (GNOT (0x02, Zero)) { Or (CLID, 0x80000000, CLID) Return (One) } Return (Zero) } Method (GDCK, 1, NotSerialized) { Store (Arg0, CDCK) Return (GNOT (0x04, Zero)) } Method (PARD, 0, NotSerialized) { If (LNot (ARDY)) { Sleep (ASLP) } Return (LNot (ARDY)) } Method (IUEH, 1, Serialized) { And (IUER, 0xC0, IUER) XOr (IUER, ShiftLeft (One, Arg0), IUER) If (LLessEqual (Arg0, 0x04)) { Return (AINT (0x05, Zero)) } Else { Return (AINT (Arg0, Zero)) } } Method (AINT, 2, NotSerialized) { If (LNot (And (TCHE, ShiftLeft (One, Arg0)))) { Return (One) } If (PARD ()) { Return (One) } If (LAnd (LGreaterEqual (Arg0, 0x05), LLessEqual (Arg0, 0x07))) { Store (ShiftLeft (One, Arg0), ASLC) Store (One, ASLE) Store (Zero, Local2) While (LAnd (LLess (Local2, 0xFA), LNotEqual (ASLC, Zero))) { Sleep (0x04) Increment (Local2) } Return (Zero) } If (LEqual (Arg0, 0x02)) { If (CPFM) { And (CPFM, 0x0F, Local0) And (EPFM, 0x0F, Local1) If (LEqual (Local0, One)) { If (And (Local1, 0x06)) { Store (0x06, PFIT) } ElseIf (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { Store (One, PFIT) } } If (LEqual (Local0, 0x06)) { If (And (Local1, 0x08)) { Store (0x08, PFIT) } ElseIf (And (Local1, One)) { Store (One, PFIT) } Else { Store (0x06, PFIT) } } If (LEqual (Local0, 0x08)) { If (And (Local1, One)) { Store (One, PFIT) } ElseIf (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { Store (0x08, PFIT) } } } Else { XOr (PFIT, 0x07, PFIT) } Or (PFIT, 0x80000000, PFIT) Store (0x04, ASLC) } ElseIf (LEqual (Arg0, One)) { Store (Arg1, BCLP) Or (BCLP, 0x80000000, BCLP) Store (0x02, ASLC) } ElseIf (LEqual (Arg0, Zero)) { Store (Arg1, ALSI) Store (One, ASLC) } Else { Return (One) } Store (One, ASLE) Return (Zero) } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("3e5b41c6-eb1d-4260-9d15-c71fbadae414"))) { Switch (ToInteger (Arg2)) { Case (Zero) { If (LEqual (Arg1, One)) { Return (0x0001E7FF) } } Case (One) { If (LEqual (Arg1, One)) { If (LAnd (LEqual (S0ID, One), LLess (OSYS, 0x07DF))) { If (LEqual (And (DerefOf (Index (Arg3, Zero)), 0xFF), One)) { \GUAM (One) } Store (And (DerefOf (Index (Arg3, One)), 0xFF), Local0) If (LEqual (Local0, Zero)) { \GUAM (Zero) } } If (LEqual (DerefOf (Index (Arg3, Zero)), Zero)) { Store (CLID, Local0) If (And (0x80000000, Local0)) { And (CLID, 0x0F, CLID) GLID (CLID) } } Return (One) } } Case (0x02) { If (LEqual (Arg1, One)) { Return (One) } } Case (0x03) { If (LEqual (Arg1, One)) { Return (One) } } Case (0x04) { If (LEqual (Arg1, One)) { Return (One) } } Case (0x05) { If (LEqual (Arg1, One)) { Return (One) } } Case (0x06) { If (LEqual (Arg1, One)) { Return (One) } } Case (0x07) { If (LEqual (Arg1, One)) { And (DerefOf (Index (Arg3, Zero)), 0xFF, IBTT) Return (One) } } Case (0x08) { If (LEqual (Arg1, One)) { And (DerefOf (Index (Arg3, Zero)), 0xFF, IPSC) If (And (DerefOf (Index (Arg3, One)), 0xFF)) { And (DerefOf (Index (Arg3, One)), 0xFF, IPAT) Decrement (IPAT) } And (ShiftRight (DerefOf (Index (Arg3, 0x02)), 0x04), 0x07, IBIA) Return (One) } } Case (0x09) { If (LEqual (Arg1, One)) { Return (One) } } Case (0x0A) { If (LEqual (Arg1, One)) { Store (ShiftLeft (LIDS, 0x08), Local0) Add (Local0, 0x0100, Local0) Return (Local0) } } Case (0x0D) { If (LEqual (Arg1, One)) { Or (ShiftLeft (DerefOf (Index (Arg3, 0x03)), 0x18), ShiftLeft (DerefOf (Index (Arg3, 0x02)), 0x10), Local0) And (Local0, 0xEFFF0000, Local0) And (Local0, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), Local0) Or (IBTT, Local0, Local0) Return (Local0) } } Case (0x0E) { If (LEqual (Arg1, One)) { Store (IPSC, Local0) Or (Local0, ShiftLeft (IPAT, 0x08), Local0) Add (Local0, 0x0100, Local0) Or (Local0, ShiftLeft (LIDS, 0x10), Local0) Add (Local0, 0x00010000, Local0) Or (Local0, ShiftLeft (IBIA, 0x14), Local0) Return (Local0) } } Case (0x0F) { If (LEqual (Arg1, One)) { Store (GIVD, Local0) XOr (Local0, One, Local0) Or (Local0, ShiftLeft (GMFN, One), Local0) Or (Local0, 0x1800, Local0) Or (Local0, ShiftLeft (IDMS, 0x11), Local0) Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)), 0x15), Local0, Local0) Return (Local0) } } Case (0x10) { If (LEqual (Arg1, One)) { Name (KSVP, Package (0x02) { 0x80000000, 0x8000 }) Store (KSV0, Index (KSVP, Zero)) Store (KSV1, Index (KSVP, One)) Return (KSVP) } } } } Return (Buffer (One) { 0x00 }) } } Scope (\_SB) { Device (SKC0) { Name (_HID, "INT3470") // _HID: Hardware ID Name (_CID, EisaId ("PNP0C02")) // _CID: Compatible ID Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (IMTP, 0x02)) { Return (0x0F) } Else { Return (Zero) } } } } Scope (\_SB.PCI0.GFX0) { Device (SKC0) { Name (_ADR, 0xCA00) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (IMTP, One)) { Return (0x0F) } Else { Return (Zero) } } } } }