summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Brost <matthew.brost@intel.com>2023-07-26 19:41:43 +0300
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-21 19:37:55 +0300
commit70748acb7fb4c9bba5364de0d6fe0801f2addebb (patch)
treeacf402715b2da42c5e161671112f5e420cacdbfa
parent342206b7cc064b8b004474c0baab2c67ced646d0 (diff)
downloadlinux-70748acb7fb4c9bba5364de0d6fe0801f2addebb.tar.xz
drm/xe: Signal out-syncs on VM binds if no operations
If no operations are generated for VM binds the out-syncs must still be signaled. Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
-rw-r--r--drivers/gpu/drm/xe/xe_vm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index f3f6f01046a9..787008bf85e1 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -3378,6 +3378,8 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
unwind_ops:
vm_bind_ioctl_ops_unwind(vm, ops, args->num_binds);
free_syncs:
+ for (i = 0; err == -ENODATA && i < num_syncs; i++)
+ xe_sync_entry_signal(&syncs[i], NULL, dma_fence_get_stub());
while (num_syncs--)
xe_sync_entry_cleanup(&syncs[num_syncs]);