diff options
| author | Boris Brezillon <boris.brezillon@collabora.com> | 2026-04-01 15:48:49 +0200 |
|---|---|---|
| committer | Boris Brezillon <boris.brezillon@collabora.com> | 2026-04-03 13:23:28 +0200 |
| commit | 2b207c47c9cfcdfbaff1be61d09c71b1edc3f0ce (patch) | |
| tree | a68dae2458e96e4e05e5900a0fc2d597cc9f8c27 /drivers/gpu | |
| parent | f36adaaf3d0cd8423086ad2ee332970bab0dacd3 (diff) | |
drm/panthor: Don't call drm_gpuvm_bo_extobj_add() if the object is private
drm_gpuvm_bo_extobj_add() is a NOP if the object is private, but it
forces us to take/release the VM resv lock, so let's do that only when
we know the object can be shared.
v3:
- New commit
v4:
- Collect R-bs
v5:
- No changes
v6:
- No changes
v7:
- No changes
Reviewed-by: Steven Price <steven.price@arm.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patch.msgid.link/20260401134854.2275433-6-boris.brezillon@collabora.com
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/panthor/panthor_mmu.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c index ab67286e3a6e..ac11c8c6a863 100644 --- a/drivers/gpu/drm/panthor/panthor_mmu.c +++ b/drivers/gpu/drm/panthor/panthor_mmu.c @@ -1278,9 +1278,11 @@ static int panthor_vm_prepare_map_op_ctx(struct panthor_vm_op_ctx *op_ctx, } /* Insert BO into the extobj list last, when we know nothing can fail. */ - dma_resv_lock(panthor_vm_resv(vm), NULL); - drm_gpuvm_bo_extobj_add(op_ctx->map.vm_bo); - dma_resv_unlock(panthor_vm_resv(vm)); + if (bo->base.base.resv != panthor_vm_resv(vm)) { + dma_resv_lock(panthor_vm_resv(vm), NULL); + drm_gpuvm_bo_extobj_add(op_ctx->map.vm_bo); + dma_resv_unlock(panthor_vm_resv(vm)); + } return 0; |
