From 9976f15c27d573479d1cc79c81c2c2fc7ea93eb2 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Mon, 17 Oct 2011 08:56:09 +1000 Subject: [PATCH] drm/nv50/disp: wait for encoder disconnect to complete before link training Signed-off-by: Ben Skeggs --- drivers/gpu/drm/nouveau/nv50_sor.c | 5 +++++ 1 file changed, 5 insertions(+) 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 -- 2.11.0