dmaengine: stm32-mdma: add support to be triggered by STM32 DMA
authorAmelie Delaunay <amelie.delaunay@foss.st.com>
Mon, 29 Aug 2022 15:46:46 +0000 (17:46 +0200)
committerVinod Koul <vkoul@kernel.org>
Sun, 4 Sep 2022 17:18:02 +0000 (22:48 +0530)
commit69687432277132c3740bee3a9ae3d375cf6e86db
treeedb027cad2054f672c76cb3643b1a595215fba32
parent723795173ce1113fb478c18dc57e788b3eba3524
dmaengine: stm32-mdma: add support to be triggered by STM32 DMA

STM32 MDMA can be triggered by STM32 DMA channels transfer complete.

In case of non-null struct dma_slave_config .peripheral_size, it means the
DMA client wants the DMA to trigger the MDMA.

stm32-mdma driver gets the request id, the mask_addr, and the mask_data in
struct stm32_mdma_dma_config passed by DMA with struct dma_slave_config
.peripheral_config/.peripheral_size.

Then, as DMA is configured in Double-Buffer mode, and MDMA channel will
transfer data from/to SRAM to/from DDR, then bursts are optimized.

Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
Link: https://lore.kernel.org/r/20220829154646.29867-7-amelie.delaunay@foss.st.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/stm32-mdma.c