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® 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
