]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dma-buf: use inline lock for the dma-fence-chain
authorChristian König <christian.koenig@amd.com>
Thu, 9 Oct 2025 14:32:33 +0000 (16:32 +0200)
committerChristian König <christian.koenig@amd.com>
Mon, 23 Feb 2026 15:14:21 +0000 (16:14 +0100)
Using the inline lock is now the recommended way for dma_fence
implementations.

So use this approach for the framework's internal fences as well.

Also saves about 4 bytes for the external spinlock.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Reviewed-by: Philipp Stanner <phasta@kernel.org>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://lore.kernel.org/r/20260219160822.1529-9-christian.koenig@amd.com
drivers/dma-buf/dma-fence-chain.c
include/linux/dma-fence-chain.h

index a8a90acf4f34d5546826db9180e397176d4da426..a707792b6025a52642a86bfb5d350d5ac8b76e5d 100644 (file)
@@ -245,7 +245,6 @@ void dma_fence_chain_init(struct dma_fence_chain *chain,
        struct dma_fence_chain *prev_chain = to_dma_fence_chain(prev);
        uint64_t context;
 
-       spin_lock_init(&chain->lock);
        rcu_assign_pointer(chain->prev, prev);
        chain->fence = fence;
        chain->prev_seqno = 0;
@@ -261,7 +260,7 @@ void dma_fence_chain_init(struct dma_fence_chain *chain,
                        seqno = max(prev->seqno, seqno);
        }
 
-       dma_fence_init64(&chain->base, &dma_fence_chain_ops, &chain->lock,
+       dma_fence_init64(&chain->base, &dma_fence_chain_ops, NULL,
                         context, seqno);
 
        /*
index 5cd3ba53b4a16631d0ff5857ca0b502686604e4a..df3beadf151573ec9b5ae423f90d93267f765add 100644 (file)
@@ -46,7 +46,6 @@ struct dma_fence_chain {
                 */
                struct irq_work work;
        };
-       spinlock_t lock;
 };