summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2015-08-20 07:54:17 +0300
committerBen Skeggs <bskeggs@redhat.com>2015-08-28 05:40:35 +0300
commit1de68568d69ac518db076cc6118af91e930b5f90 (patch)
tree1da6741149cc84fc05c3ad42571df363a035bacf /drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.c
parent524bdbf2025d44cdea672511d21012a52b427374 (diff)
downloadlinux-1de68568d69ac518db076cc6118af91e930b5f90.tar.xz
drm/nouveau/mmu: protect each vm with its own mutex
An upcoming commit requires being able to modify the PRAMIN BAR page tables while already holding the MMU subdev mutex. To solve this issue, each VM has been given its own mutex. As a nice side-effect, this also allows separate VMs to be updated concurrently. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.c
index 57b13d2a348c..b30a865a4071 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.c
@@ -74,7 +74,7 @@ nv04_vm_flush(struct nvkm_vm *vm)
int
nv04_vm_create(struct nvkm_mmu *mmu, u64 offset, u64 length, u64 mmstart,
- struct nvkm_vm **pvm)
+ struct lock_class_key *key, struct nvkm_vm **pvm)
{
return -EINVAL;
}
@@ -108,7 +108,7 @@ nv04_mmu_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
mmu->base.unmap = nv04_vm_unmap;
mmu->base.flush = nv04_vm_flush;
- ret = nvkm_vm_create(&mmu->base, 0, NV04_PDMA_SIZE, 0, 4096,
+ ret = nvkm_vm_create(&mmu->base, 0, NV04_PDMA_SIZE, 0, 4096, NULL,
&mmu->vm);
if (ret)
return ret;