- 积分
- 708
- 最后登录
- 2024-3-29
- 精华
- 0
- 阅读权限
- 40
- 主题
- 100
- UID
- 3119587
- 帖子
- 1770
- PB币
- 2990
- 威望
- 0
- 贡献
- 0
- 技术
- 1
- 活跃
- 1943
- UID
- 3119587
- 帖子
- 1770
- PB币
- 2990
- 贡献
- 0
- 技术
- 1
- 活跃
- 1943
|
发表于 2018-3-30 18:03:18
IP属地福建
|显示全部楼层
13469977015002 发表于 2016-4-11 23:45
HDAEnable和clover注入ID不能让这个声卡驱动正常工作所以这里必须采用DSDT注入ID
打开DSDT搜索HDEF插入函数 ...
请问,我的DSDT里面没有HDEF怎么办?只有HDAS。所以,我现在只是在clover里注入了声卡的layoutID,但是只要填入layoutID,开机就会卡在busy timeout[0], (60s): 'IOHDACodecFunction', IntelFBClientControl', 'AppleIntelFramebuffer', 'AppleIntelFramebuffer', 'AppleIntelFramebuffer',这是什么原因呢?
- Scope (_SB.PCI0)
- {
- Device (HDAS)
- {
- Name (_ADR, 0x001F0003) // _ADR: Address
- OperationRegion (HDAR, PCI_Config, Zero, 0x0100)
- Field (HDAR, WordAcc, NoLock, Preserve)
- {
- VDID, 32
- }
- Field (HDAR, ByteAcc, NoLock, Preserve)
- {
- Offset (0x54),
- Offset (0x55),
- PMEE, 1,
- , 6,
- PMES, 1
- }
- Name (_S0W, 0x03) // _S0W: S0 Device Wake State
- Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
- {
- Store (Arg0, PMEE)
- }
- Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
- {
- Return (GPRW (0x6D, 0x04))
- }
- Method (GPEH, 0, NotSerialized)
- {
- If (LEqual (VDID, 0xFFFFFFFF))
- {
- Return (Zero)
- }
- If (LAnd (PMEE, PMES))
- {
- ADBG ("HDAS GPEH")
- Store (One, PMES)
- Notify (HDAS, 0x02)
- }
- }
- Method (_PS0, 0, Serialized) // _PS0: Power State 0
- {
- If (LNotEqual (VDID, 0xFFFFFFFF))
- {
- VMMH (Zero, One)
- }
- If (CondRefOf (\_SB.PCI0.HDAS.PS0X))
- {
- PS0X ()
- }
- }
- Method (_PS3, 0, Serialized) // _PS3: Power State 3
- {
- If (LNotEqual (VDID, 0xFFFFFFFF))
- {
- VMMH (Zero, Zero)
- }
- If (CondRefOf (\_SB.PCI0.HDAS.PS3X))
- {
- PS3X ()
- }
- }
- Name (NBUF, ResourceTemplate ()
- {
- QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
- 0x0000000000000001, // Granularity
- 0x0000000000000000, // Range Minimum
- 0x0000000000000000, // Range Maximum
- 0x0000000000000000, // Translation Offset
- 0x0000000000000000, // Length
- ,, _Y1F, AddressRangeACPI, TypeStatic)
- })
- Method (_INI, 0, NotSerialized) // _INI: Initialize
- {
- ADBG ("HDAS _INI")
- CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y1F._MIN, NBAS) // _MIN: Minimum Base Address
- CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y1F._MAX, NMAS) // _MAX: Maximum Base Address
- CreateQWordField (NBUF, \_SB.PCI0.HDAS._Y1F._LEN, NLEN) // _LEN: Length
- Store (NHLA, NBAS)
- Add (NHLA, Subtract (NHLL, One), NMAS)
- Store (NHLL, NLEN)
- If (LNotEqual (VDID, 0xFFFFFFFF))
- {
- VMMH (Zero, One)
- }
- }
- Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
- {
- Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler
- ADBG ("HDAS _DSM")
- If (PCIC (Arg0))
- {
- Return (PCID (Arg0, Arg1, Arg2, Arg3))
- }
- If (LEqual (Arg0, ToUUID ("a69f886e-6ceb-4594-a41f-7b5dce24c553")))
- {
- While (One)
- {
- Store (ToInteger (Arg2), _T_0)
- If (LEqual (_T_0, Zero))
- {
- Return (Buffer (One)
- {
- 0x0F
- })
- }
- ElseIf (LEqual (_T_0, One))
- {
- ADBG ("_DSM Fun 1 NHLT")
- Return (NBUF)
- }
- ElseIf (LEqual (_T_0, 0x02))
- {
- ADBG ("_DSM Fun 2 FMSK")
- Return (ADFM)
- }
- ElseIf (LEqual (_T_0, 0x03))
- {
- ADBG ("_DSM Fun 3 PPMS")
- If (CondRefOf (\_SB.PCI0.HDAS.PPMS))
- {
- Return (PPMS (Arg3))
- }
- Return (Zero)
- }
- Else
- {
- ADBG ("_DSM Fun NOK")
- Return (Buffer (One)
- {
- 0x00
- })
- }
- Break
- }
- }
- If (CondRefOf (HIWC))
- {
- If (HIWC (Arg0))
- {
- If (CondRefOf (HIDW))
- {
- Return (HIDW (Arg0, Arg1, Arg2, Arg3))
- }
- }
- }
- ADBG ("_DSM UUID NOK")
- Return (Buffer (One)
- {
- 0x00
- })
- }
- }
复制代码
|
|