On Fri, Aug 03, 2012 at 05:14:16PM +0100, Matthew Garrett wrote:
On Fri, Aug 03, 2012 at 11:02:19AM -0500, Seth Forshee wrote:
Some Apple hybrid graphics machines do not have the LVDS panel connected to the integrated GPU at boot and also do not supply a VBT. The LVDS connector is not registered as a result, making it impossible to support graphics switching.
This patch changes intel_lvds_init() to register the connector even if we can't find any panel modes. This makes it necessary to always check intel_lvds->fixed_mode before use, as it could now be NULL.
This one kind of sucks. I think adding a quirk for this situation would be justifiable, rather than doing it for all devices.
This is one of the things I wasn't so sure about. There are various checks in intel_lvds_init() that can cause it to bail out before we try to get the EDID, and I don't fully understand all of them. If non-laptop machines are expected to bail out before the EDID check then the approach I've taken seems reasonable. Otherwise adding a quirk probably is a good idea.
Seth