Hi RehabMan,
I'm attaching the verbose pictures until it showed ban logo.
My DSL patching steps are below.
1. after disassembling using iasl, I ran below patch in DSDT
- Fix PARSEOP_ZERO Error (agressive) --> apply button is disabled. So I didn't do anything with this patch
- Fix ADBG Error --> applied and compiled successfully
- Rename _DSM methods to XDSM --> applied successfully but when I compiled, I got 201 errors. Details are in attachment.
- IRQ Fix --> apply button is disabled. So I didn't do anything with this patch
- SMBUS Fix --> applied and compiled successfully. (I undo the Rename _DSM methods to XDSM patch)
- Add IMEI --> applied and compiled successfully
- RTC Fix --> applied and compiled successfully
- Fix _WAK Arg0 v2 --> applied and compiled successfully
- USB3 _PRW 0x6D --> applied and compiled successfully
- Audio Layout 12 --> applied and compiled successfully
2. then I run
Code:
grep -l Method.*_OFF *.dsl
which shows
Code:
DSDT.dsl
SSDT-11-SgPch.dsl
3. then I run
Code:
grep -l Method.*_INI *.dsl
which shows
Code:
DSDT.dsl
SSDT-11-SgPch.dsl
4. I open SSDT-11-SgPch.dsl and search _Off method. It shows.
Code:
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
\_SB.PCI0.HGOF ()
Return (Zero)
}
Then I modified it like the guidance, and it returns error
"393, 6084, Object does not exist (CTXT)"
"395, 6084, Object does not exist (GPRF)"
"397, 6084, Object does not exist (VGAR)"
"397, 6084, Object does not exist (VGAB)"
"403, 6084, Object does not exist (SGOF)"
5. I tried to run the patch for SSDT
- Cleanup / Fix Erros --> applied and compiled successfully
- Disable from _INI --> applied button is disabled.
6. Then I search _INI method in SSDT-11-SgPch.dsl and it shows.
Code:
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (Zero, \_SB.PCI0.RP01.PEGP._ADR)
Store (0x06, CMDR)
Store (0x06, CMDS)
Store (SVID, HVID)
Store (SDID, HDID)
}
I tried to change the _INI method with the guidance
Code:
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (Zero, \_SB.PCI0.RP05.PEGP._ADR)
//added to turn nvidia/radeon off
External(\_SB.PCI0.RP05.PEGP._OFF, MethodObj)
_OFF()
}
but it returns an error "373, 6084, Object does not exist (\_SB.PCI0.RP05.PEGP._ADR)".
7. I go back to DSDT and changed the _REG method to like below
Code:
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, \H8DR)
}
//added to turn nvidia/radeon off
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))
{
\_SB.PCI0.LPCB.EC0.SPIN (0x96, Zero)
}
}
but it returns an error "16007, 6084, Object does not exist (\_SB.PCI0.LPCB.EC0.SPIN)"
Please advise.
Thanks
Best Regards,
Afin