Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 293727
b: refs/heads/master
c: 668b6c0
h: refs/heads/master
i:
  293725: feac130
  293723: 6d30a47
  293719: aa527f4
  293711: 025d5e8
  293695: 1ba629e
v: v3
  • Loading branch information
Ben Skeggs committed Mar 13, 2012
1 parent a4a3b99 commit 98b9991
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 41 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f3298532f71f163877b9003009d6e1eefe988258
refs/heads/master: 668b6c097dbaf190f5d3974798fef37aee025385
81 changes: 41 additions & 40 deletions trunk/drivers/gpu/drm/nouveau/nouveau_state.c
Original file line number Diff line number Diff line change
Expand Up @@ -592,16 +592,34 @@ nouveau_card_init(struct drm_device *dev)
nv_mask(dev, 0x00088080, 0x00000800, 0x00000000);
}

nouveau_pm_init(dev);
/* PMC */
ret = engine->mc.init(dev);
if (ret)
goto out_bios;

/* PTIMER */
ret = engine->timer.init(dev);
if (ret)
goto out_mc;

/* PFB */
ret = engine->fb.init(dev);
if (ret)
goto out_timer;

ret = engine->vram.init(dev);
if (ret)
goto out_bios;
goto out_fb;

ret = nouveau_gpuobj_init(dev);
/* PGPIO */
ret = nouveau_gpio_create(dev);
if (ret)
goto out_vram;

ret = nouveau_gpuobj_init(dev);
if (ret)
goto out_gpio;

ret = engine->instmem.init(dev);
if (ret)
goto out_gpuobj;
Expand All @@ -614,25 +632,7 @@ nouveau_card_init(struct drm_device *dev)
if (ret)
goto out_ttmvram;

/* PMC */
ret = engine->mc.init(dev);
if (ret)
goto out_gart;

/* PGPIO */
ret = nouveau_gpio_create(dev);
if (ret)
goto out_mc;

/* PTIMER */
ret = engine->timer.init(dev);
if (ret)
goto out_gpio;

/* PFB */
ret = engine->fb.init(dev);
if (ret)
goto out_timer;
nouveau_pm_init(dev);

if (!dev_priv->noaccel) {
switch (dev_priv->card_type) {
Expand Down Expand Up @@ -783,26 +783,25 @@ nouveau_card_init(struct drm_device *dev)
dev_priv->eng[e]->destroy(dev,e );
}
}

engine->fb.takedown(dev);
out_timer:
engine->timer.takedown(dev);
out_gpio:
nouveau_gpio_destroy(dev);
out_mc:
engine->mc.takedown(dev);
out_gart:
nouveau_pm_fini(dev);
nouveau_mem_gart_fini(dev);
out_ttmvram:
nouveau_mem_vram_fini(dev);
out_instmem:
engine->instmem.takedown(dev);
out_gpuobj:
nouveau_gpuobj_takedown(dev);
out_gpio:
nouveau_gpio_destroy(dev);
out_vram:
engine->vram.takedown(dev);
out_fb:
engine->fb.takedown(dev);
out_timer:
engine->timer.takedown(dev);
out_mc:
engine->mc.takedown(dev);
out_bios:
nouveau_pm_fini(dev);
nouveau_bios_takedown(dev);
out_display_early:
engine->display.late_takedown(dev);
Expand Down Expand Up @@ -839,11 +838,6 @@ static void nouveau_card_takedown(struct drm_device *dev)
}
}
}
engine->fb.takedown(dev);
engine->timer.takedown(dev);
nouveau_gpio_destroy(dev);
engine->mc.takedown(dev);
engine->display.late_takedown(dev);

if (dev_priv->vga_ram) {
nouveau_bo_unpin(dev_priv->vga_ram);
Expand All @@ -859,12 +853,19 @@ static void nouveau_card_takedown(struct drm_device *dev)

engine->instmem.takedown(dev);
nouveau_gpuobj_takedown(dev);
engine->vram.takedown(dev);

nouveau_irq_fini(dev);

nouveau_pm_fini(dev);

nouveau_gpio_destroy(dev);
engine->vram.takedown(dev);
engine->fb.takedown(dev);
engine->timer.takedown(dev);
engine->mc.takedown(dev);

nouveau_bios_takedown(dev);
engine->display.late_takedown(dev);

nouveau_irq_fini(dev);

vga_client_register(dev->pdev, NULL, NULL, NULL);
}
Expand Down

0 comments on commit 98b9991

Please sign in to comment.