mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-25 12:09:17 -04:00
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>
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user