From: Matthew Brost <matthew.brost@intel.com>
To: intel-xe@lists.freedesktop.org
Subject: [CI 7/8] dma-buf: Fix dma-fence-array signaling ordering
Date: Mon, 27 Oct 2025 14:42:51 -0700 [thread overview]
Message-ID: <20251027214252.2455093-8-matthew.brost@intel.com> (raw)
In-Reply-To: <20251027214252.2455093-1-matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
drivers/dma-buf/dma-fence-array.c | 6 +++---
include/linux/dma-fence-array.h | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/dma-buf/dma-fence-array.c b/drivers/dma-buf/dma-fence-array.c
index 6657d4b30af9..ca78da5f0244 100644
--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -42,7 +42,7 @@ static void dma_fence_array_clear_pending_error(struct dma_fence_array *array)
cmpxchg(&array->base.error, PENDING_ERROR, 0);
}
-static void irq_dma_fence_array_work(struct irq_work *wrk)
+static void dma_fence_array_work(struct work_struct *wrk)
{
struct dma_fence_array *array = container_of(wrk, typeof(*array), work);
@@ -62,7 +62,7 @@ static void dma_fence_array_cb_func(struct dma_fence *f,
dma_fence_array_set_pending_error(array, f->error);
if (atomic_dec_and_test(&array->num_pending))
- irq_work_queue(&array->work);
+ queue_work(system_ordered_wq, &array->work);
else
dma_fence_put(&array->base);
}
@@ -207,7 +207,7 @@ void dma_fence_array_init(struct dma_fence_array *array,
spin_lock_init(&array->lock);
dma_fence_init(&array->base, &dma_fence_array_ops, &array->lock,
context, seqno);
- init_irq_work(&array->work, irq_dma_fence_array_work);
+ INIT_WORK(&array->work, dma_fence_array_work);
atomic_set(&array->num_pending, signal_on_any ? 1 : num_fences);
array->fences = fences;
diff --git a/include/linux/dma-fence-array.h b/include/linux/dma-fence-array.h
index 079b3dec0a16..a20b754cec72 100644
--- a/include/linux/dma-fence-array.h
+++ b/include/linux/dma-fence-array.h
@@ -13,7 +13,7 @@
#define __LINUX_DMA_FENCE_ARRAY_H
#include <linux/dma-fence.h>
-#include <linux/irq_work.h>
+#include <linux/workqueue.h>
/**
* struct dma_fence_array_cb - callback helper for fence array
@@ -32,7 +32,7 @@ struct dma_fence_array_cb {
* @num_fences: number of fences in the array
* @num_pending: fences in the array still pending
* @fences: array of the fences
- * @work: internal irq_work function
+ * @work: internal work_struct
* @callbacks: array of callback helpers
*/
struct dma_fence_array {
@@ -43,7 +43,7 @@ struct dma_fence_array {
atomic_t num_pending;
struct dma_fence **fences;
- struct irq_work work;
+ struct work_struct work;
struct dma_fence_array_cb callbacks[] __counted_by(num_fences);
};
--
2.34.1
next prev parent reply other threads:[~2025-10-27 21:43 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-27 21:42 [CI 0/8] Fix dma-fence-array ordering Matthew Brost
2025-10-27 21:42 ` [CI 1/8] drm/xe: Add last fence attachment to TLB invalidation job queues Matthew Brost
2025-10-27 21:42 ` [CI 2/8] drm/xe: Decouple bind queue last fence from TLB invalidations Matthew Brost
2025-10-27 21:42 ` [CI 3/8] drm/xe: Do not wait on TLB invalidations in page fault binds Matthew Brost
2025-10-27 21:42 ` [CI 4/8] drm/xe: Don't allow in fences on zero batch exec or zero binds Matthew Brost
2025-10-27 21:42 ` [CI 5/8] drm/xe: Remove last fence dependecy check from binds Matthew Brost
2025-10-27 21:42 ` [CI 6/8] workqueue: Add ordered workqueue Matthew Brost
2025-10-27 21:42 ` Matthew Brost [this message]
2025-10-27 21:42 ` [CI 8/8] dma-buf: Fix dma-fence-chain signaling ordering Matthew Brost
2025-10-27 23:48 ` ✗ CI.checkpatch: warning for Fix dma-fence-array ordering Patchwork
2025-10-27 23:49 ` ✓ CI.KUnit: success " Patchwork
2025-10-28 0:05 ` ✗ CI.checksparse: warning " Patchwork
2025-10-28 0:32 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-10-28 8:06 ` ✗ Xe.CI.Full: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251027214252.2455093-8-matthew.brost@intel.com \
--to=matthew.brost@intel.com \
--cc=intel-xe@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox