From: Ben Skeggs Date: Sun, 16 Oct 2011 22:56:09 +0000 (+1000) Subject: drm/nv50/disp: wait for encoder disconnect to complete before link training X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=9976f15c27d573479d1cc79c81c2c2fc7ea93eb2;p=deliverable%2Flinux.git drm/nv50/disp: wait for encoder disconnect to complete before link training Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/nv50_sor.c b/drivers/gpu/drm/nouveau/nv50_sor.c index 3fab98a2f959..48c09f5cd4fb 100644 --- a/drivers/gpu/drm/nouveau/nv50_sor.c +++ b/drivers/gpu/drm/nouveau/nv50_sor.c @@ -174,7 +174,12 @@ nv50_sor_mode_fixup(struct drm_encoder *encoder, struct drm_display_mode *mode, static void nv50_sor_prepare(struct drm_encoder *encoder) { + struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); nv50_sor_disconnect(encoder); + if (nv_encoder->dcb->type == OUTPUT_DP) { + /* avoid race between link training and supervisor intr */ + nv50_display_sync(encoder->dev); + } } static void