From: Rosen Penev <rosenp@gmail.com>
To: dmaengine@vger.kernel.org
Cc: Vinod Koul <vkoul@kernel.org>, Frank Li <Frank.Li@kernel.org>,
linux-kernel@vger.kernel.org (open list)
Subject: [PATCH] dmaengine: fsl_raid: replace in_be32/out_be32 with ioread32be/iowrite32be
Date: Fri, 17 Jul 2026 20:31:22 -0700 [thread overview]
Message-ID: <20260718033122.2372985-1-rosenp@gmail.com> (raw)
Mechanical conversion of the ppc4xx-specific accessors to the generic
portable helpers.
As a result, enable COMPILE_TEST for extra compile coverage.
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/dma/Kconfig | 2 +-
drivers/dma/fsl_raid.c | 50 ++++++++++++++++++------------------------
2 files changed, 22 insertions(+), 30 deletions(-)
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
index cb92687294c3..dbdb35f6610a 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -242,7 +242,7 @@ config FSL_QDMA
config FSL_RAID
tristate "Freescale RAID engine Support"
- depends on FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH
+ depends on (FSL_SOC && !ASYNC_TX_ENABLE_CHANNEL_SWITCH) || COMPILE_TEST
select DMA_ENGINE
select DMA_ENGINE_RAID
help
diff --git a/drivers/dma/fsl_raid.c b/drivers/dma/fsl_raid.c
index 2d86f61105e5..e559c636bf55 100644
--- a/drivers/dma/fsl_raid.c
+++ b/drivers/dma/fsl_raid.c
@@ -114,7 +114,7 @@ static void fsl_re_issue_pending(struct dma_chan *chan)
spin_lock_irqsave(&re_chan->desc_lock, flags);
avail = FSL_RE_SLOT_AVAIL(
- in_be32(&re_chan->jrregs->inbring_slot_avail));
+ ioread32be(&re_chan->jrregs->inbring_slot_avail));
list_for_each_entry_safe(desc, _desc, &re_chan->submit_q, node) {
if (!avail)
@@ -127,7 +127,7 @@ static void fsl_re_issue_pending(struct dma_chan *chan)
re_chan->inb_count = (re_chan->inb_count + 1) &
FSL_RE_RING_SIZE_MASK;
- out_be32(&re_chan->jrregs->inbring_add_job, FSL_RE_ADD_JOB(1));
+ iowrite32be(FSL_RE_ADD_JOB(1), &re_chan->jrregs->inbring_add_job);
avail--;
}
spin_unlock_irqrestore(&re_chan->desc_lock, flags);
@@ -167,7 +167,7 @@ static void fsl_re_dequeue(struct tasklet_struct *t)
fsl_re_cleanup_descs(re_chan);
spin_lock_irqsave(&re_chan->desc_lock, flags);
- count = FSL_RE_SLOT_FULL(in_be32(&re_chan->jrregs->oubring_slot_full));
+ count = FSL_RE_SLOT_FULL(ioread32be(&re_chan->jrregs->oubring_slot_full));
while (count--) {
found = 0;
hwdesc = &re_chan->oub_ring_virt_addr[re_chan->oub_count];
@@ -192,8 +192,7 @@ static void fsl_re_dequeue(struct tasklet_struct *t)
oub_count = (re_chan->oub_count + 1) & FSL_RE_RING_SIZE_MASK;
re_chan->oub_count = oub_count;
- out_be32(&re_chan->jrregs->oubring_job_rmvd,
- FSL_RE_RMVD_JOB(1));
+ iowrite32be(FSL_RE_RMVD_JOB(1), &re_chan->jrregs->oubring_job_rmvd);
}
spin_unlock_irqrestore(&re_chan->desc_lock, flags);
}
@@ -206,7 +205,7 @@ static irqreturn_t fsl_re_isr(int irq, void *data)
re_chan = dev_get_drvdata((struct device *)data);
- irqstate = in_be32(&re_chan->jrregs->jr_interrupt_status);
+ irqstate = ioread32be(&re_chan->jrregs->jr_interrupt_status);
if (!irqstate)
return IRQ_NONE;
@@ -216,13 +215,13 @@ static irqreturn_t fsl_re_isr(int irq, void *data)
* need to do something more than just crashing
*/
if (irqstate & FSL_RE_ERROR) {
- status = in_be32(&re_chan->jrregs->jr_status);
+ status = ioread32be(&re_chan->jrregs->jr_status);
dev_err(re_chan->dev, "chan error irqstate: %x, status: %x\n",
irqstate, status);
}
/* Clear interrupt */
- out_be32(&re_chan->jrregs->jr_interrupt_status, FSL_RE_CLR_INTR);
+ iowrite32be(FSL_RE_CLR_INTR, &re_chan->jrregs->jr_interrupt_status);
tasklet_schedule(&re_chan->irqtask);
@@ -708,30 +707,23 @@ static int fsl_re_chan_probe(struct platform_device *ofdev,
}
/* Program the Inbound/Outbound ring base addresses and size */
- out_be32(&chan->jrregs->inbring_base_h,
- chan->inb_phys_addr & FSL_RE_ADDR_BIT_MASK);
- out_be32(&chan->jrregs->oubring_base_h,
- chan->oub_phys_addr & FSL_RE_ADDR_BIT_MASK);
- out_be32(&chan->jrregs->inbring_base_l,
- chan->inb_phys_addr >> FSL_RE_ADDR_BIT_SHIFT);
- out_be32(&chan->jrregs->oubring_base_l,
- chan->oub_phys_addr >> FSL_RE_ADDR_BIT_SHIFT);
- out_be32(&chan->jrregs->inbring_size,
- FSL_RE_RING_SIZE << FSL_RE_RING_SIZE_SHIFT);
- out_be32(&chan->jrregs->oubring_size,
- FSL_RE_RING_SIZE << FSL_RE_RING_SIZE_SHIFT);
+ iowrite32be(chan->inb_phys_addr & FSL_RE_ADDR_BIT_MASK, &chan->jrregs->inbring_base_h);
+ iowrite32be(chan->oub_phys_addr & FSL_RE_ADDR_BIT_MASK, &chan->jrregs->oubring_base_h);
+ iowrite32be(chan->inb_phys_addr >> FSL_RE_ADDR_BIT_SHIFT, &chan->jrregs->inbring_base_l);
+ iowrite32be(chan->oub_phys_addr >> FSL_RE_ADDR_BIT_SHIFT, &chan->jrregs->oubring_base_l);
+ iowrite32be(FSL_RE_RING_SIZE << FSL_RE_RING_SIZE_SHIFT, &chan->jrregs->inbring_size);
+ iowrite32be(FSL_RE_RING_SIZE << FSL_RE_RING_SIZE_SHIFT, &chan->jrregs->oubring_size);
/* Read LIODN value from u-boot */
- status = in_be32(&chan->jrregs->jr_config_1) & FSL_RE_REG_LIODN_MASK;
+ status = ioread32be(&chan->jrregs->jr_config_1) & FSL_RE_REG_LIODN_MASK;
/* Program the CFG reg */
- out_be32(&chan->jrregs->jr_config_1,
- FSL_RE_CFG1_CBSI | FSL_RE_CFG1_CBS0 | status);
+ iowrite32be(FSL_RE_CFG1_CBSI | FSL_RE_CFG1_CBS0 | status, &chan->jrregs->jr_config_1);
dev_set_drvdata(chandev, chan);
/* Enable RE/CHAN */
- out_be32(&chan->jrregs->jr_command, FSL_RE_ENABLE);
+ iowrite32be(FSL_RE_ENABLE, &chan->jrregs->jr_command);
return 0;
@@ -766,15 +758,15 @@ static int fsl_re_probe(struct platform_device *ofdev)
re_priv->base = re_regs;
/* Program the RE mode */
- out_be32(&re_regs->global_config, FSL_RE_NON_DPAA_MODE);
+ iowrite32be(FSL_RE_NON_DPAA_MODE, &re_regs->global_config);
/* Program Galois Field polynomial */
- out_be32(&re_regs->galois_field_config, FSL_RE_GFM_POLY);
+ iowrite32be(FSL_RE_GFM_POLY, &re_regs->galois_field_config);
dev_info(dev, "version %x, mode %x, gfp %x\n",
- in_be32(&re_regs->re_version_id),
- in_be32(&re_regs->global_config),
- in_be32(&re_regs->galois_field_config));
+ ioread32be(&re_regs->re_version_id),
+ ioread32be(&re_regs->global_config),
+ ioread32be(&re_regs->galois_field_config));
dma_dev = &re_priv->dma_dev;
dma_dev->dev = dev;
--
2.55.0
next reply other threads:[~2026-07-18 3:31 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-18 3:31 Rosen Penev [this message]
2026-07-18 3:46 ` [PATCH] dmaengine: fsl_raid: replace in_be32/out_be32 with ioread32be/iowrite32be sashiko-bot
2026-07-18 5:31 ` Rosen Penev
2026-07-18 14:18 ` Frank Li
2026-09-03 13:48 ` Vinod Koul
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=20260718033122.2372985-1-rosenp@gmail.com \
--to=rosenp@gmail.com \
--cc=Frank.Li@kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=vkoul@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.