From 3a314f747ba5b4cca22a36603768c176d1761afd Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Wed, 1 Nov 2017 03:56:19 +1000 Subject: [PATCH] drm/nouveau: remove explicit unmaps If the VMA is being deleted, we don't need to explicity unmap first anymore. The MMU code will automatically merge the operations into a single page tree walk. Signed-off-by: Ben Skeggs --- drivers/gpu/drm/nouveau/nouveau_bo.c | 1 - drivers/gpu/drm/nouveau/nouveau_mem.c | 10 ++-------- drivers/gpu/drm/nouveau/nouveau_vmm.c | 4 +--- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c index d89f3e7..f454577 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.c +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -1414,7 +1414,6 @@ nouveau_ttm_io_mem_free(struct ttm_bo_device *bdev, struct ttm_mem_reg *reg) if (!mem->bar_vma.node) return; - nvkm_vm_unmap(&mem->bar_vma); nvkm_vm_put(&mem->bar_vma); } diff --git a/drivers/gpu/drm/nouveau/nouveau_mem.c b/drivers/gpu/drm/nouveau/nouveau_mem.c index 70fbe5e..17c6efb 100644 --- a/drivers/gpu/drm/nouveau/nouveau_mem.c +++ b/drivers/gpu/drm/nouveau/nouveau_mem.c @@ -36,14 +36,8 @@ nouveau_mem_map(struct nouveau_mem *mem, void nouveau_mem_fini(struct nouveau_mem *mem) { - if (mem->vma[1].node) { - nvkm_vm_unmap(&mem->vma[1]); - nvkm_vm_put(&mem->vma[1]); - } - if (mem->vma[0].node) { - nvkm_vm_unmap(&mem->vma[0]); - nvkm_vm_put(&mem->vma[0]); - } + nvkm_vm_put(&mem->vma[1]); + nvkm_vm_put(&mem->vma[0]); } int diff --git a/drivers/gpu/drm/nouveau/nouveau_vmm.c b/drivers/gpu/drm/nouveau/nouveau_vmm.c index 855d549..6dc14f9 100644 --- a/drivers/gpu/drm/nouveau/nouveau_vmm.c +++ b/drivers/gpu/drm/nouveau/nouveau_vmm.c @@ -61,10 +61,8 @@ nouveau_vma_del(struct nouveau_vma **pvma) { struct nouveau_vma *vma = *pvma; if (vma && --vma->refs <= 0) { - if (likely(vma->addr != ~0ULL)) { - nouveau_vma_unmap(vma); + if (likely(vma->addr != ~0ULL)) nvkm_vm_put(&vma->_vma); - } list_del(&vma->head); *pvma = NULL; kfree(*pvma); -- 2.7.4