http://bugzilla.kernel.org/show_bug.cgi?id=15054





--- Comment #15 from Zhang Rui <[email protected]>  2010-02-26 02:41:59 ---
A detailed description about how the AML code works on this laptop.

1. DIDL/DDL2/DDL3/... these are the DIDL field defined in IGD Opregion, and
they should have been initialized before _DOD is invoked.

2. DID1/DID2/DID3/... these are defined in the ACPI NVS region, and I suspect
these fields are initialized by BIOS, as an indicator of the ACPI video output
device type.

Here is how _DOD works,

1. if DIDL have been initialized, check the value in DIDL. If it doesn't
conflict with the value in DID1 (DIDL == And (DID1, 0x0F0F)), set a meaningful
value to DID1 (new value equals Or(0x80000000, And (DID1, 0x0F0F))). Or else,
clear DID1.
And the same for DID2/DID3...

2. If DIDL is cleared, go to step 3.

3. use the values in DID1/DID2/DID3... to set the _DOD return package.

So if we want to set DIDL before invoking _DOD and make everything work, we
need to set the DIDL carefully, which means we should make clear the output
type of every ACPI video output device (DD01/DD02/...) and set the correct DIDL
value(not conflict with the value in DID1/DID2/...) in correct ORDER...

Or else, just leave the DIDL field uninitialized, at least before invoking
_DOD.

-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
acpi-bugzilla mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to