vga_switcheroo_lock_ddc(9) temporarily switch DDC lines to a given client


int vga_switcheroo_lock_ddc(struct pci_dev * pdev);



client pci device


Temporarily switch DDC lines to the client identified by pdev (but leave the outputs otherwise switched to where they are). This allows the inactive client to probe EDID. The DDC lines must afterwards be switched back by calling vga_switcheroo_unlock_ddc, even if this function returns an error.


Previous DDC owner on success or a negative int on error. Specifically, -ENODEV if no handler has registered or if the handler does not support switching the DDC lines. Also, a negative value returned by the handler is propagated back to the caller. The return value has merely an informational purpose for any caller which might be interested in it. It is acceptable to ignore the return value and simply rely on the result of the subsequent EDID probe, which will be NULL if DDC switching failed.


Jesse Barnes <[email protected]>
Intel Corporation,         

Initial version

Laurent Pinchart <[email protected]>
Ideas on board SPRL,         

Driver internals

Daniel Vetter <[email protected]>
Intel Corporation,         

Contributions all over the place

Lukas Wunner <[email protected]>

vga_switcheroo documentation