Method (PGOF, 1, Serialized)
{
Store (Arg0, PEGI)
Store (\XBAS, PEBA)
Store (GDEV (PEGI), PDEV)
Store (GFUN (PEGI), PFUN)
If (LEqual (Arg0, Zero))
{
If (LOr (LEqual (SGMD, One), LEqual (SGMD, 0x02)))
{
\_SB.PCI0.PEG0.OFSV ()
}
}
WEPF (PEGI, Zero)
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)
}
If (LGreaterEqual (PCSL, 0x04))
{
If (LEqual (RC7A, One))
{
SVPG (PEGI)
}
}
If (LEqual (Arg0, Zero))
{
Store (One, P0LD)
Store (Zero, TCNT)
While (LLess (TCNT, LDLY))
{
If (LEqual (P0LS, Zero))
{
Break
}
Sleep (0x10)
Add (TCNT, 0x10, TCNT)
}
Store (0x02, P0AP)
}
ElseIf (LEqual (Arg0, One))
{
Store (One, P1LD)
Store (Zero, TCNT)
While (LLess (TCNT, LDLY))
{
If (LEqual (P1LS, Zero))
{
Break
}
Sleep (0x10)
Add (TCNT, 0x10, TCNT)
}
Store (0x02, P1AP)
}
ElseIf (LEqual (Arg0, 0x02))
{
Store (One, P2LD)
Store (Zero, TCNT)
While (LLess (TCNT, LDLY))
{
If (LEqual (P2LS, Zero))
{
Break
}
Sleep (0x10)
Add (TCNT, 0x10, TCNT)
}
Store (0x02, P2AP)
}
If (LNotEqual (PBGE, Zero))
{
If (SBDL (PEGI))
{
Store (GMXB (PEGI), MBDL)
PDUB (PEGI, MBDL)
}
}
If (LGreaterEqual (PCSL, 0x04))
{
If (LEqual (RC7A, One))
{
C7AD (One)
}
}
GPPR (PEGI, Zero)
Return (Zero)
}
我找到我的_OFF函数调用了PGOF函数,没发现有调用EC呀 PowerResource (PG00, 0x00, 0x0000)
{
Name (_STA, One) // _STA: Status
Method (_ON, 0, Serialized) // _ON_: Power On
{
If (LNotEqual (OSYS, 0x07D9))
{
PGON (Zero)
Store (One, _STA)
}
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If (LNotEqual (OSYS, 0x07D9))
{
PGOF (Zero)
Store (Zero, _STA)
}
}
}
求大神帮我看看该如何在DSDT里引用_OFF函数