drm/xe: Signal out-syncs on VM binds if no operations
authorMatthew Brost <matthew.brost@intel.com>
Wed, 26 Jul 2023 16:41:43 +0000 (09:41 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:37:55 +0000 (11:37 -0500)
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>
drivers/gpu/drm/xe/xe_vm.c

index f3f6f01046a94c5ff6030431be0d25dd85556107..787008bf85e19417e262179914522a95b40c7c1a 100644 (file)
@@ -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]);