[PATCH RESEND] dmaengine: stm32-dma: configure next sg only if there are more than 2 sgs
Vinod Koul
vkoul at kernel.org
Thu Jun 26 15:48:09 PDT 2025
On Tue, 24 Jun 2025 09:31:37 +0200, Amelie Delaunay wrote:
> DMA operates in Double Buffer Mode (DBM) when the transfer is cyclic and
> there are at least two periods.
> When DBM is enabled, the DMA toggles between two memory targets (SxM0AR and
> SxM1AR), indicated by the SxSCR.CT bit (Current Target).
> There is no need to update the next memory address if two periods are
> configured, as SxM0AR and SxM1AR are already properly set up before the
> transfer begins in the stm32_dma_start_transfer() function.
> This avoids unnecessary updates to SxM0AR/SxM1AR, thereby preventing
> potential Transfer Errors. Specifically, when the channel is enabled,
> SxM0AR and SxM1AR can only be written if SxSCR.CT=1 and SxSCR.CT=0,
> respectively. Otherwise, a Transfer Error interrupt is triggered, and the
> stream is automatically disabled.
>
> [...]
Applied, thanks!
[1/1] dmaengine: stm32-dma: configure next sg only if there are more than 2 sgs
commit: e19bdbaa31082b43dab1d936e20efcebc30aa73d
Best regards,
--
~Vinod
More information about the linux-arm-kernel
mailing list