Bläddra i källkod

drm/nouveau/mmu: flush tlbs before deleting page tables

Even though we've zeroed the PDE, the GPU may have cached the PD, so we
need to flush when deleting them.

Noticed while working on replacement MMU code, but a backport might be a
good idea, so let's fix it in the current code too.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Cc: stable@vger.kernel.org
Ben Skeggs 8 år sedan
förälder
incheckning
77913bbcb4
1 ändrade filer med 2 tillägg och 0 borttagningar
  1. 2 0
      drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c

+ 2 - 0
drivers/gpu/drm/nouveau/nvkm/subdev/mmu/base.c

@@ -241,6 +241,8 @@ nvkm_vm_unmap_pgt(struct nvkm_vm *vm, int big, u32 fpde, u32 lpde)
 			mmu->func->map_pgt(vpgd->obj, pde, vpgt->mem);
 		}
 
+		mmu->func->flush(vm);
+
 		nvkm_memory_del(&pgt);
 	}
 }