linux/drivers/dma
Lars-Peter Clausen 921234e0c5 dmaengine: axi-dmac: Split too large segments
The axi-dmac driver currently rejects transfers with segments that are
larger than what the hardware can handle.

Re-work the driver so that these large segments are split into multiple
segments instead where each segment is smaller or equal to the maximum
segment size.

This allows the driver to handle transfers with segments of arbitrary size.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Bogdan Togorean <bogdan.togorean@analog.com>
Signed-off-by: Alexandru Ardelean <alex.ardelean@analog.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2019-03-25 21:52:28 +05:30
..
bestcomm treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
dw Merge branch 'topic/dw' into for-linus 2019-03-12 12:03:47 +05:30
dw-axi-dmac dmaengine: dw-axi-dmac: Fix trivia typo 2019-01-08 22:36:18 +05:30
hsu dmaengine: hsu: remove dma_slave_config direction usage 2018-10-07 19:25:09 +05:30
ioat dmaengine: ioatdma: support latency tolerance report (LTR) for v3.4 2019-02-25 12:18:38 +05:30
ipu treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
mediatek cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
ppc4xx dmaengine: ppc4xx: fix off-by-one build failure 2018-10-16 20:08:30 +05:30
qcom dmaengine: qcom_hidma: assign channel cookie correctly 2019-01-20 10:43:34 +05:30
sh dmaengine: usb-dmac: Make DMAC system sleep callbacks explicit 2019-01-20 16:29:52 +05:30
ti dmaengine: cppi41: delete channel from pending list when stop channel 2018-12-05 14:01:59 +05:30
xilinx dmaengine updates for v5.1-rc1 2019-03-14 09:11:54 -07:00
acpi-dma.c
altera-msgdma.c dmaengine: altera: Use IRQ-safe spinlock calls in the error paths as well 2017-10-20 11:51:10 +05:30
amba-pl08x.c dmaengine: amba-pl08x: convert to DEFINE_SHOW_ATTRIBUTE 2018-12-17 11:49:41 +05:30
at_hdmac_regs.h dmaengine: at_hdmac: Remove unnecessary 0x prefixes before %pad 2017-11-08 10:47:04 +05:30
at_hdmac.c dmaengine: at_hdmac: drop useless LIST_HEAD 2019-01-07 09:49:26 +05:30
at_xdmac.c dmaengine: at_xdmac: Fix wrongfull report of a channel as in use 2019-02-02 15:55:26 +05:30
bcm2835-dma.c Merge branch 'topic/brcm' into for-linus 2019-03-12 12:03:42 +05:30
bcm-sba-raid.c treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
coh901318_lli.c
coh901318.c dmaengine: coh901318: Remove unused variable 2018-11-26 13:35:52 +05:30
coh901318.h
dma-axi-dmac.c dmaengine: axi-dmac: Split too large segments 2019-03-25 21:52:28 +05:30
dma-jz4740.c dmaengine: jz4740: remove dma_slave_config direction usage 2018-10-07 19:20:14 +05:30
dma-jz4780.c dmaengine: dma-jz4780: Use struct_size() in devm_kzalloc() 2019-01-07 18:05:17 +05:30
dmaengine.c mm: replace all open encodings for NUMA_NO_NODE 2019-03-05 21:07:14 -08:00
dmaengine.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dmatest.c dmaengine updates for v5.1-rc1 2019-03-14 09:11:54 -07:00
ep93xx_dma.c dmaengine: ep93xx: fix some typo 2018-11-11 14:56:49 +05:30
fsl_raid.c dmaengine: fsl_raid: make of_device_ids const. 2017-06-29 09:25:28 +05:30
fsl_raid.h
fsl-edma-common.c dmaengine: fsl-edma: dma map slave device address 2019-02-04 12:32:53 +05:30
fsl-edma-common.h dmaengine: fsl-edma: dma map slave device address 2019-02-04 12:32:53 +05:30
fsl-edma.c dmaengine: fsl-edma: dma map slave device address 2019-02-04 12:32:53 +05:30
fsl-qdma.c dmaengine: fsl-qdma: add MODULE_LICENSE 2019-01-07 09:50:16 +05:30
fsldma.c dmaengine: fsldma: Replace DMA_IN/OUT by FSL_DMA_IN/OUT 2019-01-07 09:50:16 +05:30
fsldma.h dmaengine: fsldma: Add 64-bit I/O accessors for powerpc64 2019-02-04 12:56:54 +05:30
idma64.c dmaengine: idma64: Use actual device for DMA transfers 2019-03-21 19:48:26 +05:30
idma64.h dmaengine: idma64: Use actual device for DMA transfers 2019-03-21 19:48:26 +05:30
img-mdc-dma.c dmaengine: img-mdc-dma: Use vchan_terminate_vdesc() instead of desc_free 2017-12-04 22:33:51 +05:30
imx-dma.c dmaengine updates for v5.1-rc1 2019-03-14 09:11:54 -07:00
imx-sdma.c dmaengine updates for v5.1-rc1 2019-03-14 09:11:54 -07:00
iop-adma.c
k3dma.c dmaengine: k3dma: Add support for dma-channel-mask 2019-02-04 14:30:57 +05:30
Kconfig dmaengine: fsl-qdma: Add qDMA controller driver for Layerscape SoCs 2019-01-07 09:50:16 +05:30
lpc18xx-dmamux.c
Makefile dmaengine: fsl-qdma: Add qDMA controller driver for Layerscape SoCs 2019-01-07 09:50:16 +05:30
mcf-edma.c dmaengine: fsl-edma: dma map slave device address 2019-02-04 12:32:53 +05:30
mic_x100_dma.c dmaengine: mic_x100_dma: convert to DEFINE_SHOW_ATTRIBUTE 2018-12-17 11:49:41 +05:30
mic_x100_dma.h
mmp_pdma.c dmaengine: mmp_pdma: remove dma_slave_config direction usage 2018-11-05 10:32:46 +05:30
mmp_tdma.c Merge branch 'topic/dmam' into for-linus 2018-10-24 09:15:43 +01:00
moxart-dma.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
mpc512x_dma.c
mv_xor_v2.c dmaengine: mv_xor_v2: use {lower,upper}_32_bits to configure HW descriptor address 2018-07-25 17:53:22 +05:30
mv_xor.c Merge branch 'topic/mv' into for-linus 2019-03-12 12:04:16 +05:30
mv_xor.h
mxs-dma.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
nbpfaxi.c Merge branch 'topic/renesas' into for-linus 2018-10-24 09:16:22 +01:00
of-dma.c dmaengine: Convert to using %pOF instead of full_name 2017-07-19 09:30:44 +05:30
owl-dma.c dmaengine: owl: Fix warnings generated during build 2018-10-15 22:39:16 +05:30
pch_dma.c PCI: Move Rohm Vendor ID to generic list 2019-02-01 17:24:52 -06:00
pl330.c dmaengine: pl330: introduce debugfs interface 2019-03-25 21:52:28 +05:30
pxa_dma.c dmaengine-4.21-rc1 2019-01-01 15:45:48 -08:00
s3c24xx-dma.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00
sa11x0-dma.c dmaengine: sa11x0: drop useless LIST_HEAD 2019-01-07 09:49:26 +05:30
sirf-dma.c
sprd-dma.c dmaengine: sprd: Change channel id to slave id for DMA cell specifier 2019-02-25 12:11:19 +05:30
st_fdma.c dmaengine: st_fdma: use struct_size() in kzalloc() 2019-01-07 18:05:22 +05:30
st_fdma.h
ste_dma40_ll.c
ste_dma40_ll.h
ste_dma40.c dmaengine: ste_dma40: remove dma_slave_config direction usage 2018-11-24 20:22:21 +05:30
stm32-dma.c dmaengine: stm32-dma: Add PM Runtime support 2019-01-07 09:52:24 +05:30
stm32-dmamux.c dmaengine: stm32-dmamux: Add PM Runtime support 2019-01-07 09:52:24 +05:30
stm32-mdma.c dmaengine: stm32-mdma: Add PM Runtime support 2019-01-07 09:52:24 +05:30
sun4i-dma.c dmaengine: sun4i: fix invalid argument 2017-04-24 09:50:05 +05:30
sun6i-dma.c dmaengine: sun6i: Retrieve channel count/max request from devicetree 2017-10-23 11:44:03 +05:30
tegra20-apb-dma.c dmaengine: tegra-apb: Use struct_size() in devm_kzalloc() 2019-01-07 18:07:58 +05:30
tegra210-adma.c dmaengine: tegra210-adma: update system sleep callbacks 2019-03-25 10:23:55 +05:30
timb_dma.c dmaengine: timb_dma: Use struct_size() in kzalloc() 2019-01-20 10:50:07 +05:30
TODO
txx9dmac.c dmaengine: txx9dmac: simplify getting .drvdata 2018-04-22 21:38:06 +05:30
txx9dmac.h
uniphier-mdmac.c dmaengine: uniphier-mdmac: add UniPhier MIO DMAC driver 2018-11-24 19:42:59 +05:30
virt-dma.c dmaengine: virt-dma: Add helper to free/reuse a descriptor 2017-12-04 22:33:51 +05:30
virt-dma.h dmaengine: virt-dma: Support for race free transfer termination 2017-12-04 22:33:51 +05:30
xgene-dma.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
zx_dma.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00