linux/drivers/dma
Emil Renner Berthing 49db68d45b dmaengine: dw-axi-dmac: Fix RMW on channel suspend register
When the DMA is configured for more than 8 channels the bits controlling
suspend moves to another register. However when adding support for this
the new register would be completely overwritten in one case and
overwritten with values from the old register in another case.

Found by comparing the parallel implementation of more than 8 channel
support for the StarFive JH7100 SoC by Samin.

Fixes: 824351668a ("dmaengine: dw-axi-dmac: support DMAX_NUM_CHANNELS > 8")
Co-developed-by: Samin Guo <samin.guo@starfivetech.com>
Signed-off-by: Samin Guo <samin.guo@starfivetech.com>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
Link: https://lore.kernel.org/r/20220627090939.1775717-1-emil.renner.berthing@canonical.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2022-07-01 17:18:26 +05:30
..
bestcomm dmaengine: bestcomm: Prepare cleanup of powerpc's asm/prom.h 2022-04-11 17:43:19 +05:30
dw dmaengine: dw: Add RZN1 compatible 2022-05-19 22:34:51 +05:30
dw-axi-dmac dmaengine: dw-axi-dmac: Fix RMW on channel suspend register 2022-07-01 17:18:26 +05:30
dw-edma dmaengine: dw-edma: Fix inconsistent indenting 2022-04-20 17:24:42 +05:30
fsl-dpaa2-qdma dmaengine: fsl-dpaa2-qdma: Drop comma after SoC match table sentinel 2022-03-11 15:47:39 +05:30
hsu dmaengine: hsu: switch from 'pci_' to 'dma_' API 2021-10-26 10:54:47 +05:30
idxd dmaengine: idxd: force wq context cleanup on device disable path 2022-07-01 17:12:40 +05:30
ioat dmaengine: iot: Remove useless DMA-32 fallback configuration 2022-02-15 11:04:06 +05:30
ipu dmaengine: ipu: Fix fall-through warning for Clang 2021-07-13 14:38:47 -05:00
lgm dmaengine: INTEL_LDMA should depend on X86 2021-02-01 11:27:14 +05:30
mediatek dmaengine updates for v5.19-rc1 2022-05-29 11:38:27 -07:00
ppc4xx dmaengine: ppc4xx: Make use of the helper macro LIST_HEAD() 2022-03-11 15:39:09 +05:30
ptdma dmaengine: ptdma: statify pt_tx_status 2022-04-22 11:29:13 +05:30
qcom dmaengine: qcom: bam_dma: fix runtime PM underflow 2022-07-01 16:33:36 +05:30
sf-pdma dmaengine: sf-pdma: Get number of channel by device tree 2022-04-08 18:43:29 +05:30
sh dmaengine: sh: Kconfig: Make RZ_DMAC depend on ARCH_RZG2L 2022-04-08 23:22:00 +05:30
ti dmaengine: ti: Add missing put_device in ti_dra7_xbar_route_allocate 2022-06-09 11:30:31 +05:30
xilinx dmaengine: zynqmp_dma: use pm_runtime_resume_and_get() instead of pm_runtime_get_sync() 2022-05-16 18:21:47 +05:30
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: Remove useless DMA-32 fallback configuration 2022-02-15 16:53:11 +05:30
amba-pl08x.c dmaengine: pl08x: drop the useless function 2022-04-20 17:19:09 +05:30
at_hdmac_regs.h dmaengine: at_hdmac: remove platform data header 2021-01-08 13:57:19 +05:30
at_hdmac.c dmaengine: at_hdmac: In atc_prep_dma_memset, treat value as a single byte 2022-04-20 17:28:12 +05:30
at_xdmac.c dmaengine updates for v5.19-rc1 2022-05-29 11:38:27 -07:00
bcm2835-dma.c dmaengine: bcm2835: Drop local dma_parms 2020-09-11 17:42:12 +05:30
bcm-sba-raid.c
dma-axi-dmac.c dmaengine: axi-dmac: Drop local dma_parms 2020-09-11 17:42:12 +05:30
dma-jz4780.c dmaengine: jz4780: set DMA maximum segment size 2022-04-20 17:13:22 +05:30
dmaengine.c dmaengine: Remove a useless mutex 2022-04-11 19:52:40 +05:30
dmaengine.h dmaengine: dmaengine_desc_callback_valid(): Check for callback_result 2021-10-25 09:42:56 +05:30
dmatest.c dmaengine: Revert "dmaengine: add verification of DMA_INTERRUPT capability for dmatest" 2022-06-09 11:30:47 +05:30
ep93xx_dma.c dmaengine: ep93xx: Remove redundant word in comment 2022-04-11 17:31:48 +05:30
fsl_raid.c dmaengine: fsl: remove bad channel update 2020-10-05 09:59:17 +05:30
fsl_raid.h
fsl-edma-common.c dmaengine: fsl-edma: support edma memcpy 2021-10-28 22:56:24 +05:30
fsl-edma-common.h dmaengine: fsl-edma: support edma memcpy 2021-10-28 22:56:24 +05:30
fsl-edma.c dmaengine: fsl-edma: support edma memcpy 2021-10-28 22:56:24 +05:30
fsl-qdma.c dmaengine: fsl-qdma: check dma_set_mask return value 2021-05-10 19:51:03 +05:30
fsldma.c dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function 2021-01-12 18:00:39 +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: hisi_dma: fix MSI allocate fail when reload hisi_dma 2022-03-11 16:05:39 +05:30
idma64.c dmaengine: idma64: Switch to use __maybe_unused instead of ifdeffery 2020-11-09 17:21:05 +05:30
idma64.h
img-mdc-dma.c
imx-dma.c dmaengine: imx: Move header to include/dma/ 2022-04-19 12:06:18 +01:00
imx-sdma.c dmaengine: imx-sdma: Allow imx8m for imx7 FW revs 2022-06-09 11:41:51 +05:30
iop-adma.c Merge branch 'topic/tasklet' into next 2020-10-01 10:18:59 +05:30
iop-adma.h treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
k3dma.c dmaengine: k3dma: use the correct HiSilicon copyright 2021-04-12 17:14:53 +05:30
Kconfig dmaengine: sun6i: Add support for the D1 variant 2022-05-19 23:43:41 +05:30
lpc18xx-dmamux.c
Makefile dmaengine: tegra: Add tegra gpcdma driver 2022-04-11 19:32:24 +05:30
mcf-edma.c
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: mmp: deprecate '#dma-channels' 2022-05-19 22:53:46 +05:30
mmp_tdma.c dmaengine: mmp: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:06 +05:30
moxart-dma.c dmaengine: moxart-dma: remove redundant irqsave and irqrestore in hardIRQ 2020-11-09 17:25:54 +05:30
mpc512x_dma.c dmaengine: mpc512x: Fix fall-through warning for Clang 2021-07-14 11:05:55 -05:00
mv_xor_v2.c dmaengine: mv_xor_v2 : Move spin_lock_bh() to spin_lock() 2022-04-22 12:56:41 +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
mxs-dma.c dmaengine: mxs-dma: Remove the unused .id_table 2020-11-24 22:55:15 +05:30
nbpfaxi.c dmaengine: nbpfaxi: Use platform_get_irq_optional() to get the interrupt 2022-04-11 16:26:53 +05:30
of-dma.c dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available 2021-07-28 12:54:50 +05:30
owl-dma.c dmaengine: owl-dma: Fix a resource leak in the remove function 2021-01-12 18:00:40 +05:30
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 ARM: 9172/1: amba: Cleanup amba pclk operation 2022-02-28 13:59:15 +00:00
plx_dma.c dmaengine: plx_dma: Move spin_lock_bh() to spin_lock() 2022-04-20 15:59:33 +05:30
pxa_dma.c dmaengine: pxa: deprecate '#dma-channels' and '#dma-requests' 2022-05-19 22:53:46 +05:30
s3c24xx-dma.c
sa11x0-dma.c dmaengine: sa11x0: Mark PM functions as __maybe_unused 2021-10-26 10:55:07 +05:30
sprd-dma.c dmaengine: sprd: deprecate '#dma-channels' 2022-05-16 18:34:35 +05:30
st_fdma.c dmaengine: st_fdma: fix MODULE_ALIAS 2021-12-13 13:18:48 +05:30
st_fdma.h
ste_dma40_ll.c
ste_dma40_ll.h
ste_dma40.c dmaengine: stedma40: add missing iounmap() on error in d40_probe() 2021-05-31 09:47:27 +05:30
stm32-dma.c dmaengine: stm32-dma: add device_pause/device_resume support 2022-05-19 23:43:41 +05:30
stm32-dmamux.c dmaengine: stm32-dmamux: avoid reset of dmamux if used by coprocessor 2022-05-19 23:43:40 +05:30
stm32-mdma.c dmaengine: stm32-mdma: use dev_dbg on non-busy channel spurious it 2022-05-19 23:21:28 +05:30
sun4i-dma.c dmaengine: sun4i: Use list_move_tail instead of list_del/list_add_tail 2021-06-07 17:06:38 +05:30
sun6i-dma.c dmaengine: sun6i: Add support for the D1 variant 2022-05-19 23:43:41 +05:30
tegra20-apb-dma.c dmaengine: tegra20-apb: stop checking config->slave_id 2021-12-17 11:23:38 +05:30
tegra186-gpc-dma.c dmaengine: tegra: Remove unused switch case 2022-05-19 23:43:41 +05:30
tegra210-adma.c dmaengine: tegra210-adma: fix pm runtime unbalance in tegra_adma_remove 2021-10-25 10:06:10 +05:30
timb_dma.c dmaengine: timb_dma: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
TODO
txx9dmac.c dmaengine: txx9dmac: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30
txx9dmac.h
uniphier-mdmac.c
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
xgene-dma.c dmaengine: xgene: convert tasklets to use new tasklet_setup() API 2020-09-18 12:19:07 +05:30