On Fri, Sep 07, 2012 at 10:35:04PM +0100, Dave Airlie wrote: > On Fri, Sep 7, 2012 at 4:22 PM, Seth Forshee <seth.forshee@xxxxxxxxxxxxx> wrote: > > Many hybrid graphics Apple laptops fail to set up LVDS on the secondary > > GPU due to missing or incorrect mode information for the panel at init > > time. The only way to get the LVDS mode on these machines is via the > > DDC, but this is muxed to the active GPU at boot. However, the graphics > > mux on these machines supports muxing the i2c idependently of the > > display, making it possible for the secondary graphics driver to read > > the EDID without a full display switch. > > > > In order to support this, these patches modify vga_switcheroo to allow > > muxing of the DDC idependently of the display. apple-gmux is updated to > > support this new functionality, and drm_get_edid() is modified to switch > > the DDC mux as needed. > > > > For this to work we also need to ensure that sufficient switcheroo > > suport is available before initializing the secondary GPU. This is done > > by adding any non-active GPUs that try to initialize before switcheroo > > is ready to a list and initializing these devices once switcheroo > > becomes ready. This behavior is restricted to Apple laptops to prevent > > causing problems on other machines. > > I hate this idea, no delaying stuff. We either need to have some sort > of enforced ordering or make some stuff only work built-in. > > But sticking things on a delayed list just in case seems wrong to me. I really don't like it either. My preferred solution would be to have i915 register the LVDS connector whenever we can reasonably expect that an LVDS panel might be present, then treat the panel as disconnected until we can get the mode information. I was headed down this path with the first patches I sent, but both Daniel and Matthew responded unfavorably to this approach. Otherwise I'm open to suggestions on how enforcing the ordering of the device initializations. Forcing apple-gmux to be built-in or making i915 depend on it might solve the problem, but I don't find either of these to be very desirable either. Thanks, Seth _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel