OpenCloudOS-Kernel/drivers/dma
Alain Volmat d356d3379d dmaengine: stm32-mdma: correct desc prep when channel running
commit 03f25d53b145bc2f7ccc82fc04e4482ed734f524 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 dmaengine: hsu: Include headers we are direct user of 2022-09-04 22:49:35 +05:30
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 dmaengine: sf-pdma: pdma_desc memory leak fix 2023-02-16 18:45:48 +05:30
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
Kconfig dmaengine updates for v6.6 2023-09-03 10:49:42 -07:00
Makefile dmaengine: fsl-edma: clean up EXPORT_SYMBOL_GPL in fsl-edma-common.c 2023-08-22 20:11:02 +05:30
TODO
acpi-dma.c dmaengine: acpi: Check for errors from acpi_register_gsi() separately 2021-08-06 21:48:11 +05:30
altera-msgdma.c dmaengine: altera-msgdma: Fixed some inconsistent function name descriptions 2022-07-06 22:00:06 +05:30
amba-pl08x.c dmaengine: pl08x: Fix double word 2022-09-29 12:24:16 +05:30
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 dmaengine: drivers: Use devm_platform_ioremap_resource() 2023-01-18 22:16:47 +05:30
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 dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result` 2021-10-25 09:42:56 +05:30
dmatest.c treewide: use get_random_bytes() when possible 2022-10-11 17:42:58 -06:00
ep93xx_dma.c dmaengine: ep93xx: Use struct_size() 2023-08-02 00:02:51 +05:30
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
fsl_raid.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
fsl_raid.h
fsldma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
fsldma.h fsldma: fix very broken 32-bit ppc ioread64 functionality 2020-08-29 13:50:56 -07:00
hisi_dma.c dmaengine: hisilicon: Dump regs to debugfs 2022-09-04 22:42:35 +05:30
idma64.c dmaengine: idma64: Update bytes_transferred field 2023-02-16 18:45:48 +05:30
idma64.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
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 dmaengine: k3dma: use the correct HiSilicon copyright 2021-04-12 17:14:53 +05:30
lpc18xx-dmamux.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
mcf-edma-main.c dmaengine updates for v6.6 2023-09-03 10:49:42 -07:00
milbeaut-hdmac.c dmaengine: milbeaut-hdmac: Prefer kcalloc over open coded arithmetic 2021-10-25 12:12:13 +05:30
milbeaut-xdmac.c dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of the probe function 2020-12-29 10:08:00 +05:30
mmp_pdma.c dmaengine: drivers: Use devm_platform_ioremap_resource() 2023-01-18 22:16:47 +05:30
mmp_tdma.c dmaengine updates for v6.3 2023-02-24 17:18:54 -08:00
moxart-dma.c dmaengine: drivers: Use devm_platform_ioremap_resource() 2023-01-18 22:16:47 +05:30
mpc512x_dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
mv_xor.c dmaengine: mv_xor: drop of_match_ptr from of_device_id table 2020-11-24 23:02:20 +05:30
mv_xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
mv_xor_v2.c dmaengine updates for v6.4 2023-05-03 11:11:56 -07:00
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 dmaengine: pch_dma: Remove usage of the deprecated "pci-dma-compat.h" API 2022-01-08 22:16:44 +05:30
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 dmaengine: sa11x0: Mark PM functions as __maybe_unused 2021-10-26 10:55:07 +05:30
sprd-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30
st_fdma.c dmaengine: st_fdma: fix MODULE_ALIAS 2021-12-13 13:18:48 +05:30
st_fdma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
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
ste_dma40_ll.c dmaengine: ste_dma40: Remove platform data 2023-05-16 23:00:19 +05:30
ste_dma40_ll.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194 2019-05-30 11:29:22 -07:00
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 dmaengine: drivers: Use devm_platform_ioremap_resource() 2023-01-18 22:16:47 +05:30
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 dmaengine: timb_dma: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
txx9dmac.c dmaengine: txx9dmac: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
txx9dmac.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
uniphier-mdmac.c dmaengine: uniphier-mdmac: replace zero-length array with flexible-array member 2020-02-13 20:15:57 +05:30
uniphier-xdmac.c dmaengine: uniphier-xdmac: Fix type of address variables 2022-01-03 17:49:37 +05:30
virt-dma.c dmaengine: virt-dma: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
virt-dma.h dmaengine: virt-dma: Add missing locking around list operations 2019-12-26 10:04:18 +05:30
xgene-dma.c dmaengine: Explicitly include correct DT includes 2023-08-01 23:51:27 +05:30