aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma-buf/dma-fence-chain.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2022-01-20 11:42:40 +0100
committerChristian König <christian.koenig@amd.com>2022-02-08 09:25:16 +0100
commit18f5fad275efef015226ee4f90eae34d8f44aa5e (patch)
treec8ed7d50c0814c29f1c3abb82054b92a4bf3bcf7 /drivers/dma-buf/dma-fence-chain.c
parentdma-buf: warn about containers in dma_resv object (diff)
downloadlinux-18f5fad275efef015226ee4f90eae34d8f44aa5e.tar.xz
linux-18f5fad275efef015226ee4f90eae34d8f44aa5e.zip
dma-buf: add dma_fence_chain_contained helper
It's a reoccurring pattern that we need to extract the fence from a dma_fence_chain object. Add a helper for this. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220204100429.2049-6-christian.koenig@amd.com
Diffstat (limited to 'drivers/dma-buf/dma-fence-chain.c')
-rw-r--r--drivers/dma-buf/dma-fence-chain.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/dma-buf/dma-fence-chain.c b/drivers/dma-buf/dma-fence-chain.c
index 084c6927b735..06f8ef97c6e8 100644
--- a/drivers/dma-buf/dma-fence-chain.c
+++ b/drivers/dma-buf/dma-fence-chain.c
@@ -148,8 +148,7 @@ static bool dma_fence_chain_enable_signaling(struct dma_fence *fence)
dma_fence_get(&head->base);
dma_fence_chain_for_each(fence, &head->base) {
- struct dma_fence_chain *chain = to_dma_fence_chain(fence);
- struct dma_fence *f = chain ? chain->fence : fence;
+ struct dma_fence *f = dma_fence_chain_contained(fence);
dma_fence_get(f);
if (!dma_fence_add_callback(f, &head->cb, dma_fence_chain_cb)) {
@@ -165,8 +164,7 @@ static bool dma_fence_chain_enable_signaling(struct dma_fence *fence)
static bool dma_fence_chain_signaled(struct dma_fence *fence)
{
dma_fence_chain_for_each(fence, fence) {
- struct dma_fence_chain *chain = to_dma_fence_chain(fence);
- struct dma_fence *f = chain ? chain->fence : fence;
+ struct dma_fence *f = dma_fence_chain_contained(fence);
if (!dma_fence_is_signaled(f)) {
dma_fence_put(fence);