/* * Intel ACPI Component Architecture * AML Disassembler version 20081204 * * Disassembly of DSDT.dat, Mon Jul 6 19:22:20 2009 * * * Original Table Header: * Signature "DSDT" * Length 0x000089FA (35322) * Revision 0x02 * Checksum 0x5D * OEM ID "BenQ " * OEM Table ID "Joybook " * OEM Revision 0x06040000 (100925440) * Compiler ID "INTL" * Compiler Version 0x20050624 (537200164) */ DefinitionBlock ("DSDT.aml", "DSDT", 2, "BenQ ", "Joybook ", 0x06040000) { External (PDC1) External (PDC0) External (CFGD) External (\_PR_.CPU0._PPC) External (\_SB_.PCI0.TMEM.GPEH, MethodObj) // 0 Arguments Name (SP2O, 0x4E) Name (SP1O, 0x164E) Name (IO1B, 0x0600) Name (IO1L, 0x70) Name (IO2B, 0x06B0) Name (IO2L, 0x20) Name (IO3B, 0x0290) Name (IO3L, 0x10) Name (MCHB, 0xFED10000) Name (MCHL, 0x4000) Name (EGPB, 0xFED19000) Name (EGPL, 0x1000) Name (DMIB, 0xFED18000) Name (DMIL, 0x1000) Name (IFPB, 0xFED13000) Name (IFPL, 0x1000) Name (PEBS, 0xE0000000) Name (PELN, 0x10000000) Name (TTTB, 0xFED20000) Name (TTTL, 0x00020000) Name (SMBS, 0x18C0) Name (PBLK, 0x0410) Name (PMBS, 0x0400) Name (PMLN, 0x80) Name (LVL2, 0x0414) Name (LVL3, 0x0415) Name (LVL4, 0x0416) Name (SMIP, 0xB2) Name (GPBS, 0x1180) Name (GPLN, 0x40) Name (APCB, 0xFEC00000) Name (APCL, 0x1000) Name (PM30, 0x0430) Name (SRCB, 0xFED1C000) Name (SRCL, 0x4000) Name (SUSW, 0xFF) Name (ACPH, 0xDE) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (PEHP, One) Name (SHPC, One) Name (PEPM, One) Name (PEER, One) Name (PECS, One) Name (ITKE, Zero) Name (TRTP, One) Name (TRTD, 0x02) Name (TRTI, 0x03) Name (GCDD, One) Name (DSTA, 0x0A) Name (DSLO, 0x0C) Name (DSLC, 0x0E) Name (PITS, 0x10) Name (SBCS, 0x12) Name (SALS, 0x13) Name (LSSS, 0x2A) Name (PSSS, 0x2B) Name (SOOT, 0x35) Name (ESCS, 0x48) Name (PDBR, 0x4D) Name (SMBL, 0x10) Name (HKEY, One) Name (HEY1, One) Name (HKTM, Zero) Name (HKYP, Zero) Name (HDHP, Zero) Name (HDAT, Zero) Name (TVGA, Zero) Name (CNTA, Zero) Name (ATDP, Zero) Name (AHDP, Zero) Name (TOGI, Zero) Name (PDVF, Zero) Name (PLGF, Zero) OperationRegion (VROM, SystemMemory, 0xFFFC0000, 0x00010000) Field (VROM, AnyAcc, Lock, Preserve) { VBF1, 262144, VBF2, 262144 } OperationRegion (PCIM, SystemMemory, 0xE0008000, 0x0400) Field (PCIM, AnyAcc, Lock, Preserve) { Offset (0x225), DQDA, 8 } OperationRegion (GNVS, SystemMemory, 0xBDB9EDBC, 0x0100) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, THOF, 8, ACT1, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, DTSF, 8, Offset (0x28), APIC, 8, MPEN, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, Offset (0x32), Offset (0x3C), IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, SSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, KSV0, 32, KSV1, 8, BDSP, 8, PTY1, 8, PTY2, 8, PSCL, 8, TVF1, 8, TVF2, 8, GETM, 8, BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, Offset (0x6E), EMAE, 8, EMAP, 16, EMAL, 16, Offset (0x74), MEFE, 8, DSTS, 8, Offset (0x78), TPMP, 8, TPME, 8, Offset (0x82), GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, BID, 8, Offset (0xA0), F0DA, 8, F0DB, 8, F0DC, 8, F0DD, 8, F0DE, 8, F0DF, 8, F0E0, 8, F0E1, 8, Offset (0xAA), ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IDMM, 8, IDMS, 8, IF1E, 8, HVCO, 8, NXD1, 32, NXD2, 32, NXD3, 32, NXD4, 32, NXD5, 32, NXD6, 32, NXD7, 32, NXD8, 32, GSMI, 8, PAVP, 8, Offset (0xEB), DSEN, 8, ECON, 8, GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, Offset (0xF8) } Name (DVSV, Buffer (0x44) {}) CreateDWordField (DVSV, Zero, DB00) CreateDWordField (DVSV, 0x04, DB04) CreateDWordField (DVSV, 0x08, DB08) CreateDWordField (DVSV, 0x0C, DB0C) CreateDWordField (DVSV, 0x10, DB10) CreateDWordField (DVSV, 0x14, DB14) CreateDWordField (DVSV, 0x18, DB18) CreateDWordField (DVSV, 0x1C, DB1C) CreateDWordField (DVSV, 0x20, DB20) CreateDWordField (DVSV, 0x24, DB24) CreateDWordField (DVSV, 0x28, DB28) CreateDWordField (DVSV, 0x2C, DB2C) CreateDWordField (DVSV, 0x30, DB30) CreateDWordField (DVSV, 0x34, DB34) CreateDWordField (DVSV, 0x38, DB38) CreateDWordField (DVSV, 0x3C, DB3C) CreateDWordField (DVSV, 0x40, DB40) Scope (_SB) { Name (PR00, Package (0x16) { Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKF, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x001AFFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero } }) Name (AR00, Package (0x16) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x15 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x001AFFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 } }) Name (PR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PR01, Package (0x03) { Package (0x04) { 0x0005FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0005FFFF, One, LNKF, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKG, Zero } }) Name (AR01, Package (0x03) { Package (0x04) { 0x0005FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x15 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x16 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,10,11,12,14,15} }) Alias (PRSA, PRSB) Alias (PRSA, PRSC) Alias (PRSA, PRSD) Alias (PRSA, PRSE) Alias (PRSA, PRSF) Alias (PRSA, PRSG) Alias (PRSA, PRSH) Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Name (_ADR, Zero) Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) { Return (BN00 ()) } Name (_UID, Zero) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR00) } Return (PR00) } OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) Field (HBUS, DWordAcc, NoLock, Preserve) { EPEN, 1, , 11, EPBR, 20, Offset (0x08), MHEN, 1, , 13, MHBR, 18, Offset (0x14), , 1, PEGA, 1, Offset (0x20), PXEN, 1, PXSZ, 2, , 23, PXBR, 6, Offset (0x28), DIEN, 1, , 11, DIBR, 20, Offset (0x30), IPEN, 1, , 11, IPBR, 20, Offset (0x50), , 4, PM0H, 2, Offset (0x51), PM1L, 2, , 2, PM1H, 2, Offset (0x52), PM2L, 2, , 2, PM2H, 2, Offset (0x53), PM3L, 2, , 2, PM3H, 2, Offset (0x54), PM4L, 2, , 2, PM4H, 2, Offset (0x55), PM5L, 2, , 2, PM5H, 2, Offset (0x56), PM6L, 2, , 2, PM6H, 2, Offset (0x57), , 7, HENA, 1, Offset (0x62), TUUD, 16, Offset (0x70), , 4, TLUD, 12, Offset (0x89), , 3, GTSE, 1, Offset (0x8A) } OperationRegion (MCHT, SystemMemory, 0xFED11000, 0xFF) Field (MCHT, ByteAcc, NoLock, Preserve) { Offset (0x1E), T0IS, 16, Offset (0x5E), T1IS, 16, Offset (0xEF), ESCS, 8 } OperationRegion (MCHH, SystemMemory, 0xFED10000, 0x0FFF) Field (MCHH, ByteAcc, NoLock, Preserve) { Offset (0xC14), CLKD, 6, Offset (0xFC0), , 25, FC25, 1, FC26, 1 } Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x000003FF, // Range Maximum 0x00000000, // Translation Offset 0x00000400, // Length ,, , TypeStatic) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000480, // Range Minimum 0x00000CF7, // Range Maximum 0x00000000, // Translation Offset 0x00000878, // Length ,, , TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000D00, // Range Minimum 0x0000FFFF, // Range Maximum 0x00000000, // Translation Offset 0x0000F300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xDFFFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xF0000000, // Range Minimum 0xFEBFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xFED40000, // Range Minimum 0xFED44FFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, , AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) { If (PM1L) { CreateDWordField (BUF0, 0x96, C0LN) Store (Zero, C0LN) } If (LEqual (PM1L, One)) { CreateBitField (BUF0, 0x0428, C0RW) Store (Zero, C0RW) } If (PM1H) { CreateDWordField (BUF0, 0xB0, C4LN) Store (Zero, C4LN) } If (LEqual (PM1H, One)) { CreateBitField (BUF0, 0x04F8, C4RW) Store (Zero, C4RW) } If (PM2L) { CreateDWordField (BUF0, 0xCA, C8LN) Store (Zero, C8LN) } If (LEqual (PM2L, One)) { CreateBitField (BUF0, 0x05C8, C8RW) Store (Zero, C8RW) } If (PM2H) { CreateDWordField (BUF0, 0xE4, CCLN) Store (Zero, CCLN) } If (LEqual (PM2H, One)) { CreateBitField (BUF0, 0x0698, CCRW) Store (Zero, CCRW) } If (PM3L) { CreateDWordField (BUF0, 0xFE, D0LN) Store (Zero, D0LN) } If (LEqual (PM3L, One)) { CreateBitField (BUF0, 0x0768, D0RW) Store (Zero, D0RW) } If (PM3H) { CreateDWordField (BUF0, 0x0118, D4LN) Store (Zero, D4LN) } If (LEqual (PM3H, One)) { CreateBitField (BUF0, 0x0838, D4RW) Store (Zero, D4RW) } If (PM4L) { CreateDWordField (BUF0, 0x0132, D8LN) Store (Zero, D8LN) } If (LEqual (PM4L, One)) { CreateBitField (BUF0, 0x0908, D8RW) Store (Zero, D8RW) } If (PM4H) { CreateDWordField (BUF0, 0x014C, DCLN) Store (Zero, DCLN) } If (LEqual (PM4H, One)) { CreateBitField (BUF0, 0x09D8, DCRW) Store (Zero, DCRW) } If (PM5L) { CreateDWordField (BUF0, 0x0166, E0LN) Store (Zero, E0LN) } If (LEqual (PM5L, One)) { CreateBitField (BUF0, 0x0AA8, E0RW) Store (Zero, E0RW) } If (PM5H) { CreateDWordField (BUF0, 0x0180, E4LN) Store (Zero, E4LN) } If (LEqual (PM5H, One)) { CreateBitField (BUF0, 0x0B78, E4RW) Store (Zero, E4RW) } If (PM6L) { CreateDWordField (BUF0, 0x019A, E8LN) Store (Zero, E8LN) } If (LEqual (PM6L, One)) { CreateBitField (BUF0, 0x0C48, E8RW) Store (Zero, E8RW) } If (PM6H) { CreateDWordField (BUF0, 0x01B4, ECLN) Store (Zero, ECLN) } If (LEqual (PM6H, One)) { CreateBitField (BUF0, 0x0D18, ECRW) Store (Zero, ECRW) } If (PM0H) { CreateDWordField (BUF0, 0x01CE, F0LN) Store (Zero, F0LN) } If (LEqual (PM0H, One)) { CreateBitField (BUF0, 0x0DE8, F0RW) Store (Zero, F0RW) } CreateDWordField (BUF0, 0x01DC, M1MN) CreateDWordField (BUF0, 0x01E0, M1MX) CreateDWordField (BUF0, 0x01E8, M1LN) ShiftLeft (TLUD, 0x14, M1MN) Add (Subtract (M1MX, M1MN), One, M1LN) CreateDWordField (BUF0, 0x01F6, M2MN) CreateDWordField (BUF0, 0x01FA, M2MX) CreateDWordField (BUF0, 0x0202, M2LN) Add (Subtract (M2MX, M2MN), One, M2LN) Return (BUF0) } Device (P0P2) { Name (_ADR, 0x00010000) Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR02) } Return (PR02) } } Device (GFX0) { Name (_ADR, 0x00020000) Method (_DOS, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { If (LEqual (^^LPCB.EC0.HGDD, One)) { Store (0x02, ^^LPCB.EC0.HGDP) Notify (GFX0, 0xD0) } } Else { If (LEqual (Arg0, 0x02)) { P8XH (Zero, 0xE1) Store (Zero, ^^LPCB.EC0.HGDD) } } Store (And (Arg0, 0x07), DSEN) } Name (STAT, Zero) Name (CAPS, 0x0003E800) Method (UCMP, 2, NotSerialized) { If (LNotEqual (0x10, SizeOf (Arg0))) { Return (Zero) } If (LNotEqual (0x10, SizeOf (Arg1))) { Return (Zero) } Store (Zero, Local0) While (LLess (Local0, 0x10)) { If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index ( Arg1, Local0)))) { Return (Zero) } Increment (Local0) } Return (One) } Method (_DSM, 4, NotSerialized) { If (LEqual (UCMP (Arg0, Buffer (0x10) { /* 0000 */ 0xA0, 0xA0, 0x95, 0x9D, 0x60, 0x00, 0x48, 0x4D, /* 0008 */ 0xB3, 0x4D, 0x7E, 0x5F, 0xEA, 0x12, 0x9F, 0xD4 }), One)) { P8XH (Zero, Arg1) Store (One, ^^LPCB.EC0.DRRY) If (LNotEqual (Arg1, 0x0102)) { Return (0x80000002) } Name (_T_0, Zero) Store (Arg2, _T_0) If (LEqual (_T_0, Zero)) { Return (0x7F) } Else { If (LEqual (_T_0, One)) { Store (0x01DF, Local0) Return (Local0) } Else { If (LEqual (_T_0, 0x02)) { P8XH (Zero, Arg3) If (LEqual (And (Arg3, 0x10), 0x10)) { And (Arg3, 0x0F, Local0) Store (Local0, ^^LPCB.EC0.HGAP) Store (^^LPCB.EC0.HGAP, Local1) If (LEqual (HKYP, One)) { PHSR (0x8C) Store (Zero, HKYP) } Notify (GFX0, 0xD9) Return (Zero) } Else { If (LNotEqual (And (Arg3, 0x40), 0x40)) { If (LEqual (^^LPCB.EC0.TVGA, 0x02)) { Store (0x02, Local1) Or (Local1, 0x10, Local1) Return (Local1) } Else { If (LEqual (^^LPCB.EC0.TVGA, One)) { P8XH (Zero, 0xA4) Store (One, Local1) Or (Local1, 0x10, Local1) Return (Local1) } Else { If (LAnd (LEqual (^^LPCB.EC0.PPDS, Zero), LEqual (TVGA, Zero))) { Store (Zero, Local1) Or (Local1, 0x10, Local1) Return (Local1) } } } } } } Else { If (LEqual (_T_0, 0x03)) { Store (Arg3, Local4) If (LEqual (Local4, One)) { P8XH (Zero, 0xB0) ^^P0P2.VGA._ON () P8XH (Zero, 0xB1) } Else { If (LEqual (Local4, 0x02)) { P8XH (Zero, 0xB2) ^^P0P2.VGA._OFF () P8XH (Zero, 0xB3) } Else { P8XH (Zero, 0xB4) Return (^^P0P2.VGA._STA ()) P8XH (Zero, 0xB5) } } } Else { If (LEqual (_T_0, 0x04)) { Return (Buffer (One) { 0x00 }) } Else { If (LEqual (_T_0, 0x05)) { Store ("Start case 5 : Hot Key Event", Debug) Store (0xE9, P80H) If (LEqual (And (Arg3, 0x01000000), 0x01000000)) { If (LEqual (HDHP, One)) { Store (Zero, HDHP) Store (0x05, TOGI) Return (ShiftLeft (TOGI, 0x08)) } And (Arg3, 0x07, ATDP) And (Arg3, 0x7000, AHDP) ShiftRight (AHDP, 0x0C, Local0) Store (Local0, Local2) If (LEqual (^^LPCB.EC0.HPWR, Zero)) { Store ("Start iGPU mode switch : Hot Key Event", Debug) Store (0xE8, P80H) And (ATDP, 0x04, Local3) If (LEqual (Local3, 0x04)) { Or (ATDP, One, ATDP) } And (ATDP, 0x0B, ATDP) And (AHDP, 0x0B, AHDP) If (LEqual (ATDP, 0x03)) { If (LEqual (Local0, One)) { Store (0x04, TOGI) } If (LEqual (Local0, 0x02)) { Store (0x02, TOGI) } If (LEqual (Local0, 0x03)) { Store (One, TOGI) } Return (ShiftLeft (TOGI, 0x08)) } Return (0x0300) } If (LEqual (And (Local2, 0x04), 0x04)) { Or (ATDP, 0x04, ATDP) } If (LEqual (HDAT, One)) { Or (ATDP, 0x04, ATDP) } P8XH (Zero, ATDP) If (LEqual (ATDP, 0x07)) { Store ("Start HDMI : Hot Key Event", Debug) Store (0xEB, P80H) If (LEqual (Local0, One)) { Store (0x03, TOGI) } If (LEqual (Local0, 0x02)) { Store (0x02, TOGI) } If (LEqual (Local0, 0x03)) { Store (0x05, TOGI) } If (LEqual (Local0, 0x04)) { Store (0x04, TOGI) } If (LEqual (Local0, 0x05)) { Store (One, TOGI) } If (LEqual (Local0, 0x06)) { Store (0x06, TOGI) } Return (ShiftLeft (TOGI, 0x08)) } Else { If (LEqual (ATDP, 0x03)) { If (LEqual (Local0, One)) { Store (0x04, TOGI) } If (LEqual (Local0, 0x02)) { Store (0x02, TOGI) } If (LEqual (Local0, 0x03)) { Store (One, TOGI) } Return (ShiftLeft (TOGI, 0x08)) } Else { If (LEqual (ATDP, 0x06)) { If (LEqual (Local0, 0x02)) { Store (0x03, TOGI) } If (LEqual (Local0, 0x04)) { Store (0x05, TOGI) } If (LEqual (Local0, 0x06)) { Store (One, TOGI) } Return (ShiftLeft (TOGI, 0x08)) } Else { If (LEqual (ATDP, 0x02)) { Return (0x0200) } } } } Return (0x0300) } If (LEqual (And (Arg3, 0x10000000), 0x10000000)) {} Else { If (LEqual (HDHP, One)) { Return (0x00700002) } Else { Return (0x00600002) } } } Else { If (LEqual (_T_0, 0x06)) { Store ("Start case 6 : Hot Key Event", Debug) Store (0xEA, P80H) Return (Package (0x0F) { 0x0110, 0x2C, 0x80000100, 0x2C, 0x80007330, 0x2C, 0x0110, 0x80000100, 0x2C, 0x0110, 0x80007330, 0x2C, 0x80000100, 0x80007330, 0x2C }) } } } } } } } Return (0x80000002) } } Method (_DOD, 0, NotSerialized) { Return (Package (0x03) { 0x80000100, 0x0110, 0x80007330 }) } Method (MXDS, 1, NotSerialized) { If (And (Arg0, Zero)) { If (^^P0P2.VGA.DVST) { Return (Zero) } Else { Return (One) } } Else { If (And (Arg0, One)) { Store (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>IGD MXDS to iGPU", Debug) Store (Zero, ^^LPCB.EC0.HPWR) Store (Zero, ^^LPCB.EC0.DRRY) } } } Method (MXMX, 1, NotSerialized) { Return (One) } Device (DD01) { Name (_ADR, 0x0100) Method (_DCS, 0, NotSerialized) { If (LOr (LOr (LEqual (TOGI, 0x02), LEqual (TOGI, 0x04)), LEqual ( TOGI, 0x06))) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { If (LOr (LOr (LEqual (TOGI, 0x02), LEqual (TOGI, 0x04)), LEqual ( TOGI, 0x06))) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("CRT -- _DSS", Debug) } } Device (DD02) { Name (_ADR, 0x0110) Method (_DCS, 0, NotSerialized) { If (LOr (LOr (LEqual (TOGI, One), LEqual (TOGI, 0x04)), LEqual ( TOGI, 0x05))) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { If (LOr (LOr (LEqual (TOGI, One), LEqual (TOGI, 0x04)), LEqual ( TOGI, 0x05))) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("LCD -- _DSS", Debug) } Method (_BCL, 0, NotSerialized) { Return (Package (0x0A) { 0x64, 0x1C, Zero, 0x0E, 0x1C, 0x2A, 0x38, 0x46, 0x54, 0x64 }) } Method (_BCM, 1, NotSerialized) { Name (_T_0, Zero) Store (ToInteger (Arg0), _T_0) If (LEqual (_T_0, Zero)) { Store (Zero, Local1) } Else { If (LEqual (_T_0, 0x0E)) { Store (One, Local1) } Else { If (LEqual (_T_0, 0x1C)) { Store (0x02, Local1) } Else { If (LEqual (_T_0, 0x2A)) { Store (0x03, Local1) } Else { If (LEqual (_T_0, 0x38)) { Store (0x04, Local1) } Else { If (LEqual (_T_0, 0x46)) { Store (0x05, Local1) } Else { If (LEqual (_T_0, 0x54)) { Store (0x06, Local1) } Else { If (LEqual (_T_0, 0x64)) { Store (0x07, Local1) } } } } } } } } If (LEqual (OSYS, 0x07D6)) { Acquire (^^^LPCB.EC0.MUT1, 0xFFFF) Store (Local1, ^^^LPCB.EC0.BLVL) Release (^^^LPCB.EC0.MUT1) } } Method (_BQC, 0, NotSerialized) { If (LEqual (OSYS, 0x07D6)) { Acquire (^^^LPCB.EC0.MUT1, 0xFFFF) Store (^^^LPCB.EC0.BLVL, Local0) Release (^^^LPCB.EC0.MUT1) } Name (_T_0, Zero) Store (ToInteger (Local0), _T_0) If (LEqual (_T_0, Zero)) { Store (Zero, Local1) } Else { If (LEqual (_T_0, One)) { Store (0x0E, Local1) } Else { If (LEqual (_T_0, 0x02)) { Store (0x1C, Local1) } Else { If (LEqual (_T_0, 0x03)) { Store (0x2A, Local1) } Else { If (LEqual (_T_0, 0x04)) { Store (0x38, Local1) } Else { If (LEqual (_T_0, 0x05)) { Store (0x46, Local1) } Else { If (LEqual (_T_0, 0x06)) { Store (0x54, Local1) } Else { If (LEqual (_T_0, 0x07)) { Store (0x64, Local1) } } } } } } } } Return (Local1) } } Device (HDMI) { Name (_ADR, 0x7330) Method (_DCS, 0, NotSerialized) { Store ("HDMI TV -- _DCS", Debug) If (LOr (LOr (LEqual (TOGI, 0x03), LEqual (TOGI, 0x05)), LEqual ( TOGI, 0x06))) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("HDMI TV -- _DCS", Debug) If (LOr (LOr (LEqual (TOGI, 0x03), LEqual (TOGI, 0x05)), LEqual ( TOGI, 0x06))) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("HDMI TV -- _DSS", Debug) } } Scope (^^PCI0) { OperationRegion (MCHP, PCI_Config, 0x40, 0xC0) Field (MCHP, AnyAcc, NoLock, Preserve) { Offset (0x60), TASM, 10, Offset (0x62) } } OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x12), , 1, GIVD, 1, , 2, GUMA, 3, 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 (0xB4), PWMC, 8, 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, 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, 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, BC00, 8, Offset (0x31E), BC01, 8, Offset (0x320), BC02, 8, Offset (0x322), BC03, 8, Offset (0x324), BC04, 8, Offset (0x326), BC05, 8, Offset (0x328), BC06, 8, Offset (0x32A), BC07, 8, Offset (0x32C), BC08, 8, Offset (0x32E), BC09, 8, Offset (0x330), BC0A, 8, Offset (0x332), Offset (0x344), CPFM, 32, EPFM, 32, PLUT, 592, PFMB, 32, DDCV, 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) { Zero, Zero }, 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 (0x0679, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (0x0240, 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, 0x06)) { Store (ITVF, PARM) Or (PARM, ShiftLeft (ITVM, 0x04), 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)) { Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (Zero, 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, 0x06)) { Store (And (PARM, 0x0F), ITVF) Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x07)) { 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) Store (Zero, IDMM) } Else { And (ShiftRight (PARM, 0x11), 0x0F, IDMS) Store (One, IDMM) } 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, SCIS) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (PDRD, 0, NotSerialized) { If (LNot (DRDY)) { Sleep (ASLP) } 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))) { If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6))) { Notify (PCI0, Arg1) } Else { Notify (GFX0, Arg1) } } Notify (GFX0, 0x80) Return (Zero) } Method (GHDS, 1, NotSerialized) { Store (Arg0, TIDX) Return (GNOT (One, Zero)) } Method (GLID, 1, NotSerialized) { Store (Arg0, CLID) Return (GNOT (0x02, 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 (AINT, 2, NotSerialized) { If (LNot (And (TCHE, ShiftLeft (One, Arg0)))) { Return (One) } If (PARD ()) { Return (One) } 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) } Else { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { Store (One, PFIT) } } } If (LEqual (Local0, 0x06)) { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { If (And (Local1, One)) { Store (One, PFIT) } Else { Store (0x06, PFIT) } } } If (LEqual (Local0, 0x08)) { If (And (Local1, One)) { Store (One, PFIT) } Else { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { Store (0x08, PFIT) } } } } Else { XOr (PFIT, 0x07, PFIT) } Or (PFIT, 0x80000000, PFIT) Store (0x04, ASLC) } Else { If (LEqual (Arg0, One)) { Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP) Or (BCLP, 0x80000000, BCLP) Store (0x02, ASLC) } Else { If (LEqual (Arg0, Zero)) { Store (Arg1, ALSI) Store (One, ASLC) } Else { Return (One) } } } Store (One, ASLE) Return (Zero) } Method (SCIP, 0, NotSerialized) { If (LNotEqual (OVER, Zero)) { Return (LNot (GSMI)) } Return (Zero) } } Device (P0P1) { Name (_ADR, 0x001E0000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR01) } Return (PR01) } } Device (LPCB) { Name (_ADR, 0x001F0000) Scope (\_SB) { Scope (\_SB) { Method (PHSR, 1, Serialized) { Store (Arg0, BCMD) Store (Zero, DID) Store (Zero, SMIC) If (LEqual (BCMD, Arg0)) {} Store (Zero, BCMD) Store (Zero, DID) Return (Zero) } OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0xBDB9EEBD, 0x00000090) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 1024 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8 } } OperationRegion (PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0) Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve) { Offset (0x20), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, Offset (0x28), PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_DIS, 0, Serialized) { Store (0x80, PARC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLA, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PARC, 0x0F), IRQ0) Return (RTLA) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PARC) } Method (_STA, 0, Serialized) { If (And (PARC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_DIS, 0, Serialized) { Store (0x80, PBRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLB, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PBRC, 0x0F), IRQ0) Return (RTLB) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PBRC) } Method (_STA, 0, Serialized) { If (And (PBRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_DIS, 0, Serialized) { Store (0x80, PCRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLC, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PCRC, 0x0F), IRQ0) Return (RTLC) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PCRC) } Method (_STA, 0, Serialized) { If (And (PCRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_DIS, 0, Serialized) { Store (0x80, PDRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLD, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PDRC, 0x0F), IRQ0) Return (RTLD) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PDRC) } Method (_STA, 0, Serialized) { If (And (PDRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_DIS, 0, Serialized) { Store (0x80, PERC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLE, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PERC, 0x0F), IRQ0) Return (RTLE) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PERC) } Method (_STA, 0, Serialized) { If (And (PERC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_DIS, 0, Serialized) { Store (0x80, PFRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLF, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PFRC, 0x0F), IRQ0) Return (RTLF) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PFRC) } Method (_STA, 0, Serialized) { If (And (PFRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_DIS, 0, Serialized) { Store (0x80, PGRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLG, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PGRC, 0x0F), IRQ0) Return (RTLG) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PGRC) } Method (_STA, 0, Serialized) { If (And (PGRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_DIS, 0, Serialized) { Store (0x80, PHRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLH, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PHRC, 0x0F), IRQ0) Return (RTLH) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PHRC) } Method (_STA, 0, Serialized) { If (And (PHRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } } OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { Offset (0x40), IOD0, 8, IOD1, 8, Offset (0xB0), RAEN, 1, , 13, RCBA, 18 } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x11, // Length ) IO (Decode16, 0x0093, // Range Minimum 0x0093, // Range Maximum 0x01, // Alignment 0x0D, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer8_16, ) {4} }) } Device (FWHD) { Name (_HID, EisaId ("INT0800")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (_CID, EisaId ("PNP0C01")) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) Method (_STA, 0, NotSerialized) { If (LGreaterEqual (OSYS, 0x07D1)) { If (HPAE) { Return (0x0F) } } Else { If (HPAE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, Serialized) { If (HPAE) { CreateDWordField (BUF0, 0x04, HPT0) If (LEqual (HPAS, One)) { Store (0xFED01000, HPT0) } If (LEqual (HPAS, 0x02)) { Store (0xFED02000, HPT0) } If (LEqual (HPAS, 0x03)) { Store (0xFED03000, HPT0) } } Return (BUF0) } } Device (IPIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0024, // Range Minimum 0x0024, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0028, // Range Minimum 0x0028, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002C, // Range Minimum 0x002C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0034, // Range Minimum 0x0034, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0038, // Range Minimum 0x0038, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x003C, // Range Minimum 0x003C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A4, // Range Minimum 0x00A4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A8, // Range Minimum 0x00A8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00AC, // Range Minimum 0x00AC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B4, // Range Minimum 0x00B4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00BC, // Range Minimum 0x00BC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {13} }) } Device (LDRC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x02) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x0680, // Range Minimum 0x0680, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0480, // Range Minimum 0x0480, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x1180, // Range Minimum 0x1180, // Range Maximum 0x01, // Alignment 0x40, // Length ) IO (Decode16, 0x164E, // Range Minimum 0x164E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0068, // Range Minimum 0x0068, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x006C, // Range Minimum 0x006C, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0700, // Range Minimum 0x0700, // Range Maximum 0x01, // Alignment 0x10, // Length ) }) } Device (CDRC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x03) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x06B0, // Range Minimum 0x06B0, // Range Maximum 0x01, // Alignment 0x40, // Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x06B0, // Range Minimum 0x06B0, // Range Maximum 0x01, // Alignment 0x50, // Length ) }) Name (BUF2, ResourceTemplate () { IO (Decode16, 0x06A0, // Range Minimum 0x06A0, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x06B0, // Range Minimum 0x06B0, // Range Maximum 0x01, // Alignment 0x40, // Length ) }) Name (BUF3, ResourceTemplate () { IO (Decode16, 0x06A0, // Range Minimum 0x06A0, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x06B0, // Range Minimum 0x06B0, // Range Maximum 0x01, // Alignment 0x50, // Length ) }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x10, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (N393) { Name (_HID, EisaId ("PNP0A05")) Name (_UID, One) Method (_STA, 0, Serialized) { If (LEqual (R20H, 0xF4)) { Return (0x0F) } Return (Zero) } OperationRegion (N393, SystemIO, 0x164E, 0x02) Field (N393, ByteAcc, Lock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, Lock, Preserve) { Offset (0x07), R07H, 8, Offset (0x20), R20H, 8, R21H, 8, R22H, 8, R23H, 8, R24H, 8, R25H, 8, R26H, 8, R27H, 8, R28H, 8, R29H, 8, R2AH, 8, Offset (0x30), R30H, 8, Offset (0x60), R60H, 8, R61H, 8, Offset (0x70), R70H, 8, R71H, 8, Offset (0x74), R74H, 8, R75H, 8, Offset (0xF0), RF0H, 8, RF1H, 8 } Device (UAR3) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x02) Method (_STA, 0, Serialized) { If (LEqual (R20H, 0xF4)) { Store (0x03, R07H) If (R30H) { Return (0x0F) } Return (0x0D) } Return (Zero) } Method (_DIS, 0, Serialized) { Store (0x03, R07H) Store (Zero, R30H) } Method (_CRS, 0, Serialized) { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} }) Store (0x03, R07H) If (R30H) { CreateByteField (BUF0, 0x02, IOL0) CreateByteField (BUF0, 0x03, IOH0) CreateByteField (BUF0, 0x04, IOL1) CreateByteField (BUF0, 0x05, IOH1) CreateByteField (BUF0, 0x07, LEN0) CreateWordField (BUF0, 0x09, IRQW) Store (R60H, IOH0) Store (R61H, IOL0) Store (R60H, IOH1) Store (R61H, IOL1) Store (0x08, LEN0) And (R70H, 0x0F, Local0) If (Local0) { ShiftLeft (One, Local0, IRQW) } Else { Store (Zero, IRQW) } } Return (BUF0) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } EndDependentFn () }) Method (_SRS, 1, Serialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) Store (0x03, R07H) Store (Zero, R30H) Store (IOLO, R61H) Store (IOHI, R60H) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { Decrement (Local0) } Store (Local0, R70H) And (IOD0, 0xF8, IOD0) If (LEqual (IOHI, 0x03)) { If (LEqual (IOLO, 0xF8)) { Or (IOD0, Zero, IOD0) } Else { Or (IOD0, 0x07, IOD0) } } Else { If (LEqual (IOLO, 0xF8)) { Or (IOD0, One, IOD0) } Else { Or (IOD0, 0x05, IOD0) } } Store (One, R30H) } Method (_PS0, 0, Serialized) { Store (0x03, R07H) Store (One, R30H) } Method (_PS3, 0, Serialized) { Store (0x03, R07H) Store (Zero, R30H) } } } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) } Device (PS2M) { Name (_HID, EisaId ("SYN101A")) Name (_CID, Package (0x03) { EisaId ("SYN1000"), EisaId ("SYN0002"), EisaId ("PNP0F13") }) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } } Device (USB0) { Name (_ADR, 0x001D0000) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x03, 0x03 }) } Device (USB1) { Name (_ADR, 0x001D0001) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x04, 0x03 }) } Device (USB2) { Name (_ADR, 0x001D0002) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x0C, 0x03 }) } Device (USBR) { Name (_ADR, 0x001D0003) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x20, 0x03 }) } Device (EHC1) { Name (_ADR, 0x001D0007) Name (_PRW, Package (0x02) { 0x0D, 0x03 }) } Device (USB3) { Name (_ADR, 0x001A0000) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) } Device (USB4) { Name (_ADR, 0x001A0001) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x05, 0x03 }) } Device (USB5) { Name (_ADR, 0x001A0002) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_PRW, Package (0x02) { 0x04, 0x03 }) } Device (EHC2) { Name (_ADR, 0x001A0007) Name (_PRW, Package (0x02) { 0x0D, 0x03 }) } Device (HDEF) { Name (_ADR, 0x001B0000) OperationRegion (HDAR, PCI_Config, 0x4C, 0x10) Field (HDAR, WordAcc, NoLock, Preserve) { DCKA, 1, Offset (0x01), DCKM, 1, , 6, DCKS, 1, Offset (0x08), , 15, PMES, 1 } Name (_PRW, Package (0x02) { 0x0D, 0x04 }) } Device (RP01) { Name (_ADR, 0x001C0000) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR04) } Return (PR04) } } Device (RP02) { Name (_ADR, 0x001C0001) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Name (PDSS, Zero) Name (PXSX._RMV, One) Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR05) } Return (PR05) } } Device (RP03) { Name (_ADR, 0x001C0002) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR06) } Return (PR06) } } Device (RP04) { Name (_ADR, 0x001C0003) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR07) } Return (PR07) } } Device (RP06) { Name (_ADR, 0x001C0005) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR05) } Return (PR05) } } } } Scope (_PR) { Processor (CPU0, 0x00, 0x00000410, 0x06) {} Processor (CPU1, 0x01, 0x00000410, 0x06) {} Processor (CPU2, 0x02, 0x00000410, 0x06) {} Processor (CPU3, 0x03, 0x00000410, 0x06) {} } Scope (_TZ) { Name (TPAS, 0x62) Name (TPC, 0x61) Name (TPNS, 0x64) Name (TPNC, 0x69) Name (T85S, 0x55) Name (T85C, 0x5A) ThermalZone (TZ00) { Method (_CRT, 0, Serialized) { If (\_SB.PCI0.LPCB.EC0.T85T) { Return (0x0DFE) } Else { If (\_SB.PCI0.LPCB.EC0.T90T) { Return (0x0E30) } Else { Return (Add (0x0AAC, Multiply (TPC, 0x0A))) } } } Method (_SCP, 1, Serialized) { Store (Arg0, CTYP) } Mutex (MUTT, 0x00) Method (_TMP, 0, Serialized) { Store (\_SB.PCI0.LPCB.EC0.RTMP, Local0) Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Method (_PSL, 0, Serialized) { If (MPEN) { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } Return (Package (0x01) { \_PR.CPU0 }) } Method (_PSV, 0, Serialized) { If (\_SB.PCI0.LPCB.EC0.T85T) { Return (0x0DC2) } Else { If (\_SB.PCI0.LPCB.EC0.T90T) { Return (0x0DF4) } Else { Return (0x0E62) } } } Method (_TC1, 0, Serialized) { Return (0x02) } Method (_TC2, 0, Serialized) { Return (0x03) } Method (_TSP, 0, Serialized) { Return (0x64) } } } Scope (_SB) { OperationRegion (EXCO, SystemIO, 0x72, 0x02) Field (EXCO, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x80), , 1, , 1, , 2, BRNS, 4, Offset (0x98), , 2, HYBD, 2, Offset (0xA0), DISD, 3, OVRL, 1, DCKS, 1, ACST, 1, POPF, 1, FL07, 1, FL10, 1, FL11, 1, FL12, 1, FL13, 1, FL14, 1, FL15, 1, FL16, 1, FL17, 1, FL20, 2, FL21, 2, FL22, 2, FL23, 2, CM23, 8, CM24, 8, CM25, 8, Offset (0xEE), INS4, 1, Offset (0xEF), S4CT, 8, EHWR, 1, EDRY, 1, Offset (0xF2), , 2, AVCT, 1, Offset (0xFF), LAST, 8 } } Mutex (MUTX, 0x00) OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method (P8XH, 2, Serialized) { If (LEqual (Arg0, Zero)) { Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D) } If (LEqual (Arg0, One)) { Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08) ), P80D) } If (LEqual (Arg0, 0x02)) { Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10) ), P80D) } If (LEqual (Arg0, 0x03)) { Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18) ), P80D) } Store (P80D, P80H) } OperationRegion (SPRT, SystemIO, 0xB2, 0x02) Field (SPRT, ByteAcc, Lock, Preserve) { SSMP, 8 } Method (_PIC, 1, NotSerialized) { Store (Arg0, GPIC) Store (Arg0, PICM) } Method (_PTS, 1, NotSerialized) { Store (Zero, P80D) Store (\_SB.PCI0.LPCB.EC0.HPWR, \_SB.EHWR) Store (\_SB.PCI0.LPCB.EC0.DRRY, \_SB.EDRY) P8XH (Zero, Arg0) If (LEqual (Arg0, 0x03)) { If (LAnd (DTSE, MPEN)) { TRAP (TRTD, 0x1E) } Store (One, G8WS) Store (One, G8WE) } If (LEqual (Arg0, 0x04)) { Store (One, \_SB.PCI0.LPCB.EC0.PFLG) Store (One, \_SB.INS4) } If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) {} Store (Zero, \_SB.PCI0.LPCB.EC0.FVIS) \_SB.PHSR (0x81) } Method (_WAK, 1, NotSerialized) { P8XH (Zero, 0xAB) Store (\_SB.EHWR, \_SB.PCI0.LPCB.EC0.HPWR) Store (\_SB.EDRY, \_SB.PCI0.LPCB.EC0.DRRY) Notify (\_SB.PWRB, 0x02) If (_OSI ("Windows 2006")) { Store (One, \_SB.FL14) Store (One, \_SB.PCI0.LPCB.EC0.FVIS) If (IGDS) { If (LEqual (\_SB.PCI0.LPCB.EC0.LDS0, One)) { Store (Zero, \_SB.PCI0.GFX0.CLID) } Else { Store (One, \_SB.PCI0.GFX0.CLID) } } } Else { Store (Zero, \_SB.FL14) Store (Zero, \_SB.PCI0.LPCB.EC0.FVIS) } If (LEqual (Arg0, 0x03)) { Notify (\_SB.PCI0.EHC2, One) } If (LEqual (Arg0, 0x04)) { Notify (\_TZ.TZ00, 0x80) Store (Zero, \_SB.INS4) Store (Zero, \_SB.S4CT) } If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { If (LAnd (DTSE, MPEN)) { TRAP (TRTD, 0x14) } If (And (CFGD, 0x01000000)) { If (LAnd (And (CFGD, 0xF0), LAnd (LEqual (OSYS, 0x07D1), LNot (And (PDC0, 0x10))))) { TRAP (TRTP, ESCS) } } If (LEqual (OSYS, 0x07D2)) { If (And (CFGD, One)) { If (LGreater (\_PR.CPU0._PPC, Zero)) { Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () } Else { Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC) PNOT () } } } If (ECON) {} } P8XH (Zero, 0xCD) Return (Package (0x02) { Zero, Zero }) } Method (GETB, 3, Serialized) { Multiply (Arg0, 0x08, Local0) Multiply (Arg1, 0x08, Local1) CreateField (Arg2, Local0, Local1, TBF3) Return (TBF3) } Method (PNOT, 0, Serialized) { If (MPEN) { If (And (PDC0, 0x08)) { Notify (\_PR.CPU0, 0x80) If (And (PDC0, 0x10)) { Sleep (0x64) Notify (\_PR.CPU0, 0x81) } } If (And (PDC1, 0x08)) { Notify (\_PR.CPU1, 0x80) If (And (PDC1, 0x10)) { Sleep (0x64) Notify (\_PR.CPU1, 0x81) } } } Else { Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU0, 0x81) } Notify (\_SB.BAT1, 0x80) } Method (TRAP, 2, Serialized) { Store (Arg1, SMIF) If (LEqual (Arg0, TRTP)) { Store (Zero, TRPI) } If (LEqual (Arg0, TRTD)) { Store (Arg1, DTSF) Store (Zero, TRPD) Return (DTSF) } If (LEqual (Arg0, TRTI)) { Store (Zero, TRP0) } Return (SMIF) } Scope (_SB.PCI0) { Name (EBRL, 0x64) Name (EBRV, Zero) Name (IBCL, Package (0x0D) { 0x64, 0x23, 0x05, 0x0F, 0x19, 0x23, 0x2D, 0x37, 0x41, 0x4B, 0x55, 0x5F, 0x64 }) Method (IBCM, 1, NotSerialized) { Store (Arg0, EBRL) If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x02)), One ))) { Store (Zero, BRNS) } Else { If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x03)), One ))) { Store (One, BRNS) } Else { If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x04)), One ))) { Store (0x02, BRNS) } Else { If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x05)), One ))) { Store (0x03, BRNS) } Else { If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x06)), One ))) { Store (0x04, BRNS) } Else { If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x07)), One ))) { Store (0x05, BRNS) } Else { If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x08)), One ))) { Store (0x06, BRNS) } Else { If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x09)), One ))) { Store (0x07, BRNS) } Else { If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x0A)), One ))) { Store (0x08, BRNS) } Else { If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x0B)), One ))) { Store (0x09, BRNS) } Else { If (LLess (EBRL, Add (DerefOf (Index (IBCL, 0x0C)), One ))) { Store (0x0A, BRNS) } } } } } } } } } } } Store (BRNS, ^LPCB.EC0.BLVL) If (LNot (IGDS)) { PHSR (0x9D) } Store (BRNS, EBRV) } Name (ISCT, Zero) Method (ISBC, 1, NotSerialized) { ^GFX0.PARD () Store (Arg0, ^GFX0.BCLP) Or (^GFX0.BCLP, 0x80000000, ^GFX0.BCLP) Store (0x02, ^GFX0.ASLC) Store (0x05, ISCT) While (LAnd (^GFX0.ASLC, ISCT)) { Store (One, ^GFX0.ASLE) Decrement (ISCT) } } Method (_INI, 0, NotSerialized) { Store (0x07D0, OSYS) If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) { Store (0x03E8, OSYS) } If (_OSI ("Windows 2001")) { Store (0x07D1, OSYS) } If (_OSI ("Windows 2001 SP1")) { Store (0x07D1, OSYS) } If (_OSI ("Windows 2001 SP2")) { Store (0x07D2, OSYS) } If (_OSI ("Windows 2006")) { Store (0x07D6, OSYS) } If (LAnd (MPEN, LEqual (OSYS, 0x07D1))) { TRAP (TRTP, \ESCS) } TRAP (TRTI, SOOT) } Store (^P0P2.VGA.R000, DB00) Store (^P0P2.VGA.R004, DB04) Store (^P0P2.VGA.R008, DB08) Store (^P0P2.VGA.R00C, DB0C) Store (^P0P2.VGA.R010, DB10) Store (^P0P2.VGA.R014, DB14) Store (^P0P2.VGA.R018, DB18) Store (^P0P2.VGA.R01C, DB1C) Store (^P0P2.VGA.R020, DB20) Store (^P0P2.VGA.R024, DB24) Store (^P0P2.VGA.R028, DB28) Store (^P0P2.VGA.R02C, DB2C) Store (^P0P2.VGA.R030, DB30) Store (^P0P2.VGA.R034, DB34) Store (^P0P2.VGA.R038, DB38) Store (^P0P2.VGA.R03C, DB3C) Store (^P0P2.VGA.R040, DB40) Notify (SAT0, One) } } Scope (\) { Name (PICM, Zero) } Scope (_SB.PCI0) { Device (PDRC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, One) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED40000, // Address Base 0x00005000, // Address Length ) }) Method (_CRS, 0, Serialized) { CreateDWordField (BUF0, 0x04, RBR0) ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0) CreateDWordField (BUF0, 0x10, MBR0) ShiftLeft (MHBR, 0x0E, MBR0) CreateDWordField (BUF0, 0x1C, DBR0) ShiftLeft (DIBR, 0x0C, DBR0) CreateDWordField (BUF0, 0x28, EBR0) ShiftLeft (EPBR, 0x0C, EBR0) CreateDWordField (BUF0, 0x34, XBR0) ShiftLeft (PXBR, 0x1A, XBR0) CreateDWordField (BUF0, 0x38, XSZ0) ShiftRight (0x10000000, PXSZ, XSZ0) Return (BUF0) } } } Method (BRTW, 1, Serialized) { Store (Arg0, Local1) If (LEqual (ALSE, 0x02)) { Store (Divide (Multiply (ALAF, Arg0), 0x64, ), Local1) If (LGreater (Local1, 0x64)) { Store (0x64, Local1) } } Store (Divide (Multiply (0xFF, Local1), 0x64, ), Local0) Store (Local0, PRM0) Store (Arg0, BRTL) If (LEqual (TRAP (TRTI, SBCS), Zero)) { P8XH (0x02, Local0) } } Method (HKDS, 1, Serialized) { If (LEqual (Zero, And (0x03, DSEN))) { If (LEqual (TRAP (TRTI, Arg0), Zero)) { If (LNotEqual (CADL, PADL)) { Store (CADL, PADL) If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6))) { Notify (\_SB.PCI0, Zero) } Else { Notify (\_SB.PCI0.GFX0, Zero) } Sleep (0x64) } Notify (\_SB.PCI0.GFX0, 0x80) } } If (LEqual (One, And (0x03, DSEN))) { If (LEqual (TRAP (TRTI, Increment (Arg0)), Zero)) { Notify (\_SB.PCI0.GFX0, 0x81) } } } Method (LSDS, 1, Serialized) { If (Arg0) { HKDS (DSLO) } Else { HKDS (DSLC) } If (LNotEqual (And (0x03, DSEN), One)) { Sleep (0x32) While (LEqual (And (0x03, DSEN), 0x02)) { Sleep (0x32) } } } Method (BRTN, 1, Serialized) { Notify (\_SB.PCI0.GFX0.DD02, Arg0) } Scope (\) { OperationRegion (IO_T, SystemIO, 0x0480, 0x10) Field (IO_T, ByteAcc, NoLock, Preserve) { TRPI, 16, Offset (0x04), Offset (0x06), Offset (0x08), TRP0, 8, Offset (0x0A), Offset (0x0B), Offset (0x0C), Offset (0x0D), Offset (0x0E), Offset (0x0F), Offset (0x10) } OperationRegion (IO_D, SystemIO, 0x0900, 0x04) Field (IO_D, ByteAcc, NoLock, Preserve) { TRPD, 8 } OperationRegion (IO_H, SystemIO, 0x0400, 0x04) Field (IO_H, ByteAcc, NoLock, Preserve) { TRPH, 8 } OperationRegion (PMIO, SystemIO, PMBS, 0x80) Field (PMIO, ByteAcc, NoLock, Preserve) { Offset (0x28), , 2, SPST, 1, Offset (0x2A), Offset (0x2B), G8WS, 1, Offset (0x2C), Offset (0x2E), Offset (0x2F), G8WE, 1, Offset (0x42), , 1, GPEC, 1, Offset (0x64), , 9, SCIS, 1, Offset (0x66) } OperationRegion (GPIO, SystemIO, GPBS, 0x3C) Field (GPIO, ByteAcc, NoLock, Preserve) { Offset (0x0C), , 1, , 1, , 1, , 1, , 1, , 1, , 1, Offset (0x0D), , 1, , 1, , 1, , 1, , 1, GI13, 1, , 1, Offset (0x0E), , 1, , 1, GO18, 1, GI19, 1, GO20, 1, GI21, 1, GI22, 1, Offset (0x0F), GO24, 1, , 1, , 1, GO27, 1, GO28, 1, , 1, , 1, Offset (0x10), Offset (0x38), , 1, GO33, 1, GO34, 1, GI35, 1, GI36, 1, GI37, 1, , 1, GI39, 1, , 1, , 1, , 1, , 1, , 1, , 1, , 1, Offset (0x3A), GI48, 1, GO49, 1, , 1, , 1, , 1, , 1, , 1, Offset (0x3B), , 1, GO57, 1, , 1, , 1, , 1 } OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000) Field (RCRB, DWordAcc, Lock, Preserve) { Offset (0x1000), Offset (0x3000), Offset (0x3404), HPAS, 2, , 5, HPAE, 1, Offset (0x3418), , 1, , 1, SATD, 1, SMBD, 1, HDAD, 1, Offset (0x341A), RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1, RP5D, 1, RP6D, 1 } Method (GETP, 1, Serialized) { If (LEqual (And (Arg0, 0x09), Zero)) { Return (0xFFFFFFFF) } If (LEqual (And (Arg0, 0x09), 0x08)) { Return (0x0384) } ShiftRight (And (Arg0, 0x0300), 0x08, Local0) ShiftRight (And (Arg0, 0x3000), 0x0C, Local1) Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1)) )) } Method (GDMA, 5, Serialized) { If (Arg0) { If (LAnd (Arg1, Arg4)) { Return (0x14) } If (LAnd (Arg2, Arg4)) { Return (Multiply (Subtract (0x04, Arg3), 0x0F)) } Return (Multiply (Subtract (0x04, Arg3), 0x1E)) } Return (0xFFFFFFFF) } Method (GETT, 1, Serialized) { Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02 ), 0x03), And (Arg0, 0x03))))) } Method (GETF, 3, Serialized) { Name (TMPF, Zero) If (Arg0) { Or (TMPF, One, TMPF) } If (And (Arg2, 0x02)) { Or (TMPF, 0x02, TMPF) } If (Arg1) { Or (TMPF, 0x04, TMPF) } If (And (Arg2, 0x20)) { Or (TMPF, 0x08, TMPF) } If (And (Arg2, 0x4000)) { Or (TMPF, 0x10, TMPF) } Return (TMPF) } Method (SETP, 3, Serialized) { If (LGreater (Arg0, 0xF0)) { Return (0x08) } Else { If (And (Arg1, 0x02)) { If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02))) { Return (0x2301) } If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One))) { Return (0x2101) } } Return (0x1001) } } Method (SDMA, 1, Serialized) { If (LLessEqual (Arg0, 0x14)) { Return (One) } If (LLessEqual (Arg0, 0x1E)) { Return (0x02) } If (LLessEqual (Arg0, 0x2D)) { Return (One) } If (LLessEqual (Arg0, 0x3C)) { Return (0x02) } If (LLessEqual (Arg0, 0x5A)) { Return (One) } Return (Zero) } Method (SETT, 3, Serialized) { If (And (Arg1, 0x02)) { If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02))) { Return (0x0B) } If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One))) { Return (0x09) } } Return (0x04) } } Scope (_SB.PCI0) { Device (SAT0) { Name (_ADR, 0x001F0002) OperationRegion (SACS, PCI_Config, 0x40, 0xC0) Field (SACS, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset (0x08), SYNC, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x0B), SDT2, 2, , 2, SDT3, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4, Offset (0x50), MAPV, 2 } Device (PRID) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Name (PBUF, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, Zero, PIO0) CreateDWordField (PBUF, 0x04, DMA0) CreateDWordField (PBUF, 0x08, PIO1) CreateDWordField (PBUF, 0x0C, DMA1) CreateDWordField (PBUF, 0x10, FLAG) Store (GETP (PRIT), PIO0) Store (GDMA (And (SYNC, One), And (ICR3, One), And (ICR0, One), SDT0, And (ICR1, One)), DMA0) If (LEqual (DMA0, 0xFFFFFFFF)) { Store (PIO0, DMA0) } If (And (PRIT, 0x4000)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (PSIT), PIO1) } } Else { Store (0xFFFFFFFF, PIO1) } Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) If (LEqual (DMA1, 0xFFFFFFFF)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, One), And (SYNC, 0x02), PRIT), FLAG) Return (PBUF) } Method (_STM, 3, NotSerialized) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (PRIT, 0xC0F0, PRIT) And (SYNC, 0x0E, SYNC) Store (Zero, SDT0) And (ICR0, 0x0E, ICR0) And (ICR1, 0x0E, ICR1) And (ICR3, 0x0E, ICR3) And (ICR5, 0x0E, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (PRIT, 0x8004, PRIT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (PRIT, 0x02, PRIT) } Or (PRIT, SETP (PIO0, W530, W640), PRIT) If (And (FLAG, One)) { Or (SYNC, One, SYNC) Store (SDMA (DMA0), SDT0) If (LLess (DMA0, 0x1E)) { Or (ICR3, One, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, One, ICR0) } Or (ICR1, One, ICR1) } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0xBF0F, PRIT) Store (Zero, PSIT) And (SYNC, 0x0D, SYNC) Store (Zero, SDT1) And (ICR0, 0x0D, ICR0) And (ICR1, 0x0D, ICR1) And (ICR3, 0x0D, ICR3) And (ICR5, 0x0D, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (PRIT, 0x8040, PRIT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (PRIT, 0x20, PRIT) } If (And (FLAG, 0x10)) { Or (PRIT, 0x4000, PRIT) If (LGreater (PIO1, 0xF0)) { Or (PRIT, 0x80, PRIT) } Else { Or (PRIT, 0x10, PRIT) Store (SETT (PIO1, W531, W641), PSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x02, SYNC) Store (SDMA (DMA1), SDT1) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x02, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x02, ICR0) } Or (ICR1, 0x02, ICR1) } } } Device (P_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Name (PIB0, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, One, PMD0) CreateByteField (PIB0, 0x08, DMD0) If (And (PRIT, 0x02)) { If (LEqual (And (PRIT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (PRIT, 0x0300), 0x08, Local0) ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (One, PMD0) } If (And (SYNC, One)) { Store (Or (SDT0, 0x40), DMD0) If (And (ICR1, One)) { If (And (ICR0, One)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, One)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (PIB0) } } Device (P_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Name (PIB1, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (PIB1, One, PMD1) CreateByteField (PIB1, 0x08, DMD1) If (And (PRIT, 0x20)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (One, PMD1) } If (And (SYNC, 0x02)) { Store (Or (SDT1, 0x40), DMD1) If (And (ICR1, 0x02)) { If (And (ICR0, 0x02)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x02)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (PIB1) } } } Device (SECD) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { Name (SBUF, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (SBUF, Zero, PIO0) CreateDWordField (SBUF, 0x04, DMA0) CreateDWordField (SBUF, 0x08, PIO1) CreateDWordField (SBUF, 0x0C, DMA1) CreateDWordField (SBUF, 0x10, FLAG) Store (GETP (SECT), PIO0) Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04), And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0) If (LEqual (DMA0, 0xFFFFFFFF)) { Store (PIO0, DMA0) } If (And (SECT, 0x4000)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (SSIT), PIO1) } } Else { Store (0xFFFFFFFF, PIO1) } Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08), And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1) If (LEqual (DMA1, 0xFFFFFFFF)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08), SECT), FLAG) If (And (LEqual (PIO0, 0xFFFFFFFF), LEqual (DMA0, 0xFFFFFFFF))) { Store (0x78, PIO0) Store (0x14, DMA0) Store (0x03, FLAG) } Return (SBUF) } Method (_STM, 3, NotSerialized) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (SECT, 0xC0F0, SECT) And (SYNC, 0x0B, SYNC) Store (Zero, SDT2) And (ICR0, 0x0B, ICR0) And (ICR1, 0x0B, ICR1) And (ICR3, 0x0B, ICR3) And (ICR5, 0x0B, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (SECT, 0x8004, SECT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (SECT, 0x02, SECT) } Or (SECT, SETP (PIO0, W530, W640), SECT) If (And (FLAG, One)) { Or (SYNC, 0x04, SYNC) Store (SDMA (DMA0), SDT2) If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x04, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x04, ICR0) } If (And (W930, 0x2000)) { Or (ICR1, 0x04, ICR1) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (SECT, 0xBF0F, SECT) Store (Zero, SSIT) And (SYNC, 0x07, SYNC) Store (Zero, SDT3) And (ICR0, 0x07, ICR0) And (ICR1, 0x07, ICR1) And (ICR3, 0x07, ICR3) And (ICR5, 0x07, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (SECT, 0x8040, SECT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (SECT, 0x20, SECT) } If (And (FLAG, 0x10)) { Or (SECT, 0x4000, SECT) If (LGreater (PIO1, 0xF0)) { Or (SECT, 0x80, SECT) } Else { Or (SECT, 0x10, SECT) Store (SETT (PIO1, W531, W641), SSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x08, SYNC) Store (SDMA (DMA1), SDT3) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x08, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x08, ICR0) } If (And (W931, 0x2000)) { Or (ICR1, 0x08, ICR1) } } } } Device (S_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Name (SIB0, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (SIB0, One, PMD0) CreateByteField (SIB0, 0x08, DMD0) If (And (SECT, 0x02)) { If (LEqual (And (SECT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (SECT, 0x0300), 0x08, Local0) ShiftRight (And (SECT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (One, PMD0) } If (And (SYNC, 0x04)) { Store (Or (SDT2, 0x40), DMD0) If (And (ICR1, 0x04)) { If (And (ICR0, 0x04)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x04)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (SIB0) } } Device (S_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Name (SIB1, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (SIB1, One, PMD1) CreateByteField (SIB1, 0x08, DMD1) If (And (SECT, 0x20)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (One, PMD1) } If (And (SYNC, 0x08)) { Store (Or (SDT3, 0x40), DMD1) If (And (ICR1, 0x08)) { If (And (ICR0, 0x08)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x08)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (SIB1) } } } Device (PRT0) { Name (_ADR, 0xFFFF) Method (_SDD, 1, NotSerialized) { Name (GBU0, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00 }) CreateByteField (GBU0, Zero, GB00) CreateByteField (GBU0, One, GB01) CreateByteField (GBU0, 0x02, GB02) CreateByteField (GBU0, 0x03, GB03) CreateByteField (GBU0, 0x04, GB04) CreateByteField (GBU0, 0x05, GB05) CreateByteField (GBU0, 0x06, GB06) If (LEqual (SizeOf (Arg0), 0x0200)) { CreateWordField (Arg0, 0x9C, W780) If (And (W780, 0x08)) { Store (0x10, GB00) Store (0x03, GB01) Store (0xEF, GB06) } Else { Store (0x90, GB00) Store (0x03, GB01) Store (0xEF, GB06) } } Store (GBU0, GTF0) } Method (_GTF, 0, NotSerialized) { Return (GTF0) } } Device (PRT1) { Name (_ADR, 0x0001FFFF) Method (_SDD, 1, NotSerialized) { Name (GBU1, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00 }) CreateByteField (GBU1, Zero, GB10) CreateByteField (GBU1, One, GB11) CreateByteField (GBU1, 0x02, GB12) CreateByteField (GBU1, 0x03, GB13) CreateByteField (GBU1, 0x04, GB14) CreateByteField (GBU1, 0x05, GB15) CreateByteField (GBU1, 0x06, GB16) If (LEqual (SizeOf (Arg0), 0x0200)) { CreateWordField (Arg0, 0x9C, W781) If (And (W781, 0x08)) { Store (0x10, GB10) Store (0x03, GB11) Store (0xEF, GB16) } Else { Store (0x90, GB10) Store (0x03, GB11) Store (0xEF, GB16) } } Store (GBU1, GTF1) } Method (_GTF, 0, NotSerialized) { Return (GTF1) } } Device (PRT2) { Name (_ADR, 0x0004FFFF) Method (_SDD, 1, NotSerialized) { Name (GBU2, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00 }) CreateByteField (GBU2, Zero, GB20) CreateByteField (GBU2, One, GB21) CreateByteField (GBU2, 0x02, GB22) CreateByteField (GBU2, 0x03, GB23) CreateByteField (GBU2, 0x04, GB24) CreateByteField (GBU2, 0x05, GB25) CreateByteField (GBU2, 0x06, GB26) If (LEqual (SizeOf (Arg0), 0x0200)) { CreateWordField (Arg0, 0x9C, W782) If (And (W782, 0x08)) { Store (0x10, GB20) Store (0x03, GB21) Store (0xEF, GB26) } Else { Store (0x90, GB20) Store (0x03, GB21) Store (0xEF, GB26) } } Store (GBU2, GTF2) } Method (_GTF, 0, NotSerialized) { Return (GTF2) } } } Device (SAT1) { Name (_ADR, 0x001F0005) OperationRegion (SACS, PCI_Config, 0x40, 0xC0) Field (SACS, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset (0x08), SYNC, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x0B), SDT2, 2, , 2, SDT3, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4, Offset (0x50), MAPV, 2 } } Device (SBUS) { Name (_ADR, 0x001F0003) OperationRegion (SMBP, PCI_Config, 0x40, 0xC0) Field (SMBP, DWordAcc, NoLock, Preserve) { , 2, I2CE, 1 } OperationRegion (SMBI, SystemIO, 0x1C00, 0x10) Field (SMBI, ByteAcc, NoLock, Preserve) { HSTS, 8, Offset (0x02), HCON, 8, HCOM, 8, TXSA, 8, DAT0, 8, DAT1, 8, HBDR, 8, PECR, 8, RXSA, 8, SDAT, 16 } Method (SSXB, 2, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRXB, 1, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (0x44, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (Arg2, DAT0) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDB, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRW, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) And (Arg2, 0xFF, DAT0) And (ShiftRight (Arg2, 0x08), 0xFF, DAT1) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDW, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (Or (ShiftLeft (DAT1, 0x08), DAT0)) } Return (0xFFFFFFFF) } Method (SBLW, 4, Serialized) { If (STRT ()) { Return (Zero) } Store (Arg3, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (SizeOf (Arg2), DAT0) Store (Zero, Local1) Store (DerefOf (Index (Arg2, Zero)), HBDR) Store (0x54, HCON) While (LGreater (SizeOf (Arg2), Local1)) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (0x80, HSTS) Increment (Local1) If (LGreater (SizeOf (Arg2), Local1)) { Store (DerefOf (Index (Arg2, Local1)), HBDR) } } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SBLR, 3, Serialized) { Name (TBUF, Buffer (0x0100) {}) If (STRT ()) { Return (Zero) } Store (Arg2, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x54, HCON) Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (DAT0, Index (TBUF, Zero)) Store (0x80, HSTS) Store (One, Local1) While (LLess (Local1, DerefOf (Index (TBUF, Zero)))) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (HBDR, Index (TBUF, Local1)) Store (0x80, HSTS) Increment (Local1) } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (TBUF) } Return (Zero) } Method (STRT, 0, Serialized) { Store (0xC8, Local0) While (Local0) { If (And (HSTS, 0x40)) { Decrement (Local0) Sleep (One) If (LEqual (Local0, Zero)) { Return (One) } } Else { Store (Zero, Local0) } } Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, One)) { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } Else { Return (Zero) } } Return (One) } Method (COMP, 0, Serialized) { Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, 0x02)) { Return (One) } Else { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } } Return (Zero) } Method (KILL, 0, Serialized) { Or (HCON, 0x02, HCON) Or (HSTS, 0xFF, HSTS) } } } Scope (_GPE) { Method (_L01, 0, NotSerialized) { Add (L01C, One, L01C) P8XH (Zero, One) P8XH (One, L01C) Sleep (0x78) If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP01.PDCX) { Store (One, \_SB.PCI0.RP01.PDCX) Store (One, \_SB.PCI0.RP01.HPSX) Notify (\_SB.PCI0.RP01, Zero) } Else { Store (One, \_SB.PCI0.RP01.HPSX) } } If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP02.PDCX) { Store (One, \_SB.PCI0.RP02.PDCX) Store (One, \_SB.PCI0.RP02.HPSX) Notify (\_SB.PCI0.RP02, Zero) } Else { Store (One, \_SB.PCI0.RP02.HPSX) } } If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP03.PDCX) { Store (One, \_SB.PCI0.RP03.PDCX) Store (One, \_SB.PCI0.RP03.HPSX) Notify (\_SB.PCI0.RP03, Zero) } Else { Store (One, \_SB.PCI0.RP03.HPSX) } } If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP04.PDCX) { Store (One, \_SB.PCI0.RP04.PDCX) Store (One, \_SB.PCI0.RP04.HPSX) Notify (\_SB.PCI0.RP04, Zero) } Else { Store (One, \_SB.PCI0.RP04.HPSX) } } If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.RP06.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP06.PDCX) { Store (One, \_SB.PCI0.RP06.PDCX) Store (One, \_SB.PCI0.RP06.HPSX) Notify (\_SB.PCI0.RP06, Zero) } Else { Store (One, \_SB.PCI0.RP06.HPSX) } } } Method (_L06, 0, NotSerialized) { If (LAnd (\_SB.PCI0.GFX0.GSSE, LNot (GSMI))) { \_SB.PCI0.GFX0.GSCI () } Else { If (LEqual (And (\_SB.PCI0.ESCS, 0x08), 0x08)) { Store (One, Local0) Store (\_SB.PCI0.T0IS, \_SB.PCI0.T0IS) Store (\_SB.PCI0.T0IS, Local0) Store (\_SB.PCI0.T1IS, \_SB.PCI0.T1IS) Store (\_SB.PCI0.T1IS, Local0) Store (One, SCIS) Store (One, \_SB.PCI0.GTSE) If (CondRefOf (\_SB.PCI0.TMEM.GPEH)) { \_SB.PCI0.TMEM.GPEH () } } Else { Store (One, SCIS) } } } Method (_L07, 0, NotSerialized) { Store (0x20, \_SB.PCI0.SBUS.HSTS) } Method (_L08, 0, NotSerialized) { } Method (_L18, 0, NotSerialized) { } Method (_L09, 0, NotSerialized) { Notify (\_SB.PCI0.P0P2, 0x02) Notify (\_SB.PCI0.RP01, 0x02) Notify (\_SB.PCI0.RP02, 0x02) Notify (\_SB.PCI0.RP03, 0x02) Notify (\_SB.PCI0.RP04, 0x02) Notify (\_SB.PCI0.RP06, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.P0P1, 0x02) } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB0, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PCI0.USB5, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) } Method (_L20, 0, NotSerialized) { Notify (\_SB.PCI0.USBR, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.EHC1, 0x02) Notify (\_SB.PCI0.EHC2, 0x02) Notify (\_SB.PCI0.HDEF, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.USB4, 0x02) } } Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) Name (_S3, Package (0x04) { 0x05, Zero, Zero, Zero }) Name (_S4, Package (0x04) { 0x06, Zero, Zero, Zero }) Name (_S5, Package (0x04) { 0x07, Zero, Zero, Zero }) Scope (_SB.PCI0.LPCB) { Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_UID, One) Name (_GPE, 0x17) Method (_CRS, 0, NotSerialized) { Name (BFFR, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) Return (BFFR) } Mutex (MUT1, 0x00) OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF) Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x04), CMCM, 8, CMD1, 8, CMD2, 8, CMD3, 8, Offset (0x18), SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 256, BCNT, 8, SMAA, 8, BATD, 16, SW2S, 1, , 3, T85T, 1, Offset (0x41), , 4, CFAN, 1, PFN2, 1, FVIS, 1, PFLG, 1, , 3, VGAD, 1, Offset (0x43), TMSS, 2, , 2, BANK, 4, Offset (0x45), VFAN, 1, Offset (0x46), RL01, 1, RD01, 1, RF01, 1, RP01, 1, RB01, 1, RC01, 1, , 1, R701, 1, R801, 1, RM01, 1, RI01, 1, , 1, , 1, , 1, RA01, 1, RR01, 1, RL10, 1, RD10, 1, RF10, 1, RP10, 1, RB10, 1, RC10, 1, , 1, R710, 1, R810, 1, RM10, 1, RI10, 1, , 1, , 1, , 1, RA10, 1, RR10, 1, WL01, 1, WD01, 1, WF01, 1, WP01, 1, WB01, 1, WC01, 1, , 1, W701, 1, W801, 1, WM01, 1, WI01, 1, , 1, , 1, , 1, WA01, 1, WR01, 1, WL10, 1, WD10, 1, WF10, 1, WP10, 1, WB10, 1, WC10, 1, , 1, W710, 1, W810, 1, WM10, 1, WI10, 1, , 1, , 1, , 1, WA10, 1, WR10, 1, LIDE, 1, BAYE, 1, EFDE, 1, PRDE, 1, BRBE, 1, CRTE, 1, , 1, W7BE, 1, W8BE, 1, PMEE, 1, INTE, 1, , 1, , 1, , 1, DB2E, 1, DB3E, 1, Offset (0x52), , 1, , 1, , 1, , 1, BAYS, 1, W7BS, 1, PRDS, 1, Offset (0x53), PBSS, 1, ACIO, 1, NOVO, 1, LDS0, 1, , 1, , 1, , 1, Offset (0x54), SCIM, 8, Offset (0x57), RG57, 8, RTMP, 8, RG59, 8, RG5A, 8, RG5B, 8, LOCP, 1, Offset (0x5D), THTB, 8, RG5E, 8, CFN2, 1, SFN2, 1, , 3, LNON, 1, Offset (0x66), BLVL, 8, WLSE, 1, BTDE, 1, CCDE, 1, WWAE, 1, , 1, , 1, , 1, KBMF, 1, , 1, T90T, 1, Offset (0x6A), BATS, 16, BATC, 1, Offset (0x71), MBTS, 1, MBTF, 1, Offset (0x72), MBTC, 1, , 2, MBNH, 1, Offset (0x77), BA1C, 8, Offset (0x7E), BA1T, 8, Offset (0x81), SBTS, 1, SBTF, 1, Offset (0x82), SBTC, 1, Offset (0x87), BA2C, 8, Offset (0x96), FSSP, 16, Offset (0xA0), HPLG, 1, HPWR, 1, HPOK, 1, HGPL, 2, HLMX, 1, HCMX, 1, HDMX, 1, HGDD, 1, HGDP, 2, HGAP, 2, DRRY, 1, HPEJ, 1, HPLE, 1, ONRY, 1, OFRY, 1, Offset (0xA3), HYST, 4, PPDS, 1, TVGA, 2, Offset (0xBF), GSWS, 1, RFSS, 1, WRFS, 1, BTSS, 1, CCDS, 1, BLIS, 1, G3RS, 1, TPDS, 1, Offset (0xC1), MCUR, 16, MBRM, 16, MBVG, 16, Offset (0xC8), ACUR, 16, ABRM, 16, ABVG, 16, Offset (0xCF), DLYC, 8, EBPL, 1, Offset (0xD2), , 6, APWR, 1, DLYE, 1, Offset (0xD6), DBPL, 8, Offset (0xDB), ANYK, 1, Offset (0xDF), WLNS, 1, Offset (0xE0), B1FC, 16, B2FC, 16, Offset (0xE7), GQKS, 7, Offset (0xE8), , 7, ONEK, 1 } Name (BATO, Zero) Name (BATN, Zero) Name (BATF, 0xC0) Method (EVD0, 0, NotSerialized) { Notify (GFX0, 0xD0) Notify (WMI1, 0xD0) } Method (EVD9, 0, NotSerialized) { Notify (GFX0, 0xD9) Notify (WMI1, 0xD9) } Method (EVDA, 0, NotSerialized) { Notify (GFX0, 0xDA) Notify (WMI1, 0xDA) } Method (EVDB, 0, NotSerialized) { Notify (GFX0, 0xDB) Notify (WMI1, 0xDB) } Method (EV80, 0, NotSerialized) { Notify (GFX0, 0x80) Notify (WMI1, 0x80) } Method (EV81, 0, NotSerialized) { Notify (GFX0, 0x81) Notify (WMI1, 0x81) } Method (EVE1, 0, NotSerialized) { Notify (GFX0, 0xE1) Notify (WMI1, 0xE1) } Method (EVE2, 0, NotSerialized) { Notify (GFX0, 0xE2) Notify (WMI1, 0xE2) } Method (EVE3, 0, NotSerialized) { Notify (GFX0, 0xE3) Notify (WMI1, 0xE3) } Method (_REG, 2, NotSerialized) { If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One))) { Store (One, ECON) If (LOr (WLSE, BTDE)) { If (LOr (FL07, FL10)) { If (LAnd (WLSE, BTDE)) { Store (One, WRFS) Store (One, BTSS) } If (LAnd (WLSE, LNot (BTDE))) { Store (One, WRFS) Store (Zero, BTSS) } If (LAnd (LNot (WLSE), BTDE)) { Store (Zero, WRFS) Store (One, BTSS) } If (LAnd (LNot (WLSE), LNot (BTDE))) { Store (Zero, WRFS) Store (Zero, BTSS) } } Else { Store (Zero, WRFS) Store (Zero, BTSS) } } Else { Store (Zero, WRFS) Store (Zero, BTSS) } If (GSWS) { If (WLSE) { Store (WRFS, GO28) } If (BTDE) { Store (LNot (BTSS), GO24) Store (LNot (BTSS), GO34) } } Else { Store (Zero, GO28) Store (One, GO24) Store (One, GO34) } If (_OSI ("Windows 2006")) { Store (One, FVIS) } Else { Store (Zero, FVIS) } Store (One, ^^^GFX0.CLID) } } Method (BPOL, 1, NotSerialized) { Store (Arg0, DBPL) Store (One, EBPL) } Mutex (CMUT, 0x00) Method (CMC2, 3, NotSerialized) { Acquire (CMUT, 0xFFFF) Store (Arg2, CMD2) Store (Arg1, CMD1) Store (Arg0, CMCM) While (CMCM) {} Release (CMUT) } Name (TIM1, Zero) Method (_Q09, 0, NotSerialized) { Notify (BAT1, 0x80) Notify (BAT1, Zero) Notify (ACAD, Zero) BPOL (0x3C) } Method (_Q20, 0, NotSerialized) { If (And (SMST, 0x40)) { Store (SMAA, Local0) If (LEqual (Local0, 0x14)) { SELE () If (And (0x40, BATF)) { Notify (BAT1, 0x81) } If (And (0x02, BATF)) { Notify (ACAD, Zero) PNOT () } Notify (BAT1, 0x80) Store (BATD, BATO) And (SMST, 0xBF, SMST) } } } Method (SELE, 0, NotSerialized) { Store (BATD, BATN) Store (Zero, BATF) If (And (0xC0, BATN)) { Or (BATF, One, BATF) } If (And (0x0300, BATN)) { Or (BATF, 0x04, BATF) } And (BATN, One, Local0) And (BATO, One, Local1) If (Local0) { Or (BATF, 0x0100, BATF) } Else { And (BATF, 0xFEFF, BATF) } If (Not (LEqual (Local0, Local1))) { Or (BATF, 0x40, BATF) } And (BATN, 0xC0, Local0) And (BATO, 0xC0, Local1) If (Not (LEqual (Local0, Local1))) { Or (BATF, 0x02, BATF) } If (And (One, BATF)) { If (And (0x04, BATF)) { If (And (BATN, 0x10)) { Or (BATF, 0x10, BATF) } } } } Method (_Q80, 0, NotSerialized) { Store ("_Q80 : Temperature Up", Debug) Notify (\_TZ.TZ00, 0x80) } Method (_Q81, 0, NotSerialized) { Store ("_Q81 : Temperature Down", Debug) Notify (\_TZ.TZ00, 0x80) } Method (_Q8F, 0, NotSerialized) { } Method (_Q8E, 0, NotSerialized) { } Method (_Q01, 0, NotSerialized) { Store (0x11, P80H) If (HKEY) { BRTU (One) Store (Zero, HKEY) Notify (^^^GFX0.DD02, 0x86) } Else { Store (One, HKEY) } } Method (_Q02, 0, NotSerialized) { Store (0x12, P80H) If (HKEY) { BRTD (One) Store (Zero, HKEY) Notify (^^^GFX0.DD02, 0x87) } Else { Store (One, HKEY) } } Method (BRTU, 1, NotSerialized) { Store (BLVL, Local0) Add (Local0, Arg0, Local0) If (LGreater (Local0, 0x07)) { Store (0x07, Local0) } Store (Local0, BLVL) } Method (BRTD, 1, NotSerialized) { Store (BLVL, Local0) If (LGreater (Local0, Arg0)) { Subtract (Local0, Arg0, Local0) } Else { Store (Zero, Local0) } Store (Local0, BLVL) } Method (_Q92, 0, NotSerialized) { Notify (GFX0, 0x80) Store ("_Q92 : End of Switch Display Event", Debug) } Method (_QE0, 0, NotSerialized) { Store ("_QE0 : LID Switch Event", Debug) Store (0xE0, P80H) Notify (LID, 0x80) Store ("_QE0 : End of LID Switch Event", Debug) } Method (_QE2, 0, NotSerialized) { Store (0xE2, P80H) Notify (SLPB, 0x80) } Method (_QE3, 0, NotSerialized) { Store (0xE3, P80H) PHSR (0x99) } Method (_Q2A, 0, NotSerialized) { If (LEqual (HEY1, One)) { Store (One, HKYP) If (LNotEqual (HKTM, 0x02)) { Store (One, PPDS) If (LEqual (HPWR, One)) { Store (One, TVGA) Store (0x05, HYST) Notify (GFX0, 0xD0) } Else { Store (0x02, TVGA) Store (One, HYST) Notify (GFX0, 0xD0) } } Store (Zero, HEY1) } Else { Store (One, HEY1) } Sleep (0x64) } Method (_Q2D, 0, NotSerialized) { Store (Zero, \TVGA) Notify (GFX0, 0xD0) } Method (_Q2C, 0, NotSerialized) { Notify (PCI0, Zero) Store (One, PEGA) Notify (PCI0, Zero) PHSR (0x88) Sleep (0xFA) Store (Zero, DQDA) Sleep (0xA0) Store (DB00, ^^^P0P2.VGA.R000) Store (DB04, ^^^P0P2.VGA.R004) Store (DB08, ^^^P0P2.VGA.R008) Store (DB0C, ^^^P0P2.VGA.R00C) Store (DB10, ^^^P0P2.VGA.R010) Store (DB14, ^^^P0P2.VGA.R014) Store (DB18, ^^^P0P2.VGA.R018) Store (DB1C, ^^^P0P2.VGA.R01C) Store (DB20, ^^^P0P2.VGA.R020) Store (DB24, ^^^P0P2.VGA.R024) Store (DB28, ^^^P0P2.VGA.R028) Store (DB2C, ^^^P0P2.VGA.R02C) Store (DB30, ^^^P0P2.VGA.R030) Store (DB34, ^^^P0P2.VGA.R034) Store (DB38, ^^^P0P2.VGA.R038) Store (DB3C, ^^^P0P2.VGA.R03C) Store (DB40, ^^^P0P2.VGA.R040) ^^^P0P2.VGA.IPBR () } Method (_Q2B, 0, NotSerialized) { Or (CLKD, 0x21) Store (One, ^^^P0P2.SRST) Store (One, DQDA) Store (Zero, ^^^P0P2.SRST) PHSR (0x89) Sleep (0xC8) Store (One, HPLG) Notify (P0P2, 0x03) Sleep (0x64) } Method (_Q2E, 0, NotSerialized) { Store (One, HDAT) If (LNot (HPWR)) { Store (0x02, TVGA) Store (One, HDHP) Notify (GFX0, 0x81) Notify (GFX0, 0xD0) } Else { Store (One, HDHP) Notify (GFX0, 0x81) Notify (GFX0, 0x80) } } Method (_Q2F, 0, NotSerialized) { Store (Zero, HDHP) Store (Zero, HDAT) Notify (GFX0, 0x81) } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), SMW0, 16 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), SMB0, 8 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), FLD0, 64 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), FLD1, 128 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), FLD2, 192 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), FLD3, 256 } Mutex (MUT0, 0x00) Method (SMRD, 4, NotSerialized) { If (LNot (ECON)) { Return (0xFF) } If (LNotEqual (Arg0, 0x07)) { If (LNotEqual (Arg0, 0x09)) { If (LNotEqual (Arg0, 0x0B)) { Return (0x19) } } } Acquire (MUT0, 0xFFFF) Store (0x04, Local0) While (LGreater (Local0, One)) { And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) Store (Zero, Local3) While (LNot (And (SMST, 0xBF, Local1))) { Sleep (0x02) Increment (Local3) If (LEqual (Local3, 0x32)) { And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) Store (Zero, Local3) } } If (LEqual (Local1, 0x80)) { Store (Zero, Local0) } Else { Decrement (Local0) } } If (Local0) { Store (And (Local1, 0x1F), Local0) } Else { If (LEqual (Arg0, 0x07)) { Store (SMB0, Arg3) } If (LEqual (Arg0, 0x09)) { Store (SMW0, Arg3) } If (LEqual (Arg0, 0x0B)) { Store (BCNT, Local3) ShiftRight (0x0100, 0x03, Local2) If (LGreater (Local3, Local2)) { Store (Local2, Local3) } If (LLess (Local3, 0x11)) { Store (FLD1, Local2) } Else { If (LLess (Local3, 0x19)) { Store (FLD2, Local2) } Else { Store (FLD3, Local2) } } Increment (Local3) Store (Buffer (Local3) {}, Local4) Decrement (Local3) Store (Zero, Local5) While (LGreater (Local3, Local5)) { GBFE (Local2, Local5, RefOf (Local6)) PBFE (Local4, Local5, Local6) Increment (Local5) } PBFE (Local4, Local5, Zero) Store (Local4, Arg3) } } Release (MUT0) Return (Local0) } Method (SMWR, 4, NotSerialized) { If (LNot (ECON)) { Return (0xFF) } If (LNotEqual (Arg0, 0x06)) { If (LNotEqual (Arg0, 0x08)) { If (LNotEqual (Arg0, 0x0A)) { Return (0x19) } } } Acquire (MUT0, 0xFFFF) Store (0x04, Local0) While (LGreater (Local0, One)) { If (LEqual (Arg0, 0x06)) { Store (Arg3, SMB0) } If (LEqual (Arg0, 0x08)) { Store (Arg3, SMW0) } If (LEqual (Arg0, 0x0A)) { Store (Arg3, SMD0) } And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) Store (Zero, Local3) While (LNot (And (SMST, 0xBF, Local1))) { Sleep (0x02) Increment (Local3) If (LEqual (Local3, 0x32)) { And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) Store (Zero, Local3) } } If (LEqual (Local1, 0x80)) { Store (Zero, Local0) } Else { Decrement (Local0) } } If (Local0) { Store (And (Local1, 0x1F), Local0) } Release (MUT0) Return (Local0) } } } Scope (_SB) { Device (ACAD) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { _SB }) Mutex (MUTA, 0x00) Name (ACWT, Zero) Method (_PSR, 0, NotSerialized) { Acquire (MUTA, 0xFFFF) Store (ACST, ACWT) If (ECON) { Store (^^PCI0.LPCB.EC0.SW2S, ACST) Store (^^PCI0.LPCB.EC0.SW2S, PWRS) } If (LNotEqual (ACWT, ACST)) { PNOT () } Release (MUTA) Return (ACST) } } } Scope (_SB) { Method (VTOB, 1, NotSerialized) { Store (One, Local0) ShiftLeft (Local0, Arg0, Local0) Return (Local0) } Method (BTOV, 1, NotSerialized) { ShiftRight (Arg0, One, Local0) Store (Zero, Local1) While (Local0) { Increment (Local1) ShiftRight (Local0, One, Local0) } Return (Local1) } Method (MKWD, 2, NotSerialized) { If (And (Arg1, 0x80)) { Store (0xFFFF0000, Local0) } Else { Store (Zero, Local0) } Or (Local0, Arg0, Local0) Or (Local0, ShiftLeft (Arg1, 0x08), Local0) Return (Local0) } Method (POSW, 1, NotSerialized) { If (And (Arg0, 0x8000)) { If (LEqual (Arg0, 0xFFFF)) { Return (0xFFFFFFFF) } Else { Not (Arg0, Local0) Increment (Local0) And (Local0, 0xFFFF, Local0) Return (Local0) } } Else { Return (Arg0) } } Method (GBFE, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (TIDX, Arg2) } Method (PBFE, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (Arg2, TIDX) } Method (ITOS, 1, NotSerialized) { Store (Buffer (0x09) { /* 0000 */ 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00 }, Local0) Store (Buffer (0x11) { "0123456789ABCDEF" }, Local7) Store (0x08, Local1) Store (Zero, Local2) Store (Zero, Local3) While (Local1) { Decrement (Local1) And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4) If (Local4) { Store (Ones, Local3) } If (Local3) { GBFE (Local7, Local4, RefOf (Local5)) PBFE (Local0, Local2, Local5) Increment (Local2) } } Return (Local0) } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, One) Name (_PCL, Package (0x01) { _SB }) Name (PBIF, Package (0x0D) { One, 0xFFFFFFFF, 0xFFFFFFFF, One, 0xFFFFFFFF, 0xFA, 0x64, 0x0A, 0x19, "BAT1", " ", " ", " " }) Name (PBST, Package (0x04) { Zero, 0xFFFFFFFF, 0xFFFFFFFF, 0x2710 }) Name (BAST, Zero) Name (USBW, Zero) Name (B1ST, 0x0F) Name (B1WT, Zero) Method (_STA, 0, NotSerialized) { If (ECON) { If (^^PCI0.LPCB.EC0.MBTS) { Store (0x1F, B1ST) } Else { Store (0x0F, B1ST) } } Else { Store (0x0F, B1ST) } Return (B1ST) } Method (_BIF, 0, NotSerialized) { If (ECON) { If (^^PCI0.LPCB.EC0.MBTS) { UPBI () } Else { IVBI () } } Else { IVBI () } Return (PBIF) } Method (_BST, 0, NotSerialized) { If (ECON) { If (^^PCI0.LPCB.EC0.MBTS) { UPBS () } Else { IVBS () } } Else { IVBS () } Return (PBST) } Method (UPBI, 0, NotSerialized) { Store (^^PCI0.LPCB.EC0.B1FC, Index (PBIF, 0x02)) Store (0x1FFF, Local2) ^^PCI0.LPCB.EC0.SMWR (0x08, 0x14, One, Local2) ^^PCI0.LPCB.EC0.SMRD (0x09, 0x14, One, RefOf (Local3)) If (LEqual (Local2, Or (Local3, 0x0FFF))) { If (LNot (^^PCI0.LPCB.EC0.SMRD (0x09, 0x16, 0x18, RefOf (Local1)))) { Store (Local1, Index (PBIF, One)) Store (Divide (Local1, 0x0A, ), Index (PBIF, 0x05)) Store (Divide (Multiply (Local1, 0x03), 0x64, ), Index ( PBIF, 0x06)) } If (LNot (^^PCI0.LPCB.EC0.SMRD (0x09, 0x16, 0x19, RefOf (Local1)))) { Store (Local1, Index (PBIF, 0x04)) } If (LNot (^^PCI0.LPCB.EC0.SMRD (0x0B, 0x16, 0x21, RefOf (Local6)))) { Store (Local6, Index (PBIF, 0x09)) } If (LNot (^^PCI0.LPCB.EC0.SMRD (0x0B, 0x16, 0x20, RefOf (Local6)))) { Store (Local6, Index (PBIF, 0x0C)) } } Store ("LION", Index (PBIF, 0x0B)) Store (One, Index (PBIF, Zero)) } Method (UPBS, 0, NotSerialized) { Store (^^PCI0.LPCB.EC0.MCUR, Local5) Store (POSW (Local5), Index (PBST, One)) Store (^^PCI0.LPCB.EC0.MBRM, Index (PBST, 0x02)) Store (^^PCI0.LPCB.EC0.MBVG, Index (PBST, 0x03)) If (LNotEqual (Local5, Zero)) { Store (0xB1, P80H) If (^^PCI0.LPCB.EC0.MBTC) { Store (0x02, Index (PBST, Zero)) } Else { Store (One, Index (PBST, Zero)) } } Else { Store (Zero, Index (PBST, Zero)) } } Method (IVBI, 0, NotSerialized) { Store (0xFFFFFFFF, Index (PBIF, One)) Store (0xFFFFFFFF, Index (PBIF, 0x02)) Store (0xFFFFFFFF, Index (PBIF, 0x04)) Store ("Bad", Index (PBIF, 0x09)) Store (" ", Index (PBIF, 0x0A)) Store ("Bad", Index (PBIF, 0x0B)) Store ("Bad", Index (PBIF, 0x0C)) } Method (IVBS, 0, NotSerialized) { Store (Zero, Index (PBST, Zero)) Store (0xFFFFFFFF, Index (PBST, One)) Store (0xFFFFFFFF, Index (PBST, 0x02)) Store (0x2710, Index (PBST, 0x03)) } } } Scope (_SB) { Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { If (ECON) { If (^^PCI0.LPCB.EC0.LDS0) { Store (Zero, LIDS) Return (Zero) } Else { Store (One, LIDS) Return (One) } } Else { Store (One, LIDS) Return (One) } } } } Scope (_SB) { Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) } Device (WMI1) { Name (_HID, "pnp0c14") Name (_UID, "MXM2") Name (_WDG, Buffer (0x0190) { /* 0000 */ 0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xBD, 0x4E, /* 0008 */ 0xB5, 0x77, 0x93, 0x1E, 0xA3, 0x2A, 0x2C, 0xC0, /* 0010 */ 0x4D, 0x58, 0x01, 0x02, 0x40, 0x2F, 0x1A, 0x92, /* 0018 */ 0xC4, 0x0D, 0x2D, 0x40, 0xAC, 0x18, 0xB4, 0x84, /* 0020 */ 0x44, 0xEF, 0x9E, 0xD2, 0xD0, 0x00, 0x01, 0x08, /* 0028 */ 0x61, 0xD3, 0x2A, 0xC1, 0xA9, 0x9F, 0x74, 0x4C, /* 0030 */ 0x90, 0x1F, 0x95, 0xCB, 0x09, 0x45, 0xCF, 0x3E, /* 0038 */ 0xD9, 0x00, 0x01, 0x08, 0x64, 0x35, 0x4F, 0xEF, /* 0040 */ 0xC8, 0x48, 0x94, 0x48, 0x85, 0xC8, 0xB4, 0x6C, /* 0048 */ 0x26, 0xB8, 0x42, 0xC0, 0xDA, 0x00, 0x01, 0x08, /* 0050 */ 0x06, 0x80, 0x84, 0x42, 0x86, 0x88, 0x0E, 0x49, /* 0058 */ 0x8C, 0x72, 0x2B, 0xDC, 0xA9, 0x3A, 0x8A, 0x09, /* 0060 */ 0xDB, 0x00, 0x01, 0x08, 0x62, 0xDE, 0x6B, 0xE0, /* 0068 */ 0x75, 0xEE, 0xF4, 0x48, 0xA5, 0x83, 0xB2, 0x3E, /* 0070 */ 0x69, 0xAB, 0xF8, 0x91, 0x80, 0x00, 0x01, 0x08, /* 0078 */ 0x0F, 0xBD, 0xDE, 0x3A, 0x5F, 0x0C, 0xED, 0x46, /* 0080 */ 0xAB, 0x2E, 0x04, 0x96, 0x2B, 0x4F, 0xDC, 0xBC, /* 0088 */ 0x81, 0x00, 0x01, 0x08, 0x54, 0x59, 0x06, 0x85, /* 0090 */ 0x14, 0x83, 0x06, 0x4A, 0x8B, 0xB4, 0xCC, 0xAB, /* 0098 */ 0x45, 0x03, 0x2E, 0x88, 0xE0, 0x00, 0x01, 0x08, /* 00A0 */ 0x3F, 0x5E, 0x8F, 0x02, 0x53, 0x88, 0xA5, 0x45, /* 00A8 */ 0x80, 0x47, 0x3D, 0x24, 0x62, 0xF5, 0xA7, 0x34, /* 00B0 */ 0xE1, 0x00, 0x01, 0x08, 0xEE, 0x63, 0x9E, 0x30, /* 00B8 */ 0xB0, 0xED, 0xB6, 0x4F, 0x91, 0x73, 0xF6, 0x80, /* 00C0 */ 0x01, 0x3E, 0x73, 0x11, 0xE2, 0x00, 0x01, 0x08, /* 00C8 */ 0xAA, 0x56, 0x52, 0x4A, 0x2C, 0x43, 0xAE, 0x4C, /* 00D0 */ 0xB4, 0x9F, 0xDC, 0xA7, 0x07, 0x62, 0x2B, 0xAD, /* 00D8 */ 0xE3, 0x00, 0x01, 0x08, 0xCC, 0x1D, 0x96, 0x67, /* 00E0 */ 0x83, 0x16, 0x21, 0x44, 0xA1, 0x54, 0x68, 0xED, /* 00E8 */ 0xE0, 0xFF, 0x90, 0xD2, 0xE4, 0x00, 0x01, 0x08, /* 00F0 */ 0x5A, 0x7C, 0xAD, 0xB9, 0xEF, 0x6F, 0x4C, 0x48, /* 00F8 */ 0x80, 0xD3, 0x59, 0xA9, 0x21, 0x73, 0x67, 0xD2, /* 0100 */ 0xE5, 0x00, 0x01, 0x08, 0xE9, 0xB5, 0xD5, 0xF7, /* 0108 */ 0x93, 0xCD, 0x43, 0x46, 0x98, 0x98, 0xA4, 0x5B, /* 0110 */ 0x2F, 0x2A, 0xE3, 0xE5, 0xE6, 0x00, 0x01, 0x08, /* 0118 */ 0xC2, 0xE2, 0xA8, 0x69, 0x22, 0xF5, 0x3A, 0x46, /* 0120 */ 0x89, 0x08, 0xC7, 0xE4, 0x65, 0x39, 0xC8, 0xB1, /* 0128 */ 0xE7, 0x00, 0x01, 0x08, 0x1B, 0xA5, 0x46, 0xAF, /* 0130 */ 0x23, 0x5C, 0x43, 0x4C, 0x96, 0x09, 0x3C, 0xBB, /* 0138 */ 0x95, 0x53, 0xD5, 0xA5, 0xE8, 0x00, 0x01, 0x08, /* 0140 */ 0xF2, 0x22, 0xD8, 0xA6, 0x67, 0x3A, 0xC7, 0x4D, /* 0148 */ 0xAA, 0xD1, 0x55, 0x50, 0x2A, 0x61, 0x62, 0xE8, /* 0150 */ 0xE9, 0x00, 0x01, 0x08, 0x29, 0x0A, 0xD2, 0x99, /* 0158 */ 0x50, 0x93, 0x14, 0x41, 0xAA, 0x90, 0x28, 0xF0, /* 0160 */ 0xEB, 0x83, 0xD3, 0x08, 0xEA, 0x00, 0x01, 0x08, /* 0168 */ 0x66, 0x02, 0x22, 0x53, 0x55, 0x2F, 0x18, 0x4E, /* 0170 */ 0x9E, 0x9C, 0xD0, 0x8C, 0x67, 0x43, 0xD6, 0xFD, /* 0178 */ 0xEB, 0x00, 0x01, 0x08, 0x21, 0x12, 0x90, 0x05, /* 0180 */ 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, /* 0188 */ 0xC9, 0x06, 0x29, 0x10, 0x58, 0x4D, 0x01, 0x00 }) Method (WMMX, 3, NotSerialized) { CreateDWordField (Arg2, Zero, FUNC) If (LEqual (FUNC, 0x444F445F)) { If (LEqual (Arg1, 0x10)) { Return (^^PCI0.GFX0._DOD ()) } Else { Return (Package (0x03) { 0x80000100, 0x0110, 0x80007330 }) } } Else { If (LEqual (FUNC, 0x5343445F)) { CreateDWordField (Arg2, 0x04, ARGS) If (LGreaterEqual (SizeOf (Arg2), 0x08)) { CreateDWordField (Arg2, 0x08, XARG) If (LEqual (ARGS, 0x80000100)) { If (LEqual (Arg1, 0x10)) { Return (^^PCI0.GFX0.DD01._DCS ()) } Else { Return (^^PCI0.P0P2.VGA.CRT._DCS ()) } } Else { If (LEqual (ARGS, 0x0110)) { If (LNotEqual (Arg1, 0x10)) { Return (^^PCI0.P0P2.VGA.LCD._DCS ()) } } } } } Else { If (LGreaterEqual (SizeOf (Arg2), 0x04)) { If (LEqual (FUNC, 0x534F525F)) { If (LGreaterEqual (SizeOf (Arg2), 0x08)) { Return (^^PCI0.P0P2.VGA._ROM (ARGS, XARG)) } } Else { If (LEqual (FUNC, 0x4D53445F)) { If (LGreaterEqual (SizeOf (Arg2), 0x18)) { CreateField (Arg2, Zero, 0x80, MUID) CreateDWordField (Arg2, 0x10, REVI) CreateDWordField (Arg2, 0x14, SFNC) If (LNotEqual (Arg1, 0x10)) { Return (^^PCI0.GFX0._DSM (MUID, REVI, SFNC, XARG)) } } } Else { If (LEqual (FUNC, 0x584D584D)) { If (LGreaterEqual (SizeOf (Arg2), 0x08)) { If (LEqual (ARGS, 0x0110)) { If (LEqual (Arg1, 0x10)) { Return (^^PCI0.GFX0.MXMX (XARG)) } Else { Return (^^PCI0.P0P2.VGA.MXMX (XARG)) } } } } Else { If (LEqual (FUNC, 0x5344584D)) { If (LGreaterEqual (SizeOf (Arg2), 0x08)) { CreateDWordField (Arg2, 0x08, XAR1) If (LEqual (ARGS, 0x0110)) { If (LEqual (Arg1, 0x10)) { Return (^^PCI0.GFX0.MXDS (XAR1)) } Else { Return (^^PCI0.P0P2.VGA.MXDS (XAR1)) } } } } } } } } } } Return (Zero) } Name (WQXM, Buffer (0x029C) { /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, /* 0008 */ 0x8B, 0x02, 0x00, 0x00, 0x0C, 0x08, 0x00, 0x00, /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, /* 0018 */ 0x18, 0xD2, 0x83, 0x00, 0x01, 0x06, 0x18, 0x42, /* 0020 */ 0x10, 0x05, 0x10, 0x8A, 0xE6, 0x80, 0x42, 0x04, /* 0028 */ 0x92, 0x43, 0xA4, 0x30, 0x30, 0x28, 0x0B, 0x20, /* 0030 */ 0x86, 0x90, 0x0B, 0x26, 0x26, 0x40, 0x04, 0x84, /* 0038 */ 0xBC, 0x0A, 0xB0, 0x29, 0xC0, 0x24, 0x88, 0xFA, /* 0040 */ 0xF7, 0x87, 0x28, 0x09, 0x0E, 0x25, 0x04, 0x42, /* 0048 */ 0x12, 0x05, 0x98, 0x17, 0xA0, 0x5B, 0x80, 0x61, /* 0050 */ 0x01, 0xB6, 0x05, 0x98, 0x16, 0xE0, 0x18, 0x92, /* 0058 */ 0x4A, 0x03, 0xA7, 0x04, 0x96, 0x02, 0x21, 0xA1, /* 0060 */ 0x02, 0x94, 0x0B, 0xF0, 0x2D, 0x40, 0x3B, 0xA2, /* 0068 */ 0x24, 0x0B, 0xB0, 0x0C, 0x23, 0x02, 0x8F, 0x82, /* 0070 */ 0xA1, 0x71, 0x68, 0xEC, 0x30, 0x2C, 0x13, 0x4C, /* 0078 */ 0x83, 0x38, 0x8C, 0xB2, 0x91, 0x45, 0x60, 0xDC, /* 0080 */ 0x4E, 0x05, 0xC8, 0x15, 0x20, 0x4C, 0x80, 0x78, /* 0088 */ 0x54, 0x61, 0x34, 0x07, 0x45, 0xE0, 0x42, 0x63, /* 0090 */ 0x64, 0x40, 0xC8, 0xA3, 0x00, 0xAB, 0xA3, 0xD0, /* 0098 */ 0xA4, 0x12, 0xD8, 0xBD, 0x00, 0x8D, 0x02, 0xB4, /* 00A0 */ 0x09, 0x70, 0x28, 0x40, 0xA1, 0x00, 0x6B, 0x18, /* 00A8 */ 0x72, 0x06, 0x21, 0x5B, 0xD8, 0xC2, 0x68, 0x50, /* 00B0 */ 0x80, 0x45, 0x14, 0x8D, 0xE0, 0x2C, 0x2A, 0x9E, /* 00B8 */ 0x93, 0x50, 0x02, 0xDA, 0x1B, 0x82, 0xF0, 0x8C, /* 00C0 */ 0xD9, 0x18, 0x9E, 0x10, 0x83, 0x54, 0x86, 0x21, /* 00C8 */ 0x88, 0xB8, 0x11, 0x8E, 0xA5, 0xFD, 0x41, 0x10, /* 00D0 */ 0xF9, 0xAB, 0xD7, 0xB8, 0x1D, 0x69, 0x34, 0xA8, /* 00D8 */ 0xB1, 0x26, 0x38, 0x76, 0x8F, 0xE6, 0x84, 0x3B, /* 00E0 */ 0x17, 0x20, 0x7D, 0x6E, 0x02, 0x39, 0xBA, 0xD3, /* 00E8 */ 0xA8, 0x73, 0xD0, 0x64, 0x78, 0x0C, 0x2B, 0xC1, /* 00F0 */ 0x7F, 0x80, 0x4F, 0x01, 0x78, 0xD7, 0x80, 0x9A, /* 00F8 */ 0xFE, 0xC1, 0x33, 0x41, 0x70, 0xA8, 0x21, 0x7A, /* 0100 */ 0xD4, 0xE1, 0x4E, 0xE0, 0xBC, 0x8E, 0x84, 0x41, /* 0108 */ 0x1C, 0xD1, 0x71, 0x63, 0x67, 0x75, 0x32, 0x07, /* 0110 */ 0x5D, 0xAA, 0x00, 0xB3, 0x07, 0x00, 0x0D, 0x2E, /* 0118 */ 0xC1, 0x69, 0x9F, 0x49, 0xE8, 0xF7, 0x80, 0xF3, /* 0120 */ 0xE9, 0x79, 0x6C, 0x6C, 0x10, 0xA8, 0x91, 0xF9, /* 0128 */ 0xFF, 0x0F, 0xED, 0x41, 0x9E, 0x56, 0xCC, 0x90, /* 0130 */ 0xCF, 0x02, 0x87, 0xC5, 0xC4, 0x1E, 0x19, 0xE8, /* 0138 */ 0x78, 0xC0, 0x7F, 0x00, 0x78, 0x34, 0x88, 0xF0, /* 0140 */ 0x66, 0xE0, 0xF9, 0x9A, 0x60, 0x50, 0x08, 0x39, /* 0148 */ 0x19, 0x0F, 0x4A, 0xCC, 0xF9, 0x80, 0xCC, 0x25, /* 0150 */ 0xC4, 0x43, 0xC0, 0x31, 0xC4, 0x08, 0x7A, 0x46, /* 0158 */ 0x45, 0x23, 0x6B, 0x22, 0x3E, 0x03, 0x78, 0xDC, /* 0160 */ 0x96, 0x05, 0x42, 0x09, 0x0C, 0xEC, 0x73, 0xC3, /* 0168 */ 0x3B, 0x84, 0x61, 0x71, 0xA3, 0x09, 0xEC, 0xF3, /* 0170 */ 0x85, 0x05, 0x0E, 0x0A, 0x05, 0xEB, 0xBB, 0x42, /* 0178 */ 0xCC, 0xE7, 0x81, 0xE3, 0x3C, 0x60, 0x0B, 0x9F, /* 0180 */ 0x28, 0x01, 0x3E, 0x24, 0x8F, 0x06, 0xDE, 0x20, /* 0188 */ 0xE1, 0x5B, 0x3F, 0x02, 0x10, 0xE0, 0x27, 0x06, /* 0190 */ 0x13, 0x58, 0x1E, 0x30, 0x7A, 0x94, 0xF6, 0x2B, /* 0198 */ 0x00, 0x21, 0xF8, 0x8B, 0xC5, 0x53, 0xC0, 0xEB, /* 01A0 */ 0x40, 0x84, 0x63, 0x81, 0x29, 0x72, 0x6C, 0x68, /* 01A8 */ 0x78, 0x7E, 0x70, 0x88, 0x1E, 0xF5, 0x5C, 0xC2, /* 01B0 */ 0x1F, 0x4D, 0x94, 0x53, 0x38, 0x1C, 0x1F, 0x39, /* 01B8 */ 0x8C, 0x10, 0xFE, 0x49, 0xE3, 0xC9, 0xC3, 0x9A, /* 01C0 */ 0xEF, 0x00, 0x9A, 0xD2, 0x5B, 0xC0, 0xFB, 0x83, /* 01C8 */ 0x47, 0x80, 0x11, 0x20, 0xE1, 0x68, 0x82, 0x89, /* 01D0 */ 0x7C, 0x3A, 0x01, 0xD5, 0xFF, 0xFF, 0x74, 0x02, /* 01D8 */ 0xB8, 0xBA, 0x01, 0x14, 0x37, 0x6A, 0x9D, 0x49, /* 01E0 */ 0x7C, 0x2C, 0xF1, 0xAD, 0xE4, 0xBC, 0x43, 0xC5, /* 01E8 */ 0x7F, 0x93, 0x78, 0x3A, 0xF1, 0x34, 0x1E, 0x4C, /* 01F0 */ 0x42, 0x44, 0x89, 0x18, 0x21, 0xA2, 0xEF, 0x27, /* 01F8 */ 0x46, 0x08, 0x15, 0x31, 0x6C, 0xA4, 0x37, 0x80, /* 0200 */ 0xE7, 0x13, 0xE3, 0x84, 0x08, 0xF4, 0x74, 0xC2, /* 0208 */ 0x42, 0x3E, 0x34, 0xA4, 0xE1, 0x74, 0x02, 0x50, /* 0210 */ 0xE0, 0xFF, 0x7F, 0x3A, 0x81, 0x1F, 0xF5, 0x74, /* 0218 */ 0x82, 0x1E, 0xAE, 0x4F, 0x19, 0x18, 0xE4, 0x03, /* 0220 */ 0xF2, 0xA9, 0xC3, 0xF7, 0x1F, 0x13, 0xF8, 0x78, /* 0228 */ 0xC2, 0x45, 0x1D, 0x4F, 0x50, 0xA7, 0x07, 0x1F, /* 0230 */ 0x4F, 0xD8, 0x19, 0xE1, 0x2C, 0x1E, 0x03, 0x7C, /* 0238 */ 0x3A, 0xC1, 0xDC, 0x13, 0x7C, 0x3A, 0x01, 0xDB, /* 0240 */ 0x68, 0x60, 0x1C, 0x4F, 0xC0, 0x77, 0x74, 0xC1, /* 0248 */ 0x1D, 0x4F, 0xC0, 0x30, 0x18, 0x18, 0xE7, 0x13, /* 0250 */ 0xE0, 0x31, 0x5E, 0xDC, 0x31, 0xC0, 0x43, 0xE0, /* 0258 */ 0x03, 0x78, 0xDC, 0x38, 0x3D, 0x2B, 0x9D, 0x14, /* 0260 */ 0xF2, 0x24, 0xC2, 0x07, 0x85, 0x39, 0xB0, 0xE0, /* 0268 */ 0x14, 0xDA, 0xF4, 0xA9, 0xD1, 0xA8, 0x55, 0x83, /* 0270 */ 0x32, 0x35, 0xCA, 0x34, 0xA8, 0xD5, 0xA7, 0x52, /* 0278 */ 0x63, 0xC6, 0xCE, 0x19, 0x0E, 0xF8, 0x10, 0xD0, /* 0280 */ 0x89, 0xC0, 0xF2, 0x9E, 0x0D, 0x02, 0xB1, 0x0C, /* 0288 */ 0x0A, 0x81, 0x58, 0xFA, 0xAB, 0x45, 0x20, 0x0E, /* 0290 */ 0x0E, 0xA2, 0xFF, 0x3F, 0x88, 0x23, 0xD2, 0x0A, /* 0298 */ 0xC4, 0xFF, 0x7F, 0x7F }) } } Scope (_SB.PCI0) { Method (GETB, 3, Serialized) { Multiply (Arg0, 0x08, Local0) Multiply (Arg1, 0x08, Local1) CreateField (Arg2, Local0, Local1, TBF3) Sleep (0xA0) Return (TBF3) } } Scope (_SB.PCI0.P0P2) { OperationRegion (PCIG, PCI_Config, 0x30, 0xC0) Field (PCIG, DWordAcc, NoLock, Preserve) { Offset (0x0E), , 6, SRST, 1 } Method (EJ0, 0, NotSerialized) { Store (One, ^^LPCB.EC0.HPEJ) Sleep (0xC8) } Device (VGA) { Name (_ADR, Zero) Name (SWIT, One) Name (CRTA, One) Name (LCDA, One) Name (TV0A, Zero) Name (HDTV, Zero) Name (TOGF, Zero) Name (DVST, One) OperationRegion (XPCI, SystemMemory, 0xE0100000, 0x4000) Field (XPCI, DWordAcc, Lock, Preserve) { R000, 32, R004, 32, R008, 32, R00C, 32, R010, 32, R014, 32, R018, 32, R01C, 32, R020, 32, R024, 32, R028, 32, R02C, 32, R030, 32, R034, 32, R038, 32, R03C, 32, R040, 32, Offset (0x78), Offset (0x88), DAPM, 2, , 3, ERTL, 1, ECCC, 1, Offset (0x8A), , 12, ESCC, 1, Offset (0x100), Offset (0x114), TCVC, 8 } Method (_ON, 0, NotSerialized) { Store ("Start Method _ON: Hot Key Event", Debug) Notify (PCI0, Zero) And (^^^LPCB.EC0.HYST, 0xFB, Local1) Store (Local1, ^^^LPCB.EC0.HYST) Store (One, PEGA) PHSR (0x88) Sleep (0xC8) Sleep (0x64) Store (Zero, DQDA) Sleep (0xA0) Store (DB00, R000) Store (DB04, R004) Store (DB08, R008) Store (DB0C, R00C) Store (DB10, R010) Store (DB14, R014) Store (DB18, R018) Store (DB1C, R01C) Store (DB20, R020) Store (DB24, R024) Store (DB28, R028) Store (DB2C, R02C) Store (DB30, R030) Store (DB34, R034) Store (DB38, R038) Store (DB3C, R03C) Store (DB40, R040) IPBR () Store (One, ^^^LPCB.EC0.HPWR) Store (One, DVST) } Method (IPBR, 0, NotSerialized) { Store (One, TCVC) If (LEqual (ESCC, One)) { Store (One, ECCC) } } Method (MXDS, 1, NotSerialized) { If (And (Arg0, Zero)) { Store (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>DVGA MXDS", Debug) If (DVST) { Return (One) } Else { Return (Zero) } } Else { If (And (Arg0, One)) { Store (">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>DVGA MXDS to dGPU", Debug) Store (One, ^^^LPCB.EC0.HLMX) Store (One, ^^^LPCB.EC0.HPWR) Store (One, ^^^LPCB.EC0.DRRY) } } } Method (MXMX, 1, NotSerialized) { Return (One) } Method (_OFF, 0, NotSerialized) { Store ("Start Method _OFF: Hot Key Event", Debug) Store (Zero, ^^^LPCB.EC0.HPWR) Or (^^^LPCB.EC0.HYST, 0x04, Local1) Store (Local1, ^^^LPCB.EC0.HYST) Or (CLKD, 0x21) Store (One, SRST) Store (One, DQDA) Store (Zero, SRST) P8XH (Zero, 0xCA) PHSR (0x89) Sleep (0x0190) P8XH (Zero, 0xC5) P8XH (Zero, 0xC6) Sleep (0x64) Store (One, ^^^LPCB.EC0.HPLG) P8XH (Zero, 0xC7) Notify (PCI0, Zero) Sleep (0x012C) P8XH (Zero, 0xC8) Store (Zero, DVST) P8XH (Zero, 0xC9) } Method (_STA, 0, NotSerialized) { If (LEqual (DVST, One)) { Return (0x0F) } Else { Return (One) } } Name (_PSC, Zero) Method (_ROM, 2, NotSerialized) { If (LGreater (Add (Arg0, Arg1), 0x00010000)) { Subtract (Arg0, 0x00010000, Arg0) } If (LGreaterEqual (Arg0, 0x8000)) { Sleep (0xA0) Return (GETB (Subtract (Arg0, 0x8000), Arg1, VBF2)) } If (LGreater (Add (Arg0, Arg1), 0x8000)) { Subtract (0x8000, Arg0, Local0) Subtract (Arg1, Local0, Local1) Store (GETB (Arg0, Local0, VBF1), Local3) Store (GETB (Zero, Local1, VBF2), Local4) Concatenate (Local3, Local4, Local5) Sleep (0xA0) Return (Local5) } Sleep (0xA0) Return (GETB (Arg0, Arg1, VBF1)) } Method (_PS0, 0, NotSerialized) { Store (Zero, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), SWIT) } Method (_DOD, 0, NotSerialized) { Return (Package (0x03) { 0x80000100, 0x0110, 0x80007330 }) } Device (CRT) { Name (_ADR, 0x0100) Method (_DCS, 0, NotSerialized) { If (LOr (LOr (LEqual (TOGI, 0x02), LEqual (TOGI, 0x06)), LEqual ( TOGI, 0x04))) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { If (LOr (LOr (LEqual (TOGI, 0x02), LEqual (TOGI, 0x06)), LEqual ( TOGI, 0x04))) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("CRT -- _DSS", Debug) } } Device (LCD) { Name (_ADR, 0x0110) Method (_DCS, 0, NotSerialized) { If (LOr (LOr (LEqual (TOGI, One), LEqual (TOGI, 0x05)), LEqual ( TOGI, 0x04))) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { If (LOr (LOr (LEqual (TOGI, One), LEqual (TOGI, 0x05)), LEqual ( TOGI, 0x04))) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("LCD -- _DSS", Debug) } Method (_BCL, 0, NotSerialized) { Return (Package (0x0A) { 0x64, 0x1C, Zero, 0x0E, 0x1C, 0x2A, 0x38, 0x46, 0x54, 0x64 }) } Method (_BCM, 1, NotSerialized) { Name (_T_0, Zero) Store (ToInteger (Arg0), _T_0) If (LEqual (_T_0, Zero)) { Store (Zero, Local1) } Else { If (LEqual (_T_0, 0x0E)) { Store (One, Local1) } Else { If (LEqual (_T_0, 0x1C)) { Store (0x02, Local1) } Else { If (LEqual (_T_0, 0x2A)) { Store (0x03, Local1) } Else { If (LEqual (_T_0, 0x38)) { Store (0x04, Local1) } Else { If (LEqual (_T_0, 0x46)) { Store (0x05, Local1) } Else { If (LEqual (_T_0, 0x54)) { Store (0x06, Local1) } Else { If (LEqual (_T_0, 0x64)) { Store (0x07, Local1) } } } } } } } } If (LEqual (OSYS, 0x07D6)) { Acquire (^^^^LPCB.EC0.MUT1, 0xFFFF) Store (Local1, ^^^^LPCB.EC0.BLVL) Release (^^^^LPCB.EC0.MUT1) } } Method (_BQC, 0, NotSerialized) { If (LEqual (OSYS, 0x07D6)) { Acquire (^^^^LPCB.EC0.MUT1, 0xFFFF) Store (^^^^LPCB.EC0.BLVL, Local0) Release (^^^^LPCB.EC0.MUT1) } Name (_T_0, Zero) Store (ToInteger (Local0), _T_0) If (LEqual (_T_0, Zero)) { Store (Zero, Local1) } Else { If (LEqual (_T_0, One)) { Store (0x0E, Local1) } Else { If (LEqual (_T_0, 0x02)) { Store (0x1C, Local1) } Else { If (LEqual (_T_0, 0x03)) { Store (0x2A, Local1) } Else { If (LEqual (_T_0, 0x04)) { Store (0x38, Local1) } Else { If (LEqual (_T_0, 0x05)) { Store (0x46, Local1) } Else { If (LEqual (_T_0, 0x06)) { Store (0x54, Local1) } Else { If (LEqual (_T_0, 0x07)) { Store (0x64, Local1) } } } } } } } } Return (Local1) } } Device (HDMI) { Name (_ADR, 0x7330) Method (_DCS, 0, NotSerialized) { Store ("HDMI TV -- _DCS", Debug) If (LOr (LOr (LEqual (TOGI, 0x03), LEqual (TOGI, 0x06)), LEqual ( TOGI, 0x05))) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("HDMI TV -- _DCS", Debug) If (LOr (LOr (LEqual (TOGI, 0x03), LEqual (TOGI, 0x06)), LEqual ( TOGI, 0x05))) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("HDMI TV -- _DSS", Debug) } } } } Scope (_SB.PCI0.RP04.PXSX) { Method (_PSW, 1, NotSerialized) { Store (Arg0, ^^^LPCB.EC0.LNON) } } Scope (_SB.PCI0.RP06.PXSX) { Method (_PSW, 1, NotSerialized) { Store (Arg0, ^^^LPCB.EC0.LNON) } } }