diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2010-03-25 16:01:04 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2010-03-28 12:24:58 +1000 |
commit | f1136509eb10b8a97b4fc6ae23ac6f1c5edaa851 (patch) | |
tree | 33d541ee3c38d29d2277f553292781b1ca968980 | |
parent | 575dd6e92fd12fd4edd6381daf8606b698a3e0b6 (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.c | 10 |
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; } |