]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dma-buf: use inline lock for the dma-fence-array
authorChristian König <christian.koenig@amd.com>
Thu, 9 Oct 2025 14:18:53 +0000 (16:18 +0200)
committerChristian König <christian.koenig@amd.com>
Mon, 23 Feb 2026 15:14:20 +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-8-christian.koenig@amd.com
drivers/dma-buf/dma-fence-array.c
include/linux/dma-fence-array.h

index 37e2c6179d77986cafafc2e0f074c1b25551ca83..cd970eceaefb1842c2e42e11f00b4e0525e73f76 100644 (file)
@@ -204,9 +204,8 @@ void dma_fence_array_init(struct dma_fence_array *array,
 
        array->num_fences = num_fences;
 
-       spin_lock_init(&array->lock);
-       dma_fence_init(&array->base, &dma_fence_array_ops, &array->lock,
-                      context, seqno);
+       dma_fence_init(&array->base, &dma_fence_array_ops, NULL, context,
+                      seqno);
        init_irq_work(&array->work, irq_dma_fence_array_work);
 
        atomic_set(&array->num_pending, signal_on_any ? 1 : num_fences);
index 079b3dec0a16beb1205fbafd715347063a001470..370b3d2bba371755a89b17ffed1ba4dabc1cfa39 100644 (file)
@@ -38,7 +38,6 @@ struct dma_fence_array_cb {
 struct dma_fence_array {
        struct dma_fence base;
 
-       spinlock_t lock;
        unsigned num_fences;
        atomic_t num_pending;
        struct dma_fence **fences;