diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-02-09 20:22:12 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-02-24 15:45:49 -0500 |
commit | 3425df486ca247d9e8487be06a6cd0763ba38180 (patch) | |
tree | 2ab19a81f85693d0630fd79133ad1149d3e26444 /drivers/gpu/drm/nouveau/nouveau_mem.c | |
parent | a4154bbffdc9f6a38556ea9e82aef4975018ba23 (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.c | 6 |
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 | ||