diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-10-17 08:56:09 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-12-21 19:01:20 +1000 |
commit | 9976f15c27d573479d1cc79c81c2c2fc7ea93eb2 (patch) | |
tree | 57fca7491d7713244c4eac03125d5bb54e976089 /drivers/gpu/drm/nouveau | |
parent | 7ae494e80c8bbad71a968a816d06cf83da4e9b93 (diff) | |
download | blackbird-op-linux-9976f15c27d573479d1cc79c81c2c2fc7ea93eb2.tar.gz blackbird-op-linux-9976f15c27d573479d1cc79c81c2c2fc7ea93eb2.zip |
drm/nv50/disp: wait for encoder disconnect to complete before link training
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau')
-rw-r--r-- | drivers/gpu/drm/nouveau/nv50_sor.c | 5 |
1 files changed, 5 insertions, 0 deletions
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 |