[PATCH 3/3] dmaengine: imx-sdma: Use __assign_bit() for ownership configuration

From: Peng Fan (OSS)

Date: Thu Sep 03 2026 - 11:02:50 EST


From: Peng Fan <peng.fan@xxxxxxx>

Replace the if/else pairs of __set_bit()/__clear_bit() in
sdma_config_ownership() with __assign_bit(), which does exactly the
same conditional set-or-clear in a single call.

No functional change.

Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
---
drivers/dma/imx-sdma.c | 17 +++--------------
1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index 63261ab6402b9..da565409beaaa 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -710,20 +710,9 @@ static int sdma_config_ownership(struct sdma_channel *sdmac,
mcu = readl_relaxed(sdma->regs + SDMA_H_HOSTOVR);
dsp = readl_relaxed(sdma->regs + SDMA_H_DSPOVR);

- if (dsp_override)
- __clear_bit(channel, &dsp);
- else
- __set_bit(channel, &dsp);
-
- if (event_override)
- __clear_bit(channel, &evt);
- else
- __set_bit(channel, &evt);
-
- if (mcu_override)
- __clear_bit(channel, &mcu);
- else
- __set_bit(channel, &mcu);
+ __assign_bit(channel, &dsp, !dsp_override);
+ __assign_bit(channel, &evt, !event_override);
+ __assign_bit(channel, &mcu, !mcu_override);

writel_relaxed(evt, sdma->regs + SDMA_H_EVTOVR);
writel_relaxed(mcu, sdma->regs + SDMA_H_HOSTOVR);

--
2.34.1