RehabMan
Moderator
- Joined
- May 2, 2012
- Messages
- 181,058
- Motherboard
- Intel DH67BL
- CPU
- i7-2600K
- Graphics
- HD 3000
- Mac
- Mobile Phone
Ok, hang on before I go nuts .... I'm in green fields here
My one and only ECS4 method is in "DSDT.dsl" under root
Code:Method (ECS4, 1, NotSerialized) { ECWB (0x11, Arg0) }
It calls ECWB.
Code:Method (ECWB, 2, NotSerialized) { \_SB.PCI0.LPCB.ECDV.ECW1 (Arg0, Arg1) }
I don't see how it relates to _SB.PCIO.PEG0.VID (defined in "SSDT-3-NvdTabl.dsl") ?
Because that code is in the execution path of _OFF.
Also, if I follow the logic,
Step 1: Add a new _INI method in "SSDT-3-NvdTabl.dsl" just before _OFF method. That is easy.
Code:Method(_INI) { _OFF() }
Step 2: All EC related code in _OFF execution path must be moved to _REG. This is a bit greek.
How do a know which code is EC ?
Let me guess ... can it be ECS4 as per below ?
Yes.
You will see as you start reading the code for ECS4 and code it calls.
Code:Method (_OFF, 0, Serialized) // _OFF: Power Off { Sleep (0x64) Store (PREG, PEGB) Sleep (0x64) Store (VREG, VGAB) Sleep (0x64) Store (0x01, LNKM) While (LNotEqual (LNKS, 0x00)) { Sleep (0x01) } Store (0x00, PO34) ECS4 (0x00). // to be removed ? }
Yes. To "move" is to "remove from one location" and "copy to another".
Some people know this as cut/paste.
Step 3: Add code from Step 2 to _REG method.
The only _REG method I could find is in "DSDT.dsl". It is part off \_SB.PCIO.LPCB.ECDV
Code:Method (_REG, 2, NotSerialized) // _REG: Region Availability { If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, 0x01))) { ECIN () Store (0x01, \ECRD) } ECS4 (0x00) // To be added here ? }
Read the guide carefully.
EC related code must be run from _REG only when _REG is called with specific arguments.
How will the code be executed to call _OFF method in "SSDT-3-NvdTabl.dsl". We have created an _INI method that call _OFF. However, what is calling _INI ? or is it invoked automatically ?
_INI is executed from AppleACPIPlatform.kext early in ACPI initialization.
Read the ACPI spec for more information.