[PATCH 0/3] dmaengine: Use non-atomic bit ops where safe

Peng Fan (OSS) peng.fan at oss.nxp.com
Thu Sep 3 07:16:11 PDT 2026


dma_cap_set()/dma_cap_clear() and imx-sdma event_mask setup use atomic
set_bit()/clear_bit() in contexts where no concurrent access is
possible:

- dma_cap_set()/dma_cap_clear() are called exclusively during driver
  probe, before dma_async_device_register() makes the device visible.
- imx-sdma event_mask[] is zeroed and configured during channel setup
  while the channel is disabled.

Switch both to non-atomic __set_bit()/__clear_bit() equivalents.

Signed-off-by: Peng Fan <peng.fan at nxp.com>
---
Peng Fan (3):
      dmaengine: Use non-atomic bit ops for cap_mask manipulation
      dmaengine: imx-sdma: Use non-atomic __set_bit() for event_mask setup
      dmaengine: imx-sdma: Use __assign_bit() for ownership configuration

 drivers/dma/imx-sdma.c    | 21 +++++----------------
 include/linux/dmaengine.h |  4 ++--
 2 files changed, 7 insertions(+), 18 deletions(-)
---
base-commit: 89c07d98716a13454ec3fd9f97689e812cc71bd4
change-id: 20260903-dma-mask-ddf64d770f7d

Best regards,
--  
Peng Fan <peng.fan at nxp.com>




More information about the linux-arm-kernel mailing list