OpenCloudOS-Kernel/drivers/dma
Alexandru Ardelean e3923592f8 dmaengine: axi-dmac: populate residue info for completed xfers
Starting with version 4.2.a, the AXI DMAC controller can report partial
transfers that have been issued.

This change implements computing DMA residue information for transfers,
based on that reported information.

The way this is done, is to dequeue the partial transfers from the FIFO of
partial transfers, store the partial length to the correct segment &
descriptor, and compute the residue before submitting the DMA cookie to the
DMA framework.

Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2019-06-14 11:22:43 +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
dw-edma dmaengine: dw-edma: Fix build error without CONFIG_PCI_MSI 2019-06-12 10:22:02 +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 dmaengine: mediatek: Add MediaTek UART APDMA support 2019-06-07 15:36:45 +05:30
ppc4xx dmaengine: ppc4xx: fix off-by-one build failure 2018-10-16 20:08:30 +05:30
qcom dmaengine: qcom: hidma: no need to check return value of debugfs_create functions 2019-06-14 11:14:58 +05:30
sh dmaengine: sh: usb-dmac: Let the core do the device node validation 2019-05-27 11:23:53 +05:30
ti dmaengine: cppi41: delete channel from pending list when stop channel 2018-12-05 14:01:59 +05:30
xilinx dmaengine: xilinx_dma: Remove set but unused ‘tail_desc’ 2019-05-22 10:45:04 +05:30
Kconfig dmaengine: Add Synopsys eDMA IP core driver 2019-06-10 13:10:39 +05:30
Makefile dmaengine: Add Synopsys eDMA IP core driver 2019-06-10 13:10:39 +05:30
TODO
acpi-dma.c dmaengine: acpi-dma: align debug message with flow 2016-02-22 09:06:09 +05:30
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: no need to cast away call to debugfs_create_file() 2019-06-14 11:14:57 +05:30
at_hdmac.c dmaengine: at_hdmac: drop useless LIST_HEAD 2019-01-07 09:49:26 +05:30
at_hdmac_regs.h dmaengine: at_hdmac: Remove unnecessary 0x prefixes before %pad 2017-11-08 10:47:04 +05:30
at_xdmac.c dmaengine: at_xdmac: remove a stray bottom half unlock 2019-05-04 16:11:02 +05:30
bcm-sba-raid.c dmaengine: bcm-sba-raid: no need to check return value of debugfs_create functions 2019-06-14 11:14:58 +05:30
bcm2835-dma.c dmaengine updates for v5.2-rc1 2019-05-09 08:51:45 -07:00
coh901318.c dmaengine: coh901318: no need to cast away call to debugfs_create_file() 2019-06-14 11:14:58 +05:30
coh901318.h
coh901318_lli.c dmaengine: coh901318: use NULL for pointer initialization 2016-09-26 22:28:24 +05:30
dma-axi-dmac.c dmaengine: axi-dmac: populate residue info for completed xfers 2019-06-14 11:22:43 +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: Let the core do the device node validation 2019-05-27 11:23:52 +05:30
dmaengine.c dmaengine: Grammar s/the its/its/, s/need/needs/ 2019-06-10 13:20:54 +05:30
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-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: Fix typo in Vybrid name 2019-05-04 15:50:26 +05:30
fsl-edma.c dmaengine: fsl-edma: Adjust indentation 2019-05-04 15:50:26 +05:30
fsl-qdma.c dmaengine: fsl-qdma: Continue to clear register on error 2019-06-04 17:35:05 +05:30
fsl_raid.c dmaengine: fsl_raid: make of_device_ids const. 2017-06-29 09:25:28 +05:30
fsl_raid.h dmaengine: Driver support for FSL RaidEngine device. 2015-04-02 16:10:27 +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: Move driver name to the header 2019-04-26 16:55:23 +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: imx-sdma: Let the core do the device node validation 2019-05-27 11:23:52 +05:30
iop-adma.c dmaengine: iop-adma: convert callback to helper function 2016-08-08 08:11:39 +05:30
k3dma.c dmaengine: k3dma: Add support for dma-channel-mask 2019-02-04 14:30:57 +05:30
lpc18xx-dmamux.c dmaengine: add driver for lpc18xx dmamux 2015-08-18 22:12:14 +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: no need to check return value of debugfs_create functions 2019-06-14 11:14:58 +05:30
mic_x100_dma.h dmaengine: Add an enum for the dmaengine alignment constraints 2015-08-05 10:53:52 +05:30
mmp_pdma.c dmaengine: mmp_pdma: remove dma_slave_config direction usage 2018-11-05 10:32:46 +05:30
mmp_tdma.c dmaengine: mmp_tdma: Let the core do the device node validation 2019-05-27 11:23:52 +05:30
moxart-dma.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
mpc512x_dma.c Merge branch 'topic/err_reporting' into for-linus 2016-10-03 09:17:33 +05:30
mv_xor.c Merge branch 'topic/mv' into for-linus 2019-03-12 12:04:16 +05:30
mv_xor.h dmaengine: mv_xor: Add support for scatter-gather DMA mode 2016-11-25 11:16:36 +05:30
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
mxs-dma.c dmaengine: mxs-dma: Let the core do the device node validation 2019-05-27 11:23:52 +05:30
nbpfaxi.c dmaengine: nbpfaxi: Use dev_get_drvdata() 2019-04-29 10:47:15 +05:30
of-dma.c dmaengine: Add matching device node validation in __dma_request_channel() 2019-05-27 11:23:52 +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: _stop: clear interrupt status 2019-04-26 16:51:37 +05:30
pxa_dma.c dmaengine: pxa_dma: no need to check return value of debugfs_create functions 2019-06-14 11:14:58 +05:30
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 dmaengine: sirf-dma: remove unused ‘sdesc’ 2016-12-12 22:25:22 +05:30
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 dmaengine: st_fdma: Add STMicroelectronics FDMA driver header file 2016-10-18 20:12:06 +05:30
ste_dma40.c dmaengine: ste_dma40: remove dma_slave_config direction usage 2018-11-24 20:22:21 +05:30
ste_dma40_ll.c dmaengine: ste_dma40_ll: make d40_width_to_bits static 2016-06-08 08:59:55 +05:30
ste_dma40_ll.h
stm32-dma.c dmaengine: stm32-dma: Fix redundant call to platform_get_irq 2019-05-21 10:09:24 +05:30
stm32-dmamux.c dmaengine: stm32: use to_platform_device() 2019-05-27 12:12:17 +05:30
stm32-mdma.c dmaengine: stm32-mdma: Revert "dmaengine: stm32-mdma: Add a check on read_u32_array" 2019-03-25 21:56:54 +05:30
sun4i-dma.c dmaengine: sun4i: fix invalid argument 2017-04-24 09:50:05 +05:30
sun6i-dma.c dmaengine: sun6i: Add support for H6 DMA 2019-06-04 17:56:59 +05:30
tegra20-apb-dma.c dmaengine: tegra-apb: Error out if DMA_PREP_INTERRUPT flag is unset 2019-06-04 17:45:47 +05:30
tegra210-adma.c dmaengine: tegra210-adma: restore channel status 2019-05-04 16:13:42 +05:30
timb_dma.c dmaengine: timb_dma: Use struct_size() in kzalloc() 2019-01-20 10:50:07 +05:30
txx9dmac.c drivers: Remove explicit invocations of mmiowb() 2019-04-08 12:01:02 +01:00
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: store result on dma descriptor 2019-06-14 11:22:43 +05:30
virt-dma.h dmaengine: virt-dma: store result on dma descriptor 2019-06-14 11:22:43 +05:30
xgene-dma.c dmaengine: xgene-dma: fix spelling mistake "descripto" -> "descriptor" 2019-04-26 16:57:15 +05:30
zx_dma.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00