drm/nv50-/kms: remove unnecessary wait-for-completion points
authorBen Skeggs <bskeggs@redhat.com>
Wed, 20 Feb 2013 04:34:18 +0000 (14:34 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Wed, 20 Feb 2013 06:01:03 +0000 (16:01 +1000)
DP link training is now handled as part of the supervisor processing,
and can no longer race with it.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nv50_display.c

index 2c00a5f..5c56575 100644 (file)
@@ -1739,14 +1739,6 @@ nv50_sor_disconnect(struct drm_encoder *encoder)
 }
 
 static void
-nv50_sor_prepare(struct drm_encoder *encoder)
-{
-       nv50_sor_disconnect(encoder);
-       if (nouveau_encoder(encoder)->dcb->type == DCB_OUTPUT_DP)
-               evo_sync(encoder->dev);
-}
-
-static void
 nv50_sor_commit(struct drm_encoder *encoder)
 {
 }
@@ -1883,7 +1875,7 @@ nv50_sor_destroy(struct drm_encoder *encoder)
 static const struct drm_encoder_helper_funcs nv50_sor_hfunc = {
        .dpms = nv50_sor_dpms,
        .mode_fixup = nv50_sor_mode_fixup,
-       .prepare = nv50_sor_prepare,
+       .prepare = nv50_sor_disconnect,
        .commit = nv50_sor_commit,
        .mode_set = nv50_sor_mode_set,
        .disable = nv50_sor_disconnect,
@@ -1946,7 +1938,7 @@ nv50_display_init(struct drm_device *dev)
                evo_mthd(push, 0x0088, 1);
                evo_data(push, NvEvoSync);
                evo_kick(push, nv50_mast(dev));
-               return evo_sync(dev);
+               return 0;
        }
 
        return -EBUSY;