On Mon, Feb 08, 2016 at 10:10:00AM -0800, Darren Hart wrote: > On Mon, Jan 11, 2016 at 08:09:20PM +0100, Lukas Wunner wrote: > > Enable GPU switching on the pre-retina MacBook Pro (2008 - 2013), v5. > > > > The main obstacle on these machines is that the panel mode in VBIOS > > is bogus. Fortunately gmux can switch DDC independently from the > > display, thereby allowing the inactive GPU to probe the panel's EDID. > > > > In short, vga_switcheroo and apple-gmux are amended with hooks to > > switch DDC, DRM core is amended with a drm_get_edid_switcheroo() helper, > > and relevant drivers are amended to call that for LVDS outputs. > > > > The retina MacBook Pro (2012 - present) uses eDP and cannot switch > > AUX independently from the main link. The main obstacle there is link > > training, I'm currently working on this, it will be addressed in a > > future patch set. > > > > This series is also reviewable on GitHub: > > https://github.com/l1k/linux/commits/mbp_switcheroo_v5 > > > > Changes: > > > > * New patch [01/12]: vga_switcheroo handler flags > > Alex Deucher asked if this series might regress on non-Apple laptops. > > To address this concern, I let handlers declare their capabilities in > > a bitmask. DRM drivers call drm_get_edid_switcheroo() only if the > > handler has set the VGA_SWITCHEROO_CAN_SWITCH_DDC flag. > > Currently just one other flag is defined which is used on retinas. > > > > * Changed patch [02/12]: vga_switcheroo DDC locking > > Rename ddc_lock to mux_hw_lock, suggested by Daniel Vetter. > > > > * New patch [03/12]: track switch state of apple-gmux > > Fixes a bug in previous versions of this series which occurred if > > the system was suspended while DDC was temporarily switched: > > On resume DDC was switched to the wrong GPU. > > > > * New patches [09/12 - 12/12]: deferred probing > > Previously I used connector reprobing if the inactive GPU's driver > > loaded before gmux. I've ditched that in favor of deferred driver > > probing, which is much simpler. Thanks to Daniel Vetter for the > > suggestion. > > > > Caution: Patch [09/12] depends on a new acpi_dev_present() API which > > will land in 4.5 via Rafael J. Wysocki's tree. > > > > I would particularly be interested in feedback on the handler flags > > patch [01/12]. I'm not 100% happy with the number of characters > > required to query the flags (e.g.: if (vga_switcheroo_handler_flags() & > > VGA_SWITCHEROO_CAN_SWITCH_DDC)), but failed to come up with something > > shorter. Thierry Reding used a struct of bools instead of a bitmask > > for his recent drm_dp_link_caps patches. Maybe use that instead? > > http://lists.freedesktop.org/archives/dri-devel/2015-December/097025.html > > No objection from the platform-driver-x86 side. I can pull these separately once > the core is in, or these can be included with that core (preferred) with my > Reviewed-by for 1, 3, 4, and 9. > > Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> I pulled them all in through drm-misc, thanks. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx