On Thu, Apr 02, 2020 at 01:39:25PM +0200, Lukas Wunner wrote: > First of all, there's DPCD byte 3 bit 6 (NO_AUX_HANDSHAKE_LINK_TRAINING) > which is documented as follows: > > Does not require AUX CH handshake when the link configuration is > already known. [...] The known-good drive current and pre-emphasis > level (or those used in the last "full" link training with AUX CH > handshake) must be used when the link training is performed without > AUX CH handshake. > > That bit is set on the MacBook Pros in question. > > So I think what we should be doing here is that the DRM driver which > happens to be muxed to the panel on boot performs link training and > informs vga_switcheroo of the drive current, pre-emph level, etc. > The other DRM driver is notified when that information is available > and uses it to set up its eDP output, skipping an actual AUX CH > handshake. Actually I now remember that I already prepared for this by adding a vga_switcheroo handler capability: * @VGA_SWITCHEROO_NEEDS_EDP_CONFIG: whether the handler is unable to switch * the AUX channel separately. This signals to clients that the active * GPU needs to train the link and communicate the link parameters to the * inactive GPU (mediated by vga_switcheroo). The inactive GPU may then * skip the AUX handshake and set up its output with these pre-calibrated * values (DisplayPort specification v1.1a, section 2.5.3.3) And the referenced DP spec section says: For a closed, embedded connection, the DisplayPort transmitter and receiver may be set to pre-calibrated parameters without going through the full link training sequence. In this mode, the DisplayPort transmitter may start a normal operation following the transmission of the Clock Recovery Pattern with pre-calibrated drive current and pre-emphasis level, as shown with a dotted arrow in Figure 2-36. Thanks, Lukas _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel