summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Courbot <acourbot@nvidia.com>2015-11-13 15:16:18 +0900
committerAlexandre Courbot <acourbot@nvidia.com>2016-01-15 14:32:53 +0900
commit0c57c34d9b2bacc3da52a43b144aea3326df52b9 (patch)
tree24f557365c3f4cbcd089226c8c45c380cb163a6a
parentd40ac33a4310c36fbbd062f162490dce1b60ffb1 (diff)
downloadnouveau-0c57c34d9b2bacc3da52a43b144aea3326df52b9.tar.gz
WIP flush mmu when needed (?)
See https://chromium-review.googlesource.com/#/c/305610/3
-rw-r--r--drm/nouveau/nvkm/subdev/mmu/base.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drm/nouveau/nvkm/subdev/mmu/base.c b/drm/nouveau/nvkm/subdev/mmu/base.c
index e04a2296e..21f7df4f8 100644
--- a/drm/nouveau/nvkm/subdev/mmu/base.c
+++ b/drm/nouveau/nvkm/subdev/mmu/base.c
@@ -240,6 +240,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);
}
}
@@ -266,6 +268,8 @@ nvkm_vm_map_pgt(struct nvkm_vm *vm, u32 pde, u32 type)
mmu->func->map_pgt(vpgd->obj, pde, vpgt->mem);
}
+ mmu->func->flush(vm);
+
vpgt->refcount[big]++;
return 0;
}