dma-buf/fence-array: Add fence deadline support
authorRob Clark <robdclark@chromium.org>
Fri, 3 Sep 2021 18:47:57 +0000 (11:47 -0700)
committerRob Clark <robdclark@chromium.org>
Sat, 25 Mar 2023 17:55:07 +0000 (10:55 -0700)
Propagate the deadline to all the fences in the array.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Christian König <christian.koenig@amd.com>
drivers/dma-buf/dma-fence-array.c

index 5c8a708..9b3ce89 100644 (file)
@@ -123,12 +123,23 @@ static void dma_fence_array_release(struct dma_fence *fence)
        dma_fence_free(fence);
 }
 
+static void dma_fence_array_set_deadline(struct dma_fence *fence,
+                                        ktime_t deadline)
+{
+       struct dma_fence_array *array = to_dma_fence_array(fence);
+       unsigned i;
+
+       for (i = 0; i < array->num_fences; ++i)
+               dma_fence_set_deadline(array->fences[i], deadline);
+}
+
 const struct dma_fence_ops dma_fence_array_ops = {
        .get_driver_name = dma_fence_array_get_driver_name,
        .get_timeline_name = dma_fence_array_get_timeline_name,
        .enable_signaling = dma_fence_array_enable_signaling,
        .signaled = dma_fence_array_signaled,
        .release = dma_fence_array_release,
+       .set_deadline = dma_fence_array_set_deadline,
 };
 EXPORT_SYMBOL(dma_fence_array_ops);