Hello ClassicRed, i try to explain how i do my dsdt
The dsdt was extracted.
at this time you cannot have full definition (NO QE/CI)
You need first to add the dgtp method like this:
Add method DTGP to the main block
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)
}
}
you need to add the dsm method for video like this:
into device name_adr 0x00020000 Inject HDMI info (to enable your hdmi port) and dual-link (to enable full resolution)
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x04)
{
"AAPL00,DualLink",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"AAPL,snb-platform-id",
Buffer (0x04)
{
0x00, 0x00, 0x01, 0x00
}
})
}
}
For the sound i don't understand ? i never inject hd 2000 in my dsdt. you need to add the dsm method in device hdef:
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"codec-id",
Buffer (0x04)
{
0xE7, 0x76, 0x1D, 0x11
},
"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"device-type",
Buffer (0x0E)
{
"IDT 92HD90BXX"
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
and this in dsm method into device name_adr 0x00020000
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x06)
{
"AAPL00,DualLink",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"AAPL,snb-platform-id",
Buffer (0x04)
{
0x00, 0x00, 0x01, 0x00
}
})
}
}
}
I hope my post can help you.