/* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20180427 (64-bit version)(RM) * Copyright (c) 2000 - 2018 Intel Corporation * * Disassembling to non-symbolic legacy ASL operators * * Disassembly of SSDT-11-Opt1Tabl.aml, Mon Jul 5 02:36:33 2021 * * Original Table Header: * Signature "SSDT" * Length 0x00003364 (13156) * Revision 0x01 * Checksum 0xE0 * OEM ID "OptRf1" * OEM Table ID "Opt1Tabl" * OEM Revision 0x00001000 (4096) * Compiler ID "INTL" * Compiler Version 0x20160527 (538314023) */ DefinitionBlock ("", "SSDT", 1, "OptRf1", "Opt1Tabl", 0x00001000) { External (_SB_.GGOV, MethodObj) // 1 Arguments (from opcode) External (_SB_.PCI0, DeviceObj) // (from opcode) External (_SB_.PCI0.GFX0, DeviceObj) // (from opcode) External (_SB_.PCI0.GFX0._DSM, MethodObj) // 4 Arguments (from opcode) External (_SB_.PCI0.LPCB.EC0_.ECOK, IntObj) // (from opcode) External (_SB_.PCI0.LPCB.EC0_.FNGM, UnknownObj) // (from opcode) External (_SB_.PCI0.LPCB.EC0_.MUT0, MutexObj) // (from opcode) External (_SB_.PCI0.LPCB.EC0_.SDNT, FieldUnitObj) // (from opcode) External (_SB_.PCI0.P0LS, UnknownObj) // (from opcode) External (_SB_.PCI0.PEG0, DeviceObj) // (from opcode) External (_SB_.PCI0.PEG0.CEDR, UnknownObj) // (from opcode) External (_SB_.PCI0.PEG0.DGCX, IntObj) // (from opcode) External (_SB_.PCI0.PEG0.LREN, UnknownObj) // (from opcode) External (_SB_.PCI0.PEG0.PEGP, DeviceObj) // (from opcode) External (_SB_.PCI0.PEG0.PEGP._ADR, DeviceObj) // (from opcode) External (_SB_.PCI0.PEG0.PEGP.LTRE, UnknownObj) // (from opcode) External (_SB_.PCI0.PEG0.PEGP.PVID, UnknownObj) // (from opcode) External (_SB_.PCI0.PEG0.TDGC, IntObj) // (from opcode) External (_SB_.PCI0.PEG0.TGPC, IntObj) // (from opcode) External (_SB_.PCI0.PGOF, MethodObj) // 1 Arguments (from opcode) External (_SB_.PCI0.PGON, MethodObj) // 1 Arguments (from opcode) External (_SB_.PCI0.RTDS, MethodObj) // 1 Arguments (from opcode) External (_SB_.PCI0.RTEN, MethodObj) // 1 Arguments (from opcode) External (_SB_.PCI0.SGPO, MethodObj) // 5 Arguments (from opcode) External (_SB_.PR00, DeviceObj) // (from opcode) External (_SB_.PR01, ProcessorObj) // (from opcode) External (_SB_.PR02, ProcessorObj) // (from opcode) External (_SB_.PR03, ProcessorObj) // (from opcode) External (_SB_.PR04, ProcessorObj) // (from opcode) External (_SB_.PR05, ProcessorObj) // (from opcode) External (_SB_.PR06, ProcessorObj) // (from opcode) External (_SB_.PR07, ProcessorObj) // (from opcode) External (_SB_.PR08, ProcessorObj) // (from opcode) External (_SB_.PR09, ProcessorObj) // (from opcode) External (_SB_.PR10, ProcessorObj) // (from opcode) External (_SB_.PR11, ProcessorObj) // (from opcode) External (_SB_.PR12, ProcessorObj) // (from opcode) External (_SB_.PR13, ProcessorObj) // (from opcode) External (_SB_.PR14, ProcessorObj) // (from opcode) External (_SB_.PR15, ProcessorObj) // (from opcode) External (_SB_.PR16, ProcessorObj) // (from opcode) External (_SB_.PR17, ProcessorObj) // (from opcode) External (_SB_.PR18, ProcessorObj) // (from opcode) External (_SB_.PR19, ProcessorObj) // (from opcode) External (CHPV, UnknownObj) // (from opcode) External (DID1, UnknownObj) // (from opcode) External (DID2, UnknownObj) // (from opcode) External (DID3, UnknownObj) // (from opcode) External (DID4, UnknownObj) // (from opcode) External (DID5, UnknownObj) // (from opcode) External (DID6, UnknownObj) // (from opcode) External (DID7, UnknownObj) // (from opcode) External (DID8, UnknownObj) // (from opcode) External (EBAS, UnknownObj) // (from opcode) External (HRA0, UnknownObj) // (from opcode) External (HRE0, UnknownObj) // (from opcode) External (HRG0, UnknownObj) // (from opcode) External (HYSS, UnknownObj) // (from opcode) External (IOBS, UnknownObj) // (from opcode) External (NVAF, UnknownObj) // (from opcode) External (NVGA, UnknownObj) // (from opcode) External (NVHA, UnknownObj) // (from opcode) External (NXD1, UnknownObj) // (from opcode) External (NXD2, UnknownObj) // (from opcode) External (NXD3, UnknownObj) // (from opcode) External (NXD4, UnknownObj) // (from opcode) External (NXD5, UnknownObj) // (from opcode) External (NXD6, UnknownObj) // (from opcode) External (NXD7, UnknownObj) // (from opcode) External (NXD8, UnknownObj) // (from opcode) External (OSYS, UnknownObj) // (from opcode) External (PWA0, UnknownObj) // (from opcode) External (PWE0, UnknownObj) // (from opcode) External (PWG0, UnknownObj) // (from opcode) External (RPA1, UnknownObj) // (from opcode) External (SGFL, UnknownObj) // (from opcode) External (SGGP, UnknownObj) // (from opcode) External (SGMD, UnknownObj) // (from opcode) External (SSMP, UnknownObj) // (from opcode) External (TCNT, FieldUnitObj) // (from opcode) External (XBAS, UnknownObj) // (from opcode) OperationRegion (TPNV, SystemMemory, 0x99043000, 0x0036) Field (TPNV, AnyAcc, Lock, Preserve) { MXD1, 32, MXD2, 32, MXD3, 32, MXD4, 32, MXD5, 32, MXD6, 32, MXD7, 32, MXD8, 32, EBAS, 32, DGVS, 32, DGVB, 32, HYSS, 32, NVAF, 8, DEID, 16, DPMF, 8, SDMF, 8, CHPV, 8 } Scope (\_SB.PCI0.PEG0.PEGP) { OperationRegion (MSID, SystemMemory, EBAS, 0x0500) Field (MSID, DWordAcc, Lock, Preserve) { VEID, 16, Offset (0x40), NVID, 32, Offset (0x4C), ATID, 32 } } Scope (\_SB.PCI0.PEG0) { OperationRegion (RPCX, SystemMemory, Add (Add (\XBAS, 0x8000), Zero), 0x1000) Field (RPCX, ByteAcc, NoLock, Preserve) { Offset (0x04), CMDR, 8, Offset (0x19), PRBN, 8, Offset (0x84), D0ST, 2, Offset (0xAA), CEDR, 1, Offset (0xB0), ASPM, 2, , 2, LNKD, 1, Offset (0xC9), , 2, LREN, 1, Offset (0x216), LNKS, 4 } Name (TDGC, Zero) Name (DGCX, Zero) Name (TGPC, Buffer (0x04) { 0x00 }) PowerResource (PG00, 0x00, 0x0000) { Name (_STA, One) // _STA: Status Method (_ON, 0, Serialized) // _ON_: Power On { If (LEqual (\_SB.PCI0.PEG0.TDGC, One)) { If (LEqual (\_SB.PCI0.PEG0.DGCX, 0x03)) { \_SB.PCI0.PEG0.PEGP.GC6O () } ElseIf (LEqual (\_SB.PCI0.PEG0.DGCX, 0x04)) { \_SB.PCI0.PEG0.PEGP.GC6O () } Store (Zero, \_SB.PCI0.PEG0.TDGC) Store (Zero, \_SB.PCI0.PEG0.DGCX) Store (One, _STA) } ElseIf (LGreater (OSYS, 0x07D9)) { PGON (Zero) Or (CMDR, 0x07, CMDR) Store (Zero, D0ST) If (LEqual (\_SB.PCI0.PEG0.PEGP.VEID, 0x10DE)) { Store (HYSS, \_SB.PCI0.PEG0.PEGP.NVID) } If (LEqual (\_SB.PCI0.PEG0.PEGP.VEID, 0x1002)) { Store (HYSS, \_SB.PCI0.PEG0.PEGP.ATID) } Store (One, _STA) } } Method (_OFF, 0, Serialized) // _OFF: Power Off { If (LEqual (\_SB.PCI0.PEG0.TDGC, One)) { CreateField (\_SB.PCI0.PEG0.TGPC, Zero, 0x03, GUPC) If (LEqual (ToInteger (GUPC), One)) { \_SB.PCI0.PEG0.PEGP.GC6I () } ElseIf (LEqual (ToInteger (GUPC), 0x02)) { \_SB.PCI0.PEG0.PEGP.GC6I () } } ElseIf (LGreater (OSYS, 0x07D9)) { PGOF (Zero) Store (Zero, _STA) } } } Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { PG00 }) Name (_PR2, Package (0x01) // _PR2: Power Resources for D2 { PG00 }) Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot { PG00 }) Device (NXHC) { Name (_ADR, 0x02) // _ADR: Address Device (NHUB) { Name (_ADR, Zero) // _ADR: Address Device (SS01) { Name (_ADR, One) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (NUPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (NUPC) } Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { Return (NPLD (Zero, One)) } } Device (SS02) { Name (_ADR, 0x02) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (NUPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (NUPC) } Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { Return (NPLD (Zero, 0x02)) } } Device (SS03) { Name (_ADR, 0x03) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (NUPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (NUPC) } Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { Return (NPLD (Zero, 0x03)) } } Device (SS04) { Name (_ADR, 0x04) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (NUPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (NUPC) } Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { Return (NPLD (Zero, 0x04)) } } Device (SS05) { Name (_ADR, 0x05) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (NUPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (NUPC) } Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { Return (NPLD (Zero, 0x05)) } } Device (SS06) { Name (_ADR, 0x06) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (NUPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (NUPC) } Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { Return (NPLD (Zero, 0x06)) } } } Method (NPLD, 2, Serialized) { Name (PCKG, Package (0x01) { Buffer (0x10){} }) CreateField (DerefOf (Index (PCKG, Zero)), Zero, 0x07, REV) Store (One, REV) CreateField (DerefOf (Index (PCKG, Zero)), 0x40, One, VISI) Store (Arg0, VISI) CreateField (DerefOf (Index (PCKG, Zero)), 0x57, 0x08, GPOS) Store (Arg1, GPOS) Return (PCKG) } } } Scope (\_SB.PCI0) { Name (OTM, "OTMACPI 2010-Mar-09 12:08:26") } Scope (\_SB.PCI0.PEG0.PEGP) { OperationRegion (PCI2, SystemMemory, EBAS, 0x0500) Field (PCI2, DWordAcc, Lock, Preserve) { Offset (0x04), CMDR, 8, VGAR, 2000, Offset (0x48B), , 1, NHDA, 1 } Name (VGAB, Buffer (0xFA) { 0x00 }) Name (GPRF, Zero) OperationRegion (NVHM, SystemMemory, NVHA, 0x00030400) Field (NVHM, DWordAcc, NoLock, Preserve) { NVSG, 128, NVSZ, 32, NVVR, 32, NVHO, 32, RVBS, 32, RBF1, 262144, RBF2, 262144, RBF3, 262144, RBF4, 262144, RBF5, 262144, RBF6, 262144, MXML, 32, MXM3, 1600 } Name (OPCE, 0x02) Name (DGPS, Zero) Method (SGST, 0, Serialized) { If (And (SGMD, 0x0F)) { If (LNotEqual (SGGP, One)) { Return (0x0F) } Return (Zero) } If (LNotEqual (PVID, 0xFFFF)) { Return (0x0F) } Return (Zero) } Name (_PSC, Zero) // _PSC: Power State Current Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { Store (Zero, _PSC) If (LNotEqual (DGPS, Zero)) { _ON () Store (Zero, DGPS) } } Method (_PS1, 0, NotSerialized) // _PS1: Power State 1 { Store (One, _PSC) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { If (LEqual (OPCE, 0x03)) { If (LEqual (DGPS, Zero)) { _OFF () Store (One, DGPS) } Store (0x02, OPCE) } Store (0x03, _PSC) } Method (_ROM, 2, NotSerialized) // _ROM: Read-Only Memory { Store (Arg0, Local0) Store (Arg1, Local1) If (LGreater (Local1, 0x1000)) { Store (0x1000, Local1) } If (LGreater (Local0, 0x00030000)) { Return (Buffer (Local1) { 0x00 }) } Multiply (Local1, 0x08, Local3) Name (ROM1, Buffer (0x8000) { 0x00 }) Name (ROM2, Buffer (Local1) { 0x00 }) If (LLess (Local0, 0x8000)) { Store (RBF1, ROM1) } ElseIf (LLess (Local0, 0x00010000)) { Subtract (Local0, 0x8000, Local0) Store (RBF2, ROM1) } ElseIf (LLess (Local0, 0x00018000)) { Subtract (Local0, 0x00010000, Local0) Store (RBF3, ROM1) } ElseIf (LLess (Local0, 0x00020000)) { Subtract (Local0, 0x00018000, Local0) Store (RBF4, ROM1) } ElseIf (LLess (Local0, 0x00028000)) { Subtract (Local0, 0x00020000, Local0) Store (RBF5, ROM1) } ElseIf (LLess (Local0, 0x00030000)) { Subtract (Local0, 0x00028000, Local0) Store (RBF6, ROM1) } Multiply (Local0, 0x08, Local2) CreateField (ROM1, Local2, Local3, TMPB) Store (TMPB, ROM2) Return (ROM2) } Method (HDSM, 4, Serialized) { Return (0x80000001) } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { CreateByteField (Arg0, 0x03, GUID) If (LEqual (Arg0, ToUUID ("d4a50b75-65c7-46f7-bfb7-41514cea0244"))) { Return (NBCI (Arg0, Arg1, Arg2, Arg3)) } If (LEqual (Arg0, ToUUID ("a3132d01-8cda-49ba-a52e-bc9d46df6b81"))) { Return (\_SB.PCI0.PEG0.PEGP.GPS (Arg0, Arg1, Arg2, Arg3)) } If (LEqual (Arg0, ToUUID ("cbeca351-067b-4924-9cbd-b46b00b86f34"))) { Return (\_SB.PCI0.PEG0.PEGP.NVJT (Arg0, Arg1, Arg2, Arg3)) } Name (SGCI, Zero) Name (NBC1, Zero) Name (OPCI, Zero) Name (BUFF, Zero) If (LEqual (Arg0, ToUUID ("a486d8f8-0bda-471b-a72b-6042a6b5bee0"))) { Store (One, OPCI) } If (LOr (OPCI, LOr (SGCI, NBC1))) { If (OPCI) { If (LNotEqual (Arg1, 0x0100)) { Return (0x80000002) } } ElseIf (LNotEqual (Arg1, 0x0102)) { Return (0x80000002) } If (LEqual (Arg2, Zero)) { If (SGCI) { Return (Buffer (0x04) { 0x7F, 0x00, 0x04, 0x00 }) } ElseIf (NBC1) { Return (Buffer (0x04) { 0x01, 0x00, 0x01, 0x00 }) } ElseIf (OPCI) { Return (Buffer (0x04) { 0x01, 0x00, 0x00, 0x0C }) } } If (LEqual (Arg2, One)) { Name (TEMP, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (TEMP, Zero, STS0) If (SGCI) { Or (STS0, 0x0B0000BF, STS0) Or (STS0, ShiftLeft (\_SB.PCI0.GFX0.SGNC, 0x08, \_SB.PCI0.GFX0.SGNC), STS0) } Else { Or (STS0, Zero, STS0) } Return (TEMP) } If (LEqual (Arg2, 0x02)) { Name (TMP1, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (TMP1, Zero, STS1) ToInteger (Arg3, Local0) And (Local0, 0x1F, Local0) If (And (Local0, 0x10)) { And (Local0, 0x0F, Local0) Store (Local0, \_SB.PCI0.GFX0.GPSS) Notify (\_SB.PCI0.GFX0, 0xD9) Notify (\_SB.PCI0.WMI1, 0xD9) } Else { And (Local0, 0x0F, Local0) If (LEqual (\_SB.PCI0.GFX0.GPPO, One)) { Store (\_SB.PCI0.GFX0.GPSS, Local0) Or (Local0, 0x10, Local0) Store (Zero, \_SB.PCI0.GFX0.GPPO) } } Or (STS1, Local0, STS1) Return (TMP1) } If (LEqual (Arg2, 0x03)) { Name (TMP2, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (TMP2, Zero, STS2) ToInteger (Arg3, Local0) And (Local0, 0x03, Local0) If (LEqual (Local0, Zero)) { \_SB.PCI0.PEG0.PEGP.SGST () } If (LEqual (Local0, One)) { \_SB.PCI0.PGON (Zero) } If (LEqual (Local0, 0x02)) { \_SB.PCI0.PGOF (Zero) } If (LEqual (\_SB.PCI0.PEG0.PEGP.SGST (), 0x0F)) { Or (STS2, One, STS2) } Return (TMP2) } If (LEqual (Arg2, 0x04)) { Name (TMP3, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (TMP3, Zero, STS3) ToInteger (Arg3, Local0) Store (Local0, Local1) ShiftRight (Local0, 0x10, Local0) And (Local0, One, \_SB.PCI0.GFX0.USPM) ShiftRight (Local1, 0x0D, Local1) And (Local1, 0x03, Local1) If (LNotEqual (Local1, \_SB.PCI0.GFX0.GPSP)) { If (LEqual (\_SB.PCI0.GFX0.USPM, One)) { Store (Local1, \_SB.PCI0.GFX0.GPSP) } Else { Store (\_SB.PCI0.GFX0.GPSP, Local1) Or (STS3, 0x8000, STS3) } } Or (STS3, ShiftLeft (Local1, 0x0D), STS3) Return (TMP3) } If (LEqual (Arg2, 0x05)) { Name (TMP4, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (TMP4, Zero, STS4) ToInteger (Arg3, Local0) If (And (Local0, 0x80000000)) { Store (And (ShiftRight (Local0, 0x19), 0x1F), \_SB.PCI0.GFX0.TLSN) If (And (Local0, 0x40000000)) { Store (One, \_SB.PCI0.GFX0.DOSF) } } If (And (Local0, 0x01000000)) { Store (And (ShiftRight (Local0, 0x0C), 0x0FFF), \_SB.PCI0.GFX0.GACD) Store (And (Local0, 0x0FFF), \_SB.PCI0.GFX0.GATD) Store (\_SB.PCI0.GFX0.CTOI (\_SB.PCI0.GFX0.GACD), \_SB.PCI0.GFX0.TLSN) Increment (\_SB.PCI0.GFX0.TLSN) If (LGreater (\_SB.PCI0.GFX0.TLSN, 0x0D)) { Store (One, \_SB.PCI0.GFX0.TLSN) } \_SB.PCI0.GFX0.SNXD (\_SB.PCI0.GFX0.TLSN) } Or (STS4, ShiftLeft (\_SB.PCI0.GFX0.DHPE, 0x15), STS4) Or (STS4, ShiftLeft (\_SB.PCI0.GFX0.DHPS, 0x14), STS4) Or (STS4, ShiftLeft (\_SB.PCI0.GFX0.TLSN, 0x08), STS4) Or (STS4, ShiftLeft (\_SB.PCI0.GFX0.DKST, 0x05), STS4) Or (STS4, ShiftLeft (\_SB.PCI0.GFX0.LDES, 0x04), STS4) Or (STS4, \_SB.PCI0.GFX0.DACE, STS4) Store (Zero, \_SB.PCI0.GFX0.LDES) Store (Zero, \_SB.PCI0.GFX0.DHPS) Store (Zero, \_SB.PCI0.GFX0.DHPE) Store (Zero, \_SB.PCI0.GFX0.DACE) Return (TMP4) } If (LEqual (Arg2, 0x06)) { Return (\_SB.PCI0.GFX0.TLPK) } If (LEqual (Arg2, 0x10)) { CreateWordField (Arg3, 0x02, USRG) Name (OPVK, Buffer (0x96) { /* 0000 */ 0xE4, 0x57, 0x31, 0x0D, 0xD1, 0x7D, 0x49, 0x60, /* 0008 */ 0x4B, 0x56, 0x96, 0x00, 0x00, 0x00, 0x01, 0x00, /* 0010 */ 0x31, 0x35, 0x36, 0x32, 0x37, 0x33, 0x34, 0x36, /* 0018 */ 0x38, 0x37, 0x33, 0x39, 0x47, 0x65, 0x6E, 0x75, /* 0020 */ 0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 0028 */ 0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, /* 0030 */ 0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74, /* 0038 */ 0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61, /* 0040 */ 0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65, /* 0048 */ 0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x2D, /* 0050 */ 0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, /* 0058 */ 0x68, 0x74, 0x20, 0x32, 0x30, 0x31, 0x31, 0x20, /* 0060 */ 0x4E, 0x56, 0x49, 0x44, 0x49, 0x41, 0x20, 0x43, /* 0068 */ 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, /* 0070 */ 0x6F, 0x6E, 0x20, 0x41, 0x6C, 0x6C, 0x20, 0x52, /* 0078 */ 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65, /* 0080 */ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2D, 0x31, /* 0088 */ 0x30, 0x33, 0x37, 0x35, 0x36, 0x33, 0x38, 0x35, /* 0090 */ 0x36, 0x35, 0x32, 0x28, 0x52, 0x29 }) If (LEqual (USRG, 0x564B)) { Return (OPVK) } Return (Zero) } If (LEqual (Arg2, 0x11)) { Return (Zero) } If (LEqual (Arg2, 0x12)) { Return (Package (0x0A) { 0xD0, ToUUID ("921a2f40-0dc4-402d-ac18-b48444ef9ed2"), 0xD9, ToUUID ("c12ad361-9fa9-4c74-901f-95cb0945cf3e"), 0xDB, ToUUID ("42848006-8886-490e-8c72-2bdca93a8a09"), 0xEF, ToUUID ("b3e485d2-3cc1-4b54-8f31-77ba2fdc9ebe"), 0xF0, ToUUID ("360d6fb6-1d4e-4fa6-b848-1be33dd8ec7b") }) } If (LEqual (Arg2, 0x1A)) { CreateField (Arg3, 0x18, 0x02, OMPR) CreateField (Arg3, Zero, One, FLCH) CreateField (Arg3, One, One, DVSR) CreateField (Arg3, 0x02, One, DVSC) If (ToInteger (FLCH)) { Store (OMPR, \_SB.PCI0.PEG0.PEGP.OPCE) } Store (Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, Local0) CreateField (Local0, Zero, One, OPEN) CreateField (Local0, 0x03, 0x02, CGCS) CreateField (Local0, 0x06, One, SHPC) CreateField (Local0, 0x08, One, SNSR) CreateField (Local0, 0x18, 0x03, DGPC) CreateField (Local0, 0x1B, 0x02, HDAC) Store (One, OPEN) Store (One, SHPC) Store (0x03, HDAC) Store (One, DGPC) If (ToInteger (DVSC)) { If (ToInteger (DVSR)) { Store (One, \_SB.PCI0.PEG0.PEGP.GPRF) } Else { Store (Zero, \_SB.PCI0.PEG0.PEGP.GPRF) } } Store (\_SB.PCI0.PEG0.PEGP.GPRF, SNSR) If (LNotEqual (\_SB.PCI0.PEG0.PEGP.SGST (), Zero)) { Store (0x03, CGCS) } Return (Local0) } If (LEqual (Arg2, 0x1B)) { CreateField (Arg3, Zero, One, OACC) CreateField (Arg3, One, One, UOAC) CreateField (Arg3, 0x02, 0x08, OPDA) CreateField (Arg3, 0x0A, One, OPDE) Store (Zero, Local1) Store (Zero, BUFF) If (ToInteger (UOAC)) { If (ToInteger (OACC)) { Store (One, BUFF) } Store (BUFF, SGFL) } Store (SGFL, Local1) Return (Local1) } Return (0x80000002) } Return (0x80000001) } Name (GSDR, Buffer (0xA1) { /* 0000 */ 0x57, 0x74, 0xDC, 0x86, 0x75, 0x84, 0xEC, 0xE7, /* 0008 */ 0x52, 0x44, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x01, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0xDE, 0x10, 0x00, 0x00, /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0020 */ 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, /* 0028 */ 0x00, 0x00, 0x01, 0x00, 0x47, 0x00, 0x00, 0x00, /* 0030 */ 0x02, 0x00, 0x45, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0038 */ 0x51, 0x00, 0x00, 0x00, 0x04, 0x00, 0x4F, 0x00, /* 0040 */ 0x00, 0x00, 0x05, 0x00, 0x4D, 0x00, 0x00, 0x00, /* 0048 */ 0x06, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x07, 0x00, /* 0050 */ 0x49, 0x00, 0x00, 0x00, 0x08, 0x00, 0x47, 0x00, /* 0058 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD9, 0x1C, /* 0060 */ 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, /* 0068 */ 0x41, 0x5D, 0xC9, 0x00, 0x01, 0x24, 0x2E, 0x00, /* 0070 */ 0x02, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, /* 0078 */ 0x00, 0x00, 0x00, 0xD9, 0x1C, 0x04, 0x00, 0x00, /* 0080 */ 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x68, 0x9E, /* 0088 */ 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0090 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0098 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00A0 */ 0x00 }) Method (NBCI, 4, Serialized) { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If (LNotEqual (Arg1, 0x0102)) { Return (0x80000002) } If (LEqual (Arg2, Zero)) { Return (Buffer (0x04) { 0x01, 0x00, 0x01, 0x00 }) } If (LEqual (Arg2, One)) { Name (TEMP, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (TEMP, Zero, STS0) Or (STS0, Zero, STS0) Return (TEMP) } If (LEqual (Arg2, 0x10)) { CreateWordField (Arg3, 0x02, BFF0) If (LEqual (BFF0, 0x564B)){} } If (LEqual (BFF0, 0x4452)) { Return (GSDR) } If (LEqual (Arg2, 0x14)) { Return (Package (0x20) { 0x8001A420, 0x0200, Zero, Zero, 0x05, One, 0xC8, 0x32, 0x03E8, 0x0B, 0x32, 0x64, 0x96, 0xC8, 0x012C, 0x0190, 0x01FE, 0x0276, 0x02F8, 0x0366, 0x03E8, Zero, 0x64, 0xC8, 0x012C, 0x0190, 0x01F4, 0x0258, 0x02BC, 0x0320, 0x0384, 0x03E8 }) } } Name (CTXT, Zero) Method (_ON, 0, Serialized) // _ON_: Power On { \_SB.PCI0.PGON (Zero) If (LNotEqual (GPRF, One)) { Store (CMDR, Local0) Store (Zero, CMDR) Store (VGAB, VGAR) Store (0x06, CMDR) Store (Local0, CMDR) } } Method (_OFF, 0, Serialized) // _OFF: Power Off { If (LEqual (CTXT, Zero)) { If (LNotEqual (GPRF, One)) { Store (VGAR, VGAB) } Store (One, CTXT) } PGOF (Zero) } } Scope (\_SB.PCI0.GFX0) { Method (_INI, 0, NotSerialized) // _INI: Initialize { Store (DID1, Index (TLPK, Zero)) Store (DID2, Index (TLPK, 0x02)) Store (DID3, Index (TLPK, 0x04)) Store (DID4, Index (TLPK, 0x06)) Store (DID5, Index (TLPK, 0x08)) Store (DID6, Index (TLPK, 0x0A)) Store (DID7, Index (TLPK, 0x0C)) Store (DID2, Index (TLPK, 0x0E)) Store (DID1, Index (TLPK, 0x0F)) Store (DID2, Index (TLPK, 0x11)) Store (DID3, Index (TLPK, 0x12)) Store (DID2, Index (TLPK, 0x14)) Store (DID4, Index (TLPK, 0x15)) Store (DID2, Index (TLPK, 0x17)) Store (DID5, Index (TLPK, 0x18)) Store (DID2, Index (TLPK, 0x1A)) Store (DID6, Index (TLPK, 0x1B)) Store (DID2, Index (TLPK, 0x1D)) Store (DID7, Index (TLPK, 0x1E)) } OperationRegion (NVIG, SystemMemory, NVGA, 0x45) Field (NVIG, DWordAcc, NoLock, Preserve) { NISG, 128, NISZ, 32, NIVR, 32, GPSS, 32, GACD, 16, GATD, 16, LDES, 8, DKST, 8, DACE, 8, DHPE, 8, DHPS, 8, SGNC, 8, GPPO, 8, USPM, 8, GPSP, 8, TLSN, 8, DOSF, 8, ELCL, 16 } Name (TLPK, Package (0x20) { Ones, 0x2C, Ones, 0x2C, Ones, 0x2C, Ones, 0x2C, Ones, 0x2C, Ones, 0x2C, Ones, 0x2C, Ones, Ones, 0x2C, Ones, Ones, 0x2C, Ones, Ones, 0x2C, Ones, Ones, 0x2C, Ones, Ones, 0x2C, Ones, Ones, 0x2C }) Method (INDL, 0, Serialized) { Store (Zero, NXD1) Store (Zero, NXD2) Store (Zero, NXD3) Store (Zero, NXD4) Store (Zero, NXD5) Store (Zero, NXD6) Store (Zero, NXD7) Store (Zero, NXD8) } Method (SND1, 1, Serialized) { If (LEqual (Arg0, DID1)) { Store (One, NXD1) } If (LEqual (Arg0, DID2)) { Store (One, NXD2) } If (LEqual (Arg0, DID3)) { Store (One, NXD3) } If (LEqual (Arg0, DID4)) { Store (One, NXD4) } If (LEqual (Arg0, DID5)) { Store (One, NXD5) } If (LEqual (Arg0, DID6)) { Store (One, NXD6) } If (LEqual (Arg0, DID7)) { Store (One, NXD7) } If (LEqual (Arg0, DID8)) { Store (One, NXD8) } } Method (SNXD, 1, Serialized) { INDL () Store (One, Local0) Store (Zero, Local1) While (LLess (Local0, Arg0)) { If (LEqual (DerefOf (Index (TLPK, Local1)), 0x2C)) { Increment (Local0) } Increment (Local1) } SND1 (DerefOf (Index (TLPK, Local1))) Increment (Local1) If (LNotEqual (DerefOf (Index (TLPK, Local1)), 0x2C)) { SND1 (DerefOf (Index (TLPK, Local1))) } } Method (CTOI, 1, Serialized) { Switch (ToInteger (Arg0)) { Case (One) { Return (One) } Case (0x02) { Return (0x02) } Case (0x04) { Return (0x03) } Case (0x08) { Return (0x04) } Case (0x10) { Return (0x05) } Case (0x20) { Return (0x06) } Case (0x40) { Return (0x07) } Case (0x03) { Return (0x08) } Case (0x06) { Return (0x09) } Case (0x0A) { Return (0x0A) } Case (0x12) { Return (0x0B) } Case (0x22) { Return (0x0C) } Case (0x42) { Return (0x0D) } Default { Return (One) } } } } Scope (\_SB.PCI0.PEG0.PEGP) { Method (GC6I, 0, Serialized) { Store ("<<< GC6I >>>", Debug) Store (\_SB.PCI0.PEG0.LREN, \_SB.PCI0.PEG0.PEGP.LTRE) \_SB.PCI0.RTDS (Zero) Sleep (0x0A) \_SB.PCI0.SGPO (SGGP, HRE0, HRG0, HRA0, One) } Method (GC6O, 0, Serialized) { Store ("<<< GC6O >>>", Debug) \_SB.PCI0.SGPO (SGGP, HRE0, HRG0, HRA0, Zero) \_SB.PCI0.RTEN (Zero) Or (\_SB.PCI0.PEG0.CMDR, 0x04, \_SB.PCI0.PEG0.CMDR) Store (\_SB.PCI0.PEG0.PEGP.LTRE, \_SB.PCI0.PEG0.LREN) Store (One, \_SB.PCI0.PEG0.CEDR) } Method (NVJT, 4, Serialized) { Store ("------- NV JT DSM --------", Debug) If (LLess (Arg1, 0x0100)) { Return (0x80000001) } Switch (ToInteger (Arg2)) { Case (Zero) { Store ("JT fun0 JT_FUNC_SUPPORT", Debug) Return (Buffer (0x04) { 0x1B, 0x00, 0x00, 0x00 }) } Case (One) { Store ("JT fun1 JT_FUNC_CAPS", Debug) Name (JTCA, Buffer (0x04) { 0x00 }) CreateField (JTCA, Zero, One, JTEN) CreateField (JTCA, One, 0x02, SREN) CreateField (JTCA, 0x03, 0x02, PLPR) CreateField (JTCA, 0x05, One, SRPR) CreateField (JTCA, 0x06, 0x02, FBPR) CreateField (JTCA, 0x08, 0x02, GUPR) CreateField (JTCA, 0x0A, One, GC6R) CreateField (JTCA, 0x0B, One, PTRH) CreateField (JTCA, 0x0D, One, MHYB) CreateField (JTCA, 0x0E, One, RPCL) CreateField (JTCA, 0x0F, 0x02, GC6V) CreateField (JTCA, 0x11, One, GEIS) CreateField (JTCA, 0x12, One, GSWS) CreateField (JTCA, 0x14, 0x0C, JTRV) Store (One, JTEN) Store (Zero, GC6R) Store (One, MHYB) Store (One, RPCL) Store (One, SREN) Store (Zero, FBPR) Store (One, MHYB) Store (0x02, GC6V) Store (0x0200, JTRV) Return (JTCA) } Case (0x02) { Store ("JT fun2 JT_FUNC_POLICYSELECT", Debug) Return (0x80000002) } Case (0x03) { Store ("JT fun3 JT_FUNC_POWERCONTROL", Debug) CreateField (Arg3, Zero, 0x03, GUPC) CreateField (Arg3, 0x04, One, PLPC) CreateField (Arg3, 0x07, One, ECOC) CreateField (Arg3, 0x0E, 0x02, DFGC) CreateField (Arg3, 0x10, 0x03, GPCX) Store (Arg3, \_SB.PCI0.PEG0.TGPC) If (LOr (LNotEqual (ToInteger (GUPC), Zero), LNotEqual (ToInteger (DFGC), Zero))) { Store (ToInteger (DFGC), TDGC) Store (ToInteger (GPCX), DGCX) } Name (JTPC, Buffer (0x04) { 0x00 }) CreateField (JTPC, Zero, 0x03, GUPS) CreateField (JTPC, 0x03, One, GPWO) CreateField (JTPC, 0x07, One, PLST) If (LNotEqual (ToInteger (DFGC), Zero)) { Store (One, GPWO) Store (One, GUPS) Return (JTPC) } If (LEqual (ToInteger (GUPC), One)) { GC6I () Store (One, PLST) Store (Zero, GUPS) } ElseIf (LEqual (ToInteger (GUPC), 0x02)) { GC6I () If (LEqual (ToInteger (PLPC), Zero)) { Store (Zero, PLST) } Store (Zero, GUPS) } ElseIf (LEqual (ToInteger (GUPC), 0x03)) { GC6O () If (LNotEqual (ToInteger (PLPC), Zero)) { Store (Zero, PLST) } Store (One, GPWO) Store (One, GUPS) } ElseIf (LEqual (ToInteger (GUPC), 0x04)) { GC6O () If (LNotEqual (ToInteger (PLPC), Zero)) { Store (Zero, PLST) } Store (One, GPWO) Store (One, GUPS) } Else { Store ("<<< GETS >>>", Debug) If (LEqual (\_SB.GGOV (0x030A0006), One)) { Store ("<<< GETS() return 0x1 >>>", Debug) Store (One, GPWO) Store (One, GUPS) } Else { Store ("<<< GETS() return 0x3 >>>", Debug) Store (Zero, GPWO) Store (0x03, GUPS) } } Return (JTPC) } Case (0x04) { Store (" JT fun4 JT_FUNC_PLATPOLICY", Debug) CreateField (Arg3, 0x02, One, PAUD) CreateField (Arg3, 0x03, One, PADM) CreateField (Arg3, 0x04, 0x04, PDGS) Store (Zero, Local0) ShiftLeft (\_SB.PCI0.PEG0.PEGP.NHDA, 0x02, Local0) Return (Local0) } } Return (0x80000002) } } Scope (\_SB.PCI0.PEG0.PEGP) { Name (NLIM, Zero) Name (PSLS, Zero) Name (PTGP, Zero) Name (TGPV, 0x2710) Name (CTGP, Zero) Name (GPSP, Buffer (0x28){}) CreateDWordField (GPSP, Zero, RETN) CreateDWordField (GPSP, 0x04, VRV1) CreateDWordField (GPSP, 0x08, TGPU) CreateDWordField (GPSP, 0x0C, PDTS) CreateDWordField (GPSP, 0x10, SFAN) CreateDWordField (GPSP, 0x14, SKNT) CreateDWordField (GPSP, 0x18, CPUE) CreateDWordField (GPSP, 0x1C, TMP1) CreateDWordField (GPSP, 0x20, TMP2) CreateDWordField (GPSP, 0x24, PCGP) Method (GPS, 4, Serialized) { Store ("<<< GPS >>>", Debug) If (LNotEqual (Arg1, 0x0100)) { Return (0x80000002) } Switch (ToInteger (Arg2)) { Case (Zero) { Store ("GPS fun 0", Debug) Return (Buffer (0x08) { 0x01, 0x00, 0x08, 0x00, 0x01, 0x04, 0x00, 0x00 }) } Case (0x13) { Store ("GPS fun 19", Debug) CreateDWordField (Arg3, Zero, TEMP) If (\_SB.PCI0.LPCB.EC0.ECOK) { Acquire (\_SB.PCI0.LPCB.EC0.MUT0, 0x2000) Store (One, \_SB.PCI0.LPCB.EC0.SDNT) Release (\_SB.PCI0.LPCB.EC0.MUT0) } If (LEqual (TEMP, Zero)) { Return (0x04) } If (LAnd (TEMP, 0x04)) { If (\_SB.PCI0.LPCB.EC0.ECOK) { Acquire (\_SB.PCI0.LPCB.EC0.MUT0, 0x2000) Store (One, \_SB.PCI0.LPCB.EC0.SDNT) Release (\_SB.PCI0.LPCB.EC0.MUT0) } Return (0x04) } } Case (0x20) { Store ("GPS fun 32", Debug) Name (RET1, Zero) CreateBitField (Arg3, 0x02, SPBI) If (NLIM) { Or (RET1, One, RET1) } If (PSLS) { Or (RET1, 0x02, RET1) } If (PTGP) { Or (RET1, 0x00100000, RET1) } If (CTGP) { Or (RET1, 0x00400000, RET1) } Return (RET1) } Case (0x2A) { Store ("GPS fun 42", Debug) CreateField (Arg3, Zero, 0x04, PSH0) CreateBitField (Arg3, 0x08, GPUT) Store (0x00010000, VRV1) Store (TGPV, PCGP) Switch (ToInteger (PSH0)) { Case (Zero) { Return (GPSP) } Case (One) { Store (0x0100, RETN) Or (RETN, ToInteger (PSH0), RETN) If (PTGP) { Or (RETN, 0x8000, RETN) } Return (GPSP) } Case (0x02) { Store (0x0102, RETN) Store (0x57, TGPU) If (LEqual (\_SB.PCI0.LPCB.EC0.FNGM, 0x02)) { Store (0x4B, TGPU) } If (PTGP) { Or (RETN, 0x8000, RETN) } Return (GPSP) } } Return (0x80000002) } } Return (0x80000002) } } Scope (\_SB.PCI0) { Device (WMI2) { Name (_HID, "PNP0C14") // _HID: Hardware ID Name (_UID, "OPTM") // _UID: Unique ID Name (_WDG, Buffer (0x28) { /* 0000 */ 0xBF, 0x82, 0x49, 0xCA, 0x30, 0xC2, 0x8E, 0x45, /* 0008 */ 0xB1, 0x2F, 0x6F, 0x16, 0x47, 0x5F, 0x35, 0x1B, /* 0010 */ 0x4F, 0x50, 0x01, 0x02, 0xF8, 0xD8, 0x86, 0xA4, /* 0018 */ 0xDA, 0x0B, 0x1B, 0x47, 0xA7, 0x2B, 0x60, 0x42, /* 0020 */ 0xA6, 0xB5, 0xBE, 0xE0, 0x53, 0x4D, 0x01, 0x00 }) Method (WMOP, 3, NotSerialized) { If (LEqual (Arg1, One)) { \_SB.PCI0.PEG0.PEGP._PS0 () Notify (\_SB.PCI0.PEG0, Zero) Return (Zero) } If (LEqual (Arg1, 0x02)) { If (LEqual (\_SB.PCI0.PEG0.PEGP.DGPS, Zero)) { Return (0x10) } Else { Return (0x20) } } } Method (WQSM, 1, NotSerialized) { Return (ATSM) } Name (ATSM, Buffer (0xE2) { /* 0000 */ 0x52, 0xAA, 0x89, 0xC5, 0x44, 0xCE, 0xC3, 0x3A, /* 0008 */ 0x4B, 0x56, 0xE2, 0x00, 0x00, 0x00, 0x01, 0x00, /* 0010 */ 0x32, 0x37, 0x34, 0x35, 0x39, 0x31, 0x32, 0x35, /* 0018 */ 0x33, 0x36, 0x38, 0x37, 0x47, 0x65, 0x6E, 0x75, /* 0020 */ 0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 0028 */ 0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, /* 0030 */ 0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74, /* 0038 */ 0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61, /* 0040 */ 0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65, /* 0048 */ 0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66, /* 0050 */ 0x6F, 0x72, 0x20, 0x63, 0x6F, 0x6F, 0x6B, 0x69, /* 0058 */ 0x65, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x75, 0x6C, /* 0060 */ 0x35, 0x30, 0x20, 0x75, 0x73, 0x69, 0x6E, 0x20, /* 0068 */ 0x2D, 0x20, 0x5E, 0x57, 0x3C, 0x4A, 0x3D, 0x41, /* 0070 */ 0x24, 0x4C, 0x3A, 0x4B, 0x38, 0x32, 0x26, 0x51, /* 0078 */ 0x48, 0x35, 0x4C, 0x3E, 0x2B, 0x33, 0x52, 0x2B, /* 0080 */ 0x54, 0x35, 0x2A, 0x52, 0x29, 0x3A, 0x5B, 0x4C, /* 0088 */ 0x4A, 0x3E, 0x36, 0x48, 0x22, 0x48, 0x41, 0x50, /* 0090 */ 0x47, 0x39, 0x5A, 0x39, 0x5E, 0x3E, 0x44, 0x53, /* 0098 */ 0x54, 0x3C, 0x20, 0x2D, 0x20, 0x43, 0x6F, 0x70, /* 00A0 */ 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, /* 00A8 */ 0x30, 0x30, 0x39, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 00B0 */ 0x49, 0x41, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, /* 00B8 */ 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, /* 00C0 */ 0x6C, 0x6C, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, /* 00C8 */ 0x73, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, /* 00D0 */ 0x65, 0x64, 0x2D, 0x32, 0x37, 0x34, 0x35, 0x39, /* 00D8 */ 0x31, 0x32, 0x35, 0x33, 0x36, 0x38, 0x37, 0x28, /* 00E0 */ 0x52, 0x29 }) } Device (WMI1) { Name (_HID, "PNP0C14") // _HID: Hardware ID Name (_UID, "OPT1") // _UID: Unique ID Name (_WDG, Buffer (0x14) { /* 0000 */ 0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xBD, 0x4E, /* 0008 */ 0xB5, 0x77, 0x93, 0x1E, 0xA3, 0x2A, 0x2C, 0xC0, /* 0010 */ 0x4D, 0x58, 0x01, 0x02 }) Method (WMMX, 3, NotSerialized) { CreateDWordField (Arg2, Zero, FUNC) If (LEqual (FUNC, 0x534F525F)) { If (LGreaterEqual (SizeOf (Arg2), 0x08)) { CreateDWordField (Arg2, 0x04, ARGS) CreateDWordField (Arg2, 0x08, XARG) Return (\_SB.PCI0.PEG0.PEGP._ROM (ARGS, XARG)) } } If (LEqual (FUNC, 0x4D53445F)) { If (LGreaterEqual (SizeOf (Arg2), 0x1C)) { CreateField (Arg2, Zero, 0x80, MUID) CreateDWordField (Arg2, 0x10, REVI) CreateDWordField (Arg2, 0x14, SFNC) CreateField (Arg2, 0xE0, 0x20, XRG0) If (CondRefOf (\_SB.PCI0.GFX0._DSM)) { Return (\_SB.PCI0.GFX0._DSM (MUID, REVI, SFNC, XRG0)) } } } Return (Zero) } } } Scope (\_SB.PCI0.PEG0.PEGP) { Name (AFST, 0xFF) Method (CAFL, 0, Serialized) { If (LEqual (AFST, 0xFF)) { OperationRegion (SMIP, SystemIO, 0x0820, One) Field (SMIP, ByteAcc, NoLock, Preserve) { IOB2, 8 } OperationRegion (NVIO, SystemIO, IOBS, 0x10) Field (NVIO, ByteAcc, NoLock, Preserve) { CPUC, 8 } Store (IOB2, Local0) Store (Local0, CPUC) } } } Scope (\_SB) { Device (NPCF) { Name (PABS, One) Name (HPCT, 0x02) Name (_HID, "NVDA0820") // _HID: Hardware ID Name (_UID, "NPCF") // _UID: Unique ID Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If (LEqual (Arg0, ToUUID ("36b49710-2483-11e7-9598-0800200c9a66"))) { Return (NPCF (Arg0, Arg1, Arg2, Arg3)) } } Method (RCHV, 0, NotSerialized) { If (LNotEqual (IOBS, Zero)) { OperationRegion (NVIO, SystemIO, IOBS, 0x10) Field (NVIO, ByteAcc, NoLock, Preserve) { CPUC, 8 } Store (CHPV, CPUC) } } Method (NTCU, 0, Serialized) { Switch (ToInteger (TCNT)) { Case (0x14) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) Notify (\_SB.PR06, 0x85) Notify (\_SB.PR07, 0x85) Notify (\_SB.PR08, 0x85) Notify (\_SB.PR09, 0x85) Notify (\_SB.PR10, 0x85) Notify (\_SB.PR11, 0x85) Notify (\_SB.PR12, 0x85) Notify (\_SB.PR13, 0x85) Notify (\_SB.PR14, 0x85) Notify (\_SB.PR15, 0x85) Notify (\_SB.PR16, 0x85) Notify (\_SB.PR17, 0x85) Notify (\_SB.PR18, 0x85) Notify (\_SB.PR19, 0x85) } Case (0x13) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) Notify (\_SB.PR06, 0x85) Notify (\_SB.PR07, 0x85) Notify (\_SB.PR08, 0x85) Notify (\_SB.PR09, 0x85) Notify (\_SB.PR10, 0x85) Notify (\_SB.PR11, 0x85) Notify (\_SB.PR12, 0x85) Notify (\_SB.PR13, 0x85) Notify (\_SB.PR14, 0x85) Notify (\_SB.PR15, 0x85) Notify (\_SB.PR16, 0x85) Notify (\_SB.PR17, 0x85) Notify (\_SB.PR18, 0x85) } Case (0x12) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) Notify (\_SB.PR06, 0x85) Notify (\_SB.PR07, 0x85) Notify (\_SB.PR08, 0x85) Notify (\_SB.PR09, 0x85) Notify (\_SB.PR10, 0x85) Notify (\_SB.PR11, 0x85) Notify (\_SB.PR12, 0x85) Notify (\_SB.PR13, 0x85) Notify (\_SB.PR14, 0x85) Notify (\_SB.PR15, 0x85) Notify (\_SB.PR16, 0x85) Notify (\_SB.PR17, 0x85) } Case (0x11) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) Notify (\_SB.PR06, 0x85) Notify (\_SB.PR07, 0x85) Notify (\_SB.PR08, 0x85) Notify (\_SB.PR09, 0x85) Notify (\_SB.PR10, 0x85) Notify (\_SB.PR11, 0x85) Notify (\_SB.PR12, 0x85) Notify (\_SB.PR13, 0x85) Notify (\_SB.PR14, 0x85) Notify (\_SB.PR15, 0x85) Notify (\_SB.PR16, 0x85) } Case (0x10) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) Notify (\_SB.PR06, 0x85) Notify (\_SB.PR07, 0x85) Notify (\_SB.PR08, 0x85) Notify (\_SB.PR09, 0x85) Notify (\_SB.PR10, 0x85) Notify (\_SB.PR11, 0x85) Notify (\_SB.PR12, 0x85) Notify (\_SB.PR13, 0x85) Notify (\_SB.PR14, 0x85) Notify (\_SB.PR15, 0x85) } Case (0x0E) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) Notify (\_SB.PR06, 0x85) Notify (\_SB.PR07, 0x85) Notify (\_SB.PR08, 0x85) Notify (\_SB.PR09, 0x85) Notify (\_SB.PR10, 0x85) Notify (\_SB.PR11, 0x85) Notify (\_SB.PR12, 0x85) Notify (\_SB.PR13, 0x85) } Case (0x0C) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) Notify (\_SB.PR06, 0x85) Notify (\_SB.PR07, 0x85) Notify (\_SB.PR08, 0x85) Notify (\_SB.PR09, 0x85) Notify (\_SB.PR10, 0x85) Notify (\_SB.PR11, 0x85) } Case (0x0A) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) Notify (\_SB.PR06, 0x85) Notify (\_SB.PR07, 0x85) Notify (\_SB.PR08, 0x85) Notify (\_SB.PR09, 0x85) } Case (0x08) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) Notify (\_SB.PR06, 0x85) Notify (\_SB.PR07, 0x85) } Case (0x07) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) Notify (\_SB.PR06, 0x85) } Case (0x06) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) Notify (\_SB.PR05, 0x85) } Case (0x05) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) Notify (\_SB.PR04, 0x85) } Case (0x04) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) Notify (\_SB.PR03, 0x85) } Case (0x03) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) Notify (\_SB.PR02, 0x85) } Case (0x02) { Notify (\_SB.PR00, 0x85) Notify (\_SB.PR01, 0x85) } Default { Notify (\_SB.PR00, 0x85) } } } Method (NPCF, 4, Serialized) { Store ("------- NVPCF DSM --------", Debug) If (LNotEqual (ToInteger (Arg1), 0x0100)) { Return (0x80000001) } Switch (ToInteger (Arg2)) { Case (Zero) { Store (" NVPCF sub-func#0", Debug) Return (Buffer (0x04) { 0x07, 0x00, 0x00, 0x00 }) } Case (One) { Store (" NVPCF sub-func#1", Debug) Return (Buffer (0x5D) { /* 0000 */ 0x10, 0x04, 0x09, 0x02, 0x01, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, /* 0018 */ 0x05, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, /* 0020 */ 0x01, 0x00, 0x00, 0x00, 0x02, 0x01, 0x01, 0x00, /* 0028 */ 0x00, 0x02, 0x01, 0x02, 0x00, 0x00, 0x02, 0x01, /* 0030 */ 0x03, 0x00, 0x00, 0x10, 0x06, 0x23, 0x01, 0x64, /* 0038 */ 0x00, 0x01, 0x01, 0x00, 0x00, 0xE8, 0x00, 0x00, /* 0040 */ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, /* 0048 */ 0x2D, 0x00, 0x23, 0x00, 0x00, 0xFF, 0xFF, 0xFF, /* 0050 */ 0xFF, 0xFF, 0xFF, 0xFF, 0x66, 0x0E, 0x00, 0x10, /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x4E }) } Case (0x02) { Store (" NVPCF sub-func#2", Debug) Name (PBD2, Buffer (0x08){}) CreateByteField (PBD2, Zero, NDPT) CreateByteField (PBD2, One, NSDP) CreateByteField (PBD2, 0x02, NNDT) CreateByteField (PBD2, 0x03, NRES) Store (0x10, NDPT) Store (0x04, NSDP) Store (One, NNDT) Store (Zero, NRES) CreateByteField (PBD2, 0x04, NOIC) CreateByteField (PBD2, 0x05, NICC) CreateWordField (PBD2, 0x06, NICA) CreateByteField (Arg3, 0x04, NICM) CreateByteField (Arg3, 0x06, NCA0) If (LEqual (ToInteger (NICM), Zero)) { Store (PABS, NOIC) } If (LEqual (ToInteger (NICM), One)) { If (LEqual (ToInteger (NCA0), Zero)) { Store (Zero, PABS) Store (PABS, NOIC) } If (LEqual (ToInteger (NCA0), One)) { Store (One, PABS) Store (PABS, NOIC) } } If (LNotEqual (IOBS, Zero)) { OperationRegion (NVIO, SystemIO, IOBS, 0x10) Field (NVIO, ByteAcc, NoLock, Preserve) { CPUC, 8 } If (LEqual (ToInteger (NICM), 0x02)) { Store (HPCT, NOIC) Store (CPUC, NICC) Store (IOBS, NICA) } If (LEqual (ToInteger (NICM), 0x03)) { If (LNotEqual (ToInteger (NCA0), 0xFF)) { Store (Zero, \_SB.PCI0.PEG0.PEGP.AFST) Store (HPCT, NOIC) Store (NCA0, CPUC) Store (NCA0, NICC) Store (IOBS, NICA) NTCU () } Else { Store (0xFF, \_SB.PCI0.PEG0.PEGP.AFST) Store (CHPV, CPUC) } } } Else { Return (0x80000001) } Return (PBD2) } } Return (0x80000002) } } } }