From: Dave Airlie <airlied at redhat.com> At the moment when eDP gets inherited at startup, the first atomic comment, turns off the CRTC then turns it back on. This for some reasons end in a black screen and no display. I've tried to investigate this and it might be link training, but it also might be a problem with starting the stream. For now just don't inherit eDP at all. Cc: stable at vger.kernel.org Signed-off-by: Dave Airlie <airlied at redhat.com> --- drivers/gpu/drm/nouveau/dispnv50/disp.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c index 12b1dba8e05d..72e7cad6ccff 100644 --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c @@ -2748,6 +2748,13 @@ nv50_display_read_hw_or_state(struct drm_device *dev, struct nv50_disp *disp, if (drm_WARN_ON(dev, !found_conn)) return; + /* + * Don't inherit eDP connections as it breaks the panel on + * a bunch of laptops. It seems link training related, + * but not inheriting just makes it work. + */ + if (nouveau_connector(conn)->type == DCB_CONNECTOR_eDP) + return; armh->state.encoder_mask = encoder_mask; armh->state.connector_mask = drm_connector_mask(conn); armh->state.active = true; -- 2.51.1