DefinitionBlock ("", "SSDT", 2, "hack", "DGPU", 0x00000000)
{
External (_SB_.PCI0, DeviceObj) // (from opcode)
External (_SB_.PCI0.LPCB.EC0_, DeviceObj) // (from opcode)
External (_SB_.PCI0.LPCB.EC0_.CMUT, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.LPCB.EC0_.CNTD, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.LPCB.EC0_.XREG, MethodObj) // 2 Arguments (from opcode)
External (_SB_.PCI0.PEG0.LNRD, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PEG0.LREN, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PEG0.PEGP, UnknownObj) // Warning: Unknown object
External (_SB_.PCI0.PEG0.PEGP.LTRE, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PEG1.LNRD, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PEG2.LNRD, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.CCHK, MethodObj) // 2 Arguments (from opcode)
External (_SB_.PCI0.PGOF.DIWK, MethodObj) // 1 Arguments (from opcode)
External (_SB_.PCI0.PGOF.ECP0, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.ECP1, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.ECP2, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.ELC0, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.ELC1, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.ELC2, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.GDEV, MethodObj) // 1 Arguments (from opcode)
External (_SB_.PCI0.PGOF.GFUN, MethodObj) // 1 Arguments (from opcode)
External (_SB_.PCI0.PGOF.GMXB, MethodObj) // 1 Arguments (from opcode)
External (_SB_.PCI0.PGOF.GPPR, MethodObj) // 2 Arguments (from opcode)
External (_SB_.PCI0.PGOF.H0DI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.H0VI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.H1DI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.H1VI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.H2DI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.H2VI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.LCP0, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.LCP1, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.LCP2, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.LCT0, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.LCT1, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.LCT2, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.MBDL, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.P1GP, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.P2GP, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.PBGE, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.PDEV, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.PDUB, MethodObj) // 2 Arguments (from opcode)
External (_SB_.PCI0.PGOF.PEBA, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.PFUN, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.PIOF, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.RTDS, MethodObj) // 1 Arguments (from opcode)
External (_SB_.PCI0.PGOF.S0DI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.S0VI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.S1DI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.S1VI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.S2DI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.S2VI, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.SBDL, MethodObj) // 1 Arguments (from opcode)
External (_SB_.PCI0.PGOF.SCLK, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.SGGP, MethodObj) // 0 Arguments (from opcode)
External (_SB_.PCI0.PGOF.SPCO, MethodObj) // 2 Arguments (from opcode)
External (XBAS, MethodObj) // 0 Arguments (from opcode)
Scope (_SB.PCI0)
{
Method (PGOF, 1, Serialized)
{
Store (Arg0, PIOF ())
If (LEqual (PIOF (), Zero))
{
If (LEqual (SGGP (), Zero))
{
Return (Zero)
}
}
ElseIf (LEqual (PIOF (), One))
{
If (LEqual (P1GP (), Zero))
{
Return (Zero)
}
}
ElseIf (LEqual (PIOF (), 0x02))
{
If (LEqual (P2GP (), Zero))
{
Return (Zero)
}
}
Store (\XBAS (), PEBA ())
Store (GDEV (PIOF ()), PDEV ())
Store (GFUN (PIOF ()), PFUN ())
If (LEqual (CCHK (PIOF (), Zero), Zero))
{
Return (Zero)
}
Store (\_SB.PCI0.PEG0.LREN (), \_SB.PCI0.PEG0.PEGP.LTRE ())
If (LEqual (Arg0, Zero))
{
Store (LCT0 (), ELC0 ())
Store (S0VI (), H0VI ())
Store (S0DI (), H0DI ())
Store (LCP0 (), ECP0 ())
}
ElseIf (LEqual (Arg0, One))
{
Store (LCT1 (), ELC1 ())
Store (S1VI (), H1VI ())
Store (S1DI (), H1DI ())
Store (LCP1 (), ECP1 ())
}
ElseIf (LEqual (Arg0, 0x02))
{
Store (LCT2 (), ELC2 ())
Store (S2VI (), H2VI ())
Store (S2DI (), H2DI ())
Store (LCP2 (), ECP2 ())
}
RTDS (PIOF ())
If (LNotEqual (PBGE (), Zero))
{
If (SBDL (PIOF ()))
{
Store (GMXB (PIOF ()), MBDL ())
PDUB (PIOF (), MBDL ())
}
}
If (CondRefOf (SCLK))
{
SPCO (SCLK (), Zero)
}
If (LEqual (Arg0, Zero))
{
Divide (\_SB.PCI0.PEG0.LNRD (), 0x03E8, Local0, Local1)
Sleep (Local1)
}
ElseIf (LEqual (Arg0, One))
{
Divide (\_SB.PCI0.PEG1.LNRD (), 0x03E8, Local0, Local1)
Sleep (Local1)
}
ElseIf (LEqual (Arg0, 0x02))
{
Divide (\_SB.PCI0.PEG2.LNRD (), 0x03E8, Local0, Local1)
Sleep (Local1)
}
GPPR (PIOF (), Zero)
DIWK (PIOF ())
Return (Zero)
}
}
Scope (_SB.PCI0.LPCB.EC0)
{
OperationRegion (RME3, EmbeddedControl, Zero, 0xFF)
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
XREG (Arg0, Arg1)
If (LAnd (LEqual (0x03, Arg0), LEqual (One, Arg1)))
{
Acquire (\_SB.PCI0.LPCB.EC0.CMUT (), 0xFFFF)
If (LNotEqual (And (\_SB.PCI0.LPCB.EC0.CNTD (), 0x07), Zero))
{
Notify (\_SB.PCI0.PEG0.PEGP, 0xD1)
}
Release (\_SB.PCI0.LPCB.EC0.CMUT ())
}
}
}
}