dmaengine: edma: Optimize memcpy operation
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Fri, 16 Oct 2015 07:18:00 +0000 (10:18 +0300)
committerVinod Koul <vinod.koul@intel.com>
Tue, 27 Oct 2015 01:22:44 +0000 (10:22 +0900)
commitdf6694f80365a72700d4c68fcf61ef068f5b3c25
tree78315b272212f729b5cfbcc5c84b1933998df1ca
parent21a31846a7736a88709fe6fe2e73857d884de89c
dmaengine: edma: Optimize memcpy operation

If the transfer is shorted then 64K we can complete it with one ACNT burst
by configuring ACNT to the length of the copy, this require one paRAM slot.
Otherwise we use two paRAM slots for the copy:
slot1: will copy (length / 32767) number of 32767 byte long blocks
slot2: will be configured to copy the remaining data.

According to tests this patch increases the throughput of memcpy from
~3MB/s to 15MB/s

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/edma.c