aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_mem.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2011-02-09 20:22:12 -0500
committerBen Skeggs <bskeggs@redhat.com>2011-02-24 15:45:49 -0500
commit3425df486ca247d9e8487be06a6cd0763ba38180 (patch)
tree2ab19a81f85693d0630fd79133ad1149d3e26444 /drivers/gpu/drm/nouveau/nouveau_mem.c
parenta4154bbffdc9f6a38556ea9e82aef4975018ba23 (diff)
drm/nv50-nvc0: unmap buffers from the vm when they're evicted
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_mem.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_mem.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_mem.c b/drivers/gpu/drm/nouveau/nouveau_mem.c
index 16eee50a0572..b90383fd18fd 100644
--- a/drivers/gpu/drm/nouveau/nouveau_mem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_mem.c
@@ -710,8 +710,14 @@ nouveau_vram_manager_del(struct ttm_mem_type_manager *man,
710{ 710{
711 struct drm_nouveau_private *dev_priv = nouveau_bdev(man->bdev); 711 struct drm_nouveau_private *dev_priv = nouveau_bdev(man->bdev);
712 struct nouveau_vram_engine *vram = &dev_priv->engine.vram; 712 struct nouveau_vram_engine *vram = &dev_priv->engine.vram;
713 struct nouveau_vram *node = mem->mm_node;
713 struct drm_device *dev = dev_priv->dev; 714 struct drm_device *dev = dev_priv->dev;
714 715
716 if (node->tmp_vma.node) {
717 nouveau_vm_unmap(&node->tmp_vma);
718 nouveau_vm_put(&node->tmp_vma);
719 }
720
715 vram->put(dev, (struct nouveau_vram **)&mem->mm_node); 721 vram->put(dev, (struct nouveau_vram **)&mem->mm_node);
716} 722}
717 723