diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2015-08-20 07:54:17 +0300 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2015-08-28 05:40:35 +0300 |
commit | 1de68568d69ac518db076cc6118af91e930b5f90 (patch) | |
tree | 1da6741149cc84fc05c3ad42571df363a035bacf /drivers/gpu/drm/nouveau/nvkm/subdev/mmu/nv04.c | |
parent | 524bdbf2025d44cdea672511d21012a52b427374 (diff) | |
download | linux-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.c | 4 |
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; |