[PATCH v2 2/3] media: use dmaengine_desc_set_callback()
Frank.Li at oss.nxp.com
Frank.Li at oss.nxp.com
Mon Nov 2 11:46:49 PST 2026
From: Frank Li <Frank.Li at nxp.com>
Replace open-coded assignments to callback and callback_param fields
of struct dma_async_tx_descriptor with calls to the
dmaengine_desc_set_callback() helper across media drivers.
No functional change intended. Prepare to make struct
dma_async_tx_descriptor private to the DMA engine.
Signed-off-by: Frank Li <Frank.Li at nxp.com>
---
drivers/media/pci/mgb4/mgb4_dma.c | 3 +--
drivers/media/platform/intel/pxa_camera.c | 10 ++++++----
drivers/media/platform/m2m-deinterlace.c | 3 +--
drivers/media/platform/renesas/rcar_drif.c | 3 +--
drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c | 6 ++----
drivers/media/platform/ti/omap/omap_vout_vrfb.c | 3 +--
drivers/media/platform/ti/omap3isp/isphist.c | 3 +--
drivers/media/platform/xilinx/xilinx-dma.c | 3 +--
8 files changed, 14 insertions(+), 20 deletions(-)
diff --git a/drivers/media/pci/mgb4/mgb4_dma.c b/drivers/media/pci/mgb4/mgb4_dma.c
index cae888e6504b0..c9a15c625be65 100644
--- a/drivers/media/pci/mgb4/mgb4_dma.c
+++ b/drivers/media/pci/mgb4/mgb4_dma.c
@@ -55,8 +55,7 @@ int mgb4_dma_transfer(struct mgb4_dev *mgbdev, u32 channel, bool write,
return -EIO;
}
- tx->callback = chan_irq;
- tx->callback_param = chan;
+ dmaengine_desc_set_callback(tx, chan_irq, NULL, chan);
ret = dma_submit_error(dmaengine_submit(tx));
if (ret) {
diff --git a/drivers/media/platform/intel/pxa_camera.c b/drivers/media/platform/intel/pxa_camera.c
index 9e1fdd963b559..c9d57e4245181 100644
--- a/drivers/media/platform/intel/pxa_camera.c
+++ b/drivers/media/platform/intel/pxa_camera.c
@@ -832,16 +832,18 @@ static int pxa_init_dma_channel(struct pxa_camera_dev *pcdev,
goto fail;
}
- tx->callback_param = pcdev;
switch (channel) {
case 0:
- tx->callback = pxa_camera_dma_irq_y;
+ dmaengine_desc_set_callback(tx, pxa_camera_dma_irq_y, NULL,
+ pcdev);
break;
case 1:
- tx->callback = pxa_camera_dma_irq_u;
+ dmaengine_desc_set_callback(tx, pxa_camera_dma_irq_u, NULL,
+ pcdev);
break;
case 2:
- tx->callback = pxa_camera_dma_irq_v;
+ dmaengine_desc_set_callback(tx, pxa_camera_dma_irq_v, NULL,
+ pcdev);
break;
}
diff --git a/drivers/media/platform/m2m-deinterlace.c b/drivers/media/platform/m2m-deinterlace.c
index 6b07018614894..142b69eab47fe 100644
--- a/drivers/media/platform/m2m-deinterlace.c
+++ b/drivers/media/platform/m2m-deinterlace.c
@@ -336,8 +336,7 @@ static void deinterlace_issue_dma(struct deinterlace_ctx *ctx, int op,
}
if (do_callback) {
- tx->callback = dma_callback;
- tx->callback_param = ctx;
+ dmaengine_desc_set_callback(tx, dma_callback, NULL, ctx);
}
ctx->cookie = dmaengine_submit(tx);
diff --git a/drivers/media/platform/renesas/rcar_drif.c b/drivers/media/platform/renesas/rcar_drif.c
index bd67e8e16f537..1e8cf71b52cae 100644
--- a/drivers/media/platform/renesas/rcar_drif.c
+++ b/drivers/media/platform/renesas/rcar_drif.c
@@ -610,8 +610,7 @@ static int rcar_drif_qbuf(struct rcar_drif *ch)
}
/* Submit descriptor */
- rxd->callback = rcar_drif_dma_complete;
- rxd->callback_param = ch;
+ dmaengine_desc_set_callback(rxd, rcar_drif_dma_complete, NULL, ch);
cookie = dmaengine_submit(rxd);
if (dma_submit_error(cookie)) {
rdrif_err(sdr, "ch%u: dma submit failed\n", ch->num);
diff --git a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
index 022ea3d616c9e..998423fa2f330 100644
--- a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
+++ b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
@@ -692,8 +692,7 @@ static int ti_csi2rx_drain_dma(struct ti_csi2rx_ctx *ctx)
goto out;
}
- desc->callback = ti_csi2rx_drain_callback;
- desc->callback_param = ctx;
+ dmaengine_desc_set_callback(desc, ti_csi2rx_drain_callback, NULL, ctx);
cookie = dmaengine_submit(desc);
ret = dma_submit_error(cookie);
@@ -782,8 +781,7 @@ static int ti_csi2rx_start_dma(struct ti_csi2rx_ctx *ctx,
if (!desc)
return -EIO;
- desc->callback = ti_csi2rx_dma_callback;
- desc->callback_param = buf;
+ dmaengine_desc_set_callback(desc, ti_csi2rx_dma_callback, NULL, buf);
cookie = dmaengine_submit(desc);
ret = dma_submit_error(cookie);
diff --git a/drivers/media/platform/ti/omap/omap_vout_vrfb.c b/drivers/media/platform/ti/omap/omap_vout_vrfb.c
index 0cfa0169875f0..006a4ae45a232 100644
--- a/drivers/media/platform/ti/omap/omap_vout_vrfb.c
+++ b/drivers/media/platform/ti/omap/omap_vout_vrfb.c
@@ -273,8 +273,7 @@ int omap_vout_prepare_vrfb(struct omap_vout_device *vout,
return -EINVAL;
}
- tx->callback = omap_vout_vrfb_dma_tx_callback;
- tx->callback_param = &vout->vrfb_dma_tx;
+ dmaengine_desc_set_callback(tx, omap_vout_vrfb_dma_tx_callback, NULL, &vout->vrfb_dma_tx);
cookie = dmaengine_submit(tx);
if (dma_submit_error(cookie)) {
diff --git a/drivers/media/platform/ti/omap3isp/isphist.c b/drivers/media/platform/ti/omap3isp/isphist.c
index dc02f240ee89a..281bd0e3748e9 100644
--- a/drivers/media/platform/ti/omap3isp/isphist.c
+++ b/drivers/media/platform/ti/omap3isp/isphist.c
@@ -209,8 +209,7 @@ static int hist_buf_dma(struct ispstat *hist)
goto error;
}
- tx->callback = hist_dma_cb;
- tx->callback_param = hist;
+ dmaengine_desc_set_callback(tx, hist_dma_cb, NULL, hist);
cookie = dmaengine_submit(tx);
if (dma_submit_error(cookie)) {
dev_dbg(hist->isp->dev, "hist: DMA submission failed\n");
diff --git a/drivers/media/platform/xilinx/xilinx-dma.c b/drivers/media/platform/xilinx/xilinx-dma.c
index fcfe0883aba5f..ece2116639fc0 100644
--- a/drivers/media/platform/xilinx/xilinx-dma.c
+++ b/drivers/media/platform/xilinx/xilinx-dma.c
@@ -358,8 +358,7 @@ static void xvip_dma_buffer_queue(struct vb2_buffer *vb)
vb2_buffer_done(&buf->buf.vb2_buf, VB2_BUF_STATE_ERROR);
return;
}
- desc->callback = xvip_dma_complete;
- desc->callback_param = buf;
+ dmaengine_desc_set_callback(desc, xvip_dma_complete, NULL, buf);
spin_lock_irq(&dma->queued_lock);
list_add_tail(&buf->queue, &dma->queued_bufs);
--
2.43.0
More information about the linux-arm-kernel
mailing list