Preciso de ajuda para o Audio ALC887. A aplicar o patch de dsdt co metodo para dtgp:
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0E)
{
"AAPL,slot-name",
Buffer (0x09)
{
"Built in"
},
"device-id",
Buffer (0x04)
{
0x20, 0x1C, 0x00, 0x00
},
"layout-id",
Buffer (0x04)
{
0x77, 0x03, 0x00, 0x00
},
"model",
Buffer (0x1C)
{
"Realtek ALC887 AppleHDA 7.1"
},
"name",
Buffer (0x10)
{
"AppleHDA ALC887"
},
"device_type",
Buffer (0x11)
{
"Audio Controller"
},
"PinConfigurations",
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}
If (LEqual (Arg2, One))
{
Return (One)
}
}
}
Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}
Tenho estes 2 Erros:
/Users/*/*/DSDT/DSDTFiles/dsdt.dsl 10182: If (LAnd (\_SB.PCI0.HDEF.DCKS, One))
Error 4064 - Object does not exist ^ (\_SB.PCI0.HDEF.DCKS)
/Users/*/*/DSDT/DSDTFiles/dsdt.dsl 10184: Store (DSTS, \_SB.PCI0.HDEF.DCKA)
Error 4064 - Object does not exist ^ (\_SB.PCI0.HDEF.DCKA)
O curioso é que me da o Erro em duas linhas nas que pon :
10182: Store (\_SB.PCI0.LPCB.H_EC.LSTE, LIDS)
10184: {
A linha: If (LAnd (\_SB.PCI0.HDEF.DCKS, One)) é a numero 10197
e mais a linha: Store (DSTS, \_SB.PCI0.HDEF.DCKA) é a numero 10199
Nao mais Erros me informa compilador.
Nao atopo por ningún lado informação sobre este erro.
Insiro o bloque completo no que se atopan os erros:
Method (_WAK, 1, Serialized)
{
P8XH (One, 0xAB)
WAK (Arg0)
If (NEXP)
{
If (And (OSCC, 0x02))
{
\_SB.PCI0.NHPG ()
}
If (And (OSCC, 0x04))
{
\_SB.PCI0.NPME ()
}
}
If (LEqual (Arg0, 0x03))
{
If (LEqual (Zero, ACTT))
{
If (LEqual (ECON, One))
{
Store (Zero, \_SB.PCI0.LPCB.H_EC.CFAN)
}
}
}
If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
{
If (LAnd (DTSE, LGreater (TCNT, One)))
{
TRAP (TRTD, 0x14)
}
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 (LEqual (ECON, One))
{
If (LNotEqual (LIDS, \_SB.PCI0.LPCB.H_EC.LSTE))
{
Store (\_SB.PCI0.LPCB.H_EC.LSTE, LIDS)
If (IGDS)
{
If (\_SB.PCI0.GFX0.GLID (LIDS))
{
Or (0x80000000, \_SB.PCI0.GFX0.CLID, \_SB.PCI0.GFX0.CLID)
}
}
Notify (\_SB.LID0, 0x80)
}
If (LNotEqual (\_SB.PCI0.LPCB.H_EC.DOCK, DSTS))
{
Store (\_SB.PCI0.LPCB.H_EC.DOCK, DSTS)
[color=#FF0000] If (LAnd (\_SB.PCI0.HDEF.DCKS, One))[/color]
{
[color=#FF0040]Store (DSTS, \_SB.PCI0.HDEF.DCKA)[/color]
}
If (LEqual (DSTS, One))
{
If (LEqual (Arg0, 0x03))
{
Sleep (0x03E8)
Store (PDBR, SSMP)
Sleep (0x03E8)
}
Notify (\_SB.PCI0.DOCK, Zero)
}
Else
{
Notify (\_SB.PCI0.DOCK, One)
}
}
If (LEqual (BNUM, Zero))
{
If (LNotEqual (\_SB.PCI0.LPCB.H_EC.VPWR, PWRS))
{
Store (\_SB.PCI0.LPCB.H_EC.VPWR, PWRS)
PNOT ()
}
}
Else
{
If (LNotEqual (\_SB.PCI0.LPCB.H_EC.RPWR, PWRS))
{
Store (\_SB.PCI0.LPCB.H_EC.RPWR, PWRS)
PNOT ()
}
}
}
If (LEqual (RP1D, Zero))
{
Notify (\_SB.PCI0.RP01, Zero)
}
If (LEqual (RP2D, Zero))
{
Notify (\_SB.PCI0.RP02, Zero)
}
If (LEqual (RP3D, Zero))
{
Notify (\_SB.PCI0.RP03, Zero)
}
If (LEqual (RP4D, Zero))
{
Notify (\_SB.PCI0.RP04, Zero)
}
If (LEqual (RP5D, Zero))
{
Notify (\_SB.PCI0.RP05, Zero)
}
If (LEqual (RP6D, Zero))
{
Notify (\_SB.PCI0.RP06, Zero)
}
If (LEqual (RP7D, Zero))
{
If (LEqual (DSTS, Zero))
{
Notify (\_SB.PCI0.RP07, Zero)
}
}
If (LEqual (RP8D, Zero))
{
If (LEqual (DSTS, Zero))
{
Notify (\_SB.PCI0.RP08, Zero)
}
}
}
Return (Package (0x02)
{
Zero,
Zero
})
}
Muito Obrigado.