Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
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


  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