Commit 786119ff authored by Rob Clark's avatar Rob Clark
Browse files

dma-buf/fence-chain: Add fence deadline support



Propagate the deadline to all the fences in the chain.

v2: Use dma_fence_chain_contained [Tvrtko]

Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
parent 691fdba3
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -206,6 +206,17 @@ static void dma_fence_chain_release(struct dma_fence *fence)
	dma_fence_free(fence);
}


static void dma_fence_chain_set_deadline(struct dma_fence *fence,
					 ktime_t deadline)
{
	dma_fence_chain_for_each(fence, fence) {
		struct dma_fence *f = dma_fence_chain_contained(fence);

		dma_fence_set_deadline(f, deadline);
	}
}

const struct dma_fence_ops dma_fence_chain_ops = {
	.use_64bit_seqno = true,
	.get_driver_name = dma_fence_chain_get_driver_name,
@@ -213,6 +224,7 @@ const struct dma_fence_ops dma_fence_chain_ops = {
	.enable_signaling = dma_fence_chain_enable_signaling,
	.signaled = dma_fence_chain_signaled,
	.release = dma_fence_chain_release,
	.set_deadline = dma_fence_chain_set_deadline,
};
EXPORT_SYMBOL(dma_fence_chain_ops);