So I'd really like to finish the _DSM support in nouveau so we can
actually switch the GPU over on the non-optimus systems.

There are two things left to do:

a) figure out what values to pass the DSM method to trigger the MUX,
It looks like method 0x5 is the one to trigger the mux switch but I've
no idea yet what values to pass it to trigger the mux switch.

b) figure out how to get the LVDS DDC lines and make nouveau find the
panel, at the moment it fails to find the panel when booted and intel
is in control.

looking at (a) I expect we could pass a bunch of values to the ACPI
method possibly using acpi_call to switch the mux and switch it back,

It looks like passing 0 will return the current toggle status, then
its a matter of working out which of the top bits are doing what,

>From reading one DSDT I can see,

if bit 31 set, then bit 30 is some sort of notify, then bits 25,26,27
are used to work out some values stored in a TOGF

otherwise bit 24 is used for something, then bits 12,13,14, and 3,2,1,
and it stores some values for CRT/LCD/TVout, which may again be

If someone with the hardware and can use acpi_call it would be nice to
try and map out some of these things, at least initially a value that
will turn the Intel LCD off and back on.

The DSDT I'm using at the moment is attached to bug 16403.


Mailing list:
Post to     :
Unsubscribe :
More help   :

Reply via email to