Re: [PATCH 0/3] dmaengine: Use non-atomic bit ops where safe
From: Peng Fan
Date: Thu Sep 03 2026 - 22:09:44 EST
On Thu, Sep 03, 2026 at 02:29:45PM -0500, Frank Li wrote:
>On Thu, Sep 03, 2026 at 10:16:11PM +0800, Peng Fan (OSS) wrote:
>> 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.
>
>Any benefit to switch?
Drop patch 1, I thought there were no cocurrent access.
For patch 2: The driver already uses the non-atomic __set_bit/__clear_bit APIs,
I think no sense to use atomic APIs in sdma_set_watermarklevel_for_p2p, or
I may miss something.
For patch 3: Use __assign_bit to save code lines.
Thanks
Peng
>
>Frank
>
>>
>> Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
>> ---
>> 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@xxxxxxx>
>>
>
>