summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-03-25 16:01:04 +1000
committerBen Skeggs <bskeggs@redhat.com>2010-03-28 12:24:58 +1000
commitf1136509eb10b8a97b4fc6ae23ac6f1c5edaa851 (patch)
tree33d541ee3c38d29d2277f553292781b1ca968980
parent575dd6e92fd12fd4edd6381daf8606b698a3e0b6 (diff)
drm/nv50: move pdisp init earlier, and cleanup if it fails
Moving it earlier is to avoid some extra cleanup if it fails. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nv50_display.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index bd99986a1146..cc347d8348df 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -492,6 +492,12 @@ int nv50_display_create(struct drm_device *dev)
return ret;
}
+ ret = nv50_display_init(dev);
+ if (ret) {
+ nv50_evo_channel_del(&dev_priv->evo);
+ return ret;
+ }
+
/* Create CRTC objects */
for (i = 0; i < 2; i++)
nv50_crtc_create(dev, i);
@@ -528,10 +534,6 @@ int nv50_display_create(struct drm_device *dev)
nouveau_connector_create(dev, &dcb->connector.entry[i]);
}
- ret = nv50_display_init(dev);
- if (ret)
- return ret;
-
return 0;
}