linux-imx/drivers/dma
Alain Volmat d356d3379d dmaengine: stm32-mdma: correct desc prep when channel running
commit 03f25d53b1 upstream.

In case of the prep descriptor while the channel is already running, the
CCR register value stored into the channel could already have its EN bit
set.  This would lead to a bad transfer since, at start transfer time,
enabling the channel while other registers aren't yet properly set.
To avoid this, ensure to mask the CCR_EN bit when storing the ccr value
into the mdma channel structure.

Fixes: a4ffb13c89 ("dmaengine: Add STM32 MDMA driver")
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
Cc: stable@vger.kernel.org
Tested-by: Alain Volmat <alain.volmat@foss.st.com>
Link: https://lore.kernel.org/r/20231009082450.452877-1-amelie.delaunay@foss.st.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-11-28 17:20:05 +00:00
..
bestcomm dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
dw dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
dw-axi-dmac dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
dw-edma dmaengine: dw-edma: Add HDMA DebugFS support 2023-05-24 12:20:45 +05:30
fsl-dpaa2-qdma bus: fsl-mc: Make remove function return void 2023-05-30 18:58:43 -05:00
hsu
idxd dmaengine: idxd: Register dsa_bus_type before registering idxd sub-drivers 2023-11-20 11:59:25 +01:00
ioat dmaengine: ioatdma: use pci_dev_id() to simplify the code 2023-08-21 18:39:25 +05:30
lgm dmaengine: lgm: Use builtin_platform_driver macro to simplify the code 2023-08-21 11:13:09 +05:30
mediatek dmaengine: mediatek: Fix deadlock caused by synchronize_irq() 2023-10-04 19:26:36 +05:30
ppc4xx dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
ptdma dmaengine updates for v6.3 2023-02-24 17:18:54 -08:00
qcom dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
sf-pdma
sh dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
ti dmaengine: ti: edma: handle irq_of_parse_and_map() errors 2023-11-20 11:59:26 +01:00
xilinx dmaengine updates for v6.6 2023-09-03 10:49:42 -07:00
acpi-dma.c
altera-msgdma.c
amba-pl08x.c
apple-admac.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
at_hdmac.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
at_xdmac.c dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved() 2023-05-19 16:54:04 +05:30
bcm-sba-raid.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
bcm2835-dma.c
dma-axi-dmac.c dmaengine: axi-dmac: Don't set chancnt 2023-05-24 12:24:32 +05:30
dma-jz4780.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
dmaengine.c dmaengine: Simplify dma_async_device_register() 2023-08-21 18:36:46 +05:30
dmaengine.h
dmatest.c
ep93xx_dma.c dmaengine: ep93xx: Use struct_size() 2023-08-02 00:02:51 +05:30
fsl_raid.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
fsl_raid.h
fsl-edma-common.c dmaengine: fsl-edma: fix edma4 channel enable failure on second attempt 2023-09-28 16:58:57 +05:30
fsl-edma-common.h dmaengine: fsl-dma: fix DMA error when enabling sg if 'DONE' bit is set 2023-09-28 16:50:34 +05:30
fsl-edma-main.c dmaengine: fsl-edma: fix all channels requested when call fsl_edma3_xlate() 2023-10-09 11:12:19 +05:30
fsl-qdma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
fsldma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
fsldma.h
hisi_dma.c
idma64.c
idma64.h
img-mdc-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
imx-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
imx-sdma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
k3dma.c
Kconfig dmaengine updates for v6.6 2023-09-03 10:49:42 -07:00
lpc18xx-dmamux.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
Makefile dmaengine: fsl-edma: clean up EXPORT_SYMBOL_GPL in fsl-edma-common.c 2023-08-22 20:11:02 +05:30
mcf-edma-main.c dmaengine updates for v6.6 2023-09-03 10:49:42 -07:00
milbeaut-hdmac.c
milbeaut-xdmac.c
mmp_pdma.c
mmp_tdma.c dmaengine updates for v6.3 2023-02-24 17:18:54 -08:00
moxart-dma.c
mpc512x_dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
mv_xor_v2.c dmaengine updates for v6.4 2023-05-03 11:11:56 -07:00
mv_xor.c
mv_xor.h
mxs-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
nbpfaxi.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
of-dma.c dmaengine: Use of_property_present() for testing DT property presence 2023-03-17 23:11:42 +05:30
owl-dma.c dmaengine updates for v6.6 2023-09-03 10:49:42 -07:00
pch_dma.c
pl330.c dmaengine: pl330: Return DMA_PAUSED when transaction is paused 2023-08-07 00:01:41 +05:30
plx_dma.c dmaengine: plx_dma: Don't set chancnt 2023-05-24 12:24:32 +05:30
pxa_dma.c dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc() 2023-11-20 11:59:26 +01:00
sa11x0-dma.c
sprd-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
st_fdma.c
st_fdma.h
ste_dma40_ll.c dmaengine: ste_dma40: Remove platform data 2023-05-16 23:00:19 +05:30
ste_dma40_ll.h
ste_dma40.c dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe 2023-10-09 10:56:51 +05:30
ste_dma40.h dmaengine: ste_dma40: Remove platform data 2023-05-16 23:00:19 +05:30
stm32-dma.c dmaengine: stm32-dma: fix residue in case of MDMA chaining 2023-10-09 11:10:58 +05:30
stm32-dmamux.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
stm32-mdma.c dmaengine: stm32-mdma: correct desc prep when channel running 2023-11-28 17:20:05 +00:00
sun4i-dma.c
sun6i-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
tegra20-apb-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
tegra186-gpc-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
tegra210-adma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
timb_dma.c
TODO
txx9dmac.c
txx9dmac.h
uniphier-mdmac.c
uniphier-xdmac.c
virt-dma.c
virt-dma.h
xgene-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30