linux/drivers/dma/ti
Peter Ujfalusi 046d679b5b dmaengine: ti: k3-udma: Add support for burst_size configuration for mem2mem
The UDMA and BCDMA can provide higher throughput if the burst_size of the
channel is changed from it's default (which is 64 bytes) for Ultra-high
and high capacity channels.

This performance benefit is even more visible when the buffers are aligned
with the burst_size configuration.

The am654 does not have a way to change the burst size, but it is using
64 bytes burst, so increasing the copy_align from 8 bytes to 64 (and
clients taking that into account) can increase the throughput as well.

Numbers gathered on j721e:
echo 8000000 > /sys/module/dmatest/parameters/test_buf_size
echo 2000 > /sys/module/dmatest/parameters/timeout
echo 50 > /sys/module/dmatest/parameters/iterations
echo 1 > /sys/module/dmatest/parameters/max_channels

Prior this patch:       ~1.3 GB/s
After this patch:       ~1.8 GB/s
 with 1 byte alignment: ~1.7 GB/s

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Link: https://lore.kernel.org/r/20210113114923.9231-3-peter.ujfalusi@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2021-01-13 22:00:37 +05:30
..
cppi41.c dmaengine: cppi41: Fix cppi41_dma_prep_slave_sg() when idle 2019-10-23 21:15:21 +05:30
dma-crossbar.c dmaengine: ti: drop of_match_ptr and mark of_device_id table as maybe unused 2020-11-24 23:02:20 +05:30
edma.c dmaengine: Replace zero-length array with flexible-array 2020-06-15 23:08:30 -05:00
k3-psil-am64.c dmaengine: ti: k3-psil: Add initial map for AM64 2020-12-11 21:20:09 +05:30
k3-psil-am654.c dmaengine: ti: k3-psil: make symbols static 2020-01-21 13:10:24 +05:30
k3-psil-j721e.c dmaengine: ti: k3-psil-j721e: Add entries for 2nd port of MCU SA2UL 2020-08-17 10:50:31 +05:30
k3-psil-j7200.c dmaengine: ti: k3-psil: add map for j7200 2020-08-17 10:50:31 +05:30
k3-psil-priv.h dmaengine: ti: k3-psil: Add initial map for AM64 2020-12-11 21:20:09 +05:30
k3-psil.c dmaengine: ti: k3-psil: Add initial map for AM64 2020-12-11 21:20:09 +05:30
k3-udma-glue.c dmaengine: ti: k3-udma-glue: Add support for K3 PKTDMA 2020-12-11 21:20:10 +05:30
k3-udma-private.c dmaengine updates for v5.11-rc1 2020-12-17 12:52:23 -08:00
k3-udma.c dmaengine: ti: k3-udma: Add support for burst_size configuration for mem2mem 2021-01-13 22:00:37 +05:30
k3-udma.h dmaengine: ti: k3-udma-glue: Add support for K3 PKTDMA 2020-12-11 21:20:10 +05:30
Kconfig dmaengine: ti: k3-udma: Drop COMPILE_TEST for the drivers for now 2020-04-15 21:25:25 +05:30
Makefile dmaengine: ti: k3-psil: Add initial map for AM64 2020-12-11 21:20:09 +05:30
omap-dma.c dmaengine: ti: omap-dma: Block PM if SDMA is busy to fix audio 2020-11-10 18:14:09 +05:30