dmaengine: stm32-dma: pass DMA_SxSCR value to stm32_dma_handle_chan_done()
authorAmelie Delaunay <amelie.delaunay@foss.st.com>
Thu, 5 May 2022 11:56:09 +0000 (13:56 +0200)
committerVinod Koul <vkoul@kernel.org>
Thu, 19 May 2022 18:13:41 +0000 (23:43 +0530)
commitded6230691e00b0f31afc8aa18f26c57072ff58f
treef100d7fa3d89930899a9d35de2e67f3e3019dcf4
parentdb60a63eb6850fce081c1a22e7318e5d37f4dcf5
dmaengine: stm32-dma: pass DMA_SxSCR value to stm32_dma_handle_chan_done()

stm32_dma_handle_chan_done() is called on Transfer Complete interrupt.
As DMA_SxSCR register is read in interrupt handler, pass the value as
parameter of stm32_dma_handle_chan_done(). Also return directly if
chan->desc is null to remove one ident level.
Then, stm32_dma_configure_next_sg() is doing something only if
Double-Buffer Mode (DBM) is enabled, so, check it is enabled prior calling
stm32_dma_configure_next_sg(), to remove one ident level in
stm32_dma_configure_next_sg().

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