linux/drivers/dma
Jassi Brar b14dab792d DMAEngine: Define interleaved transfer request api
Define a new api that could be used for doing fancy data transfers
like interleaved to contiguous copy and vice-versa.
Traditional SG_list based transfers tend to be very inefficient in
such cases as where the interleave and chunk are only a few bytes,
which call for a very condensed api to convey pattern of the transfer.
This api supports all 4 variants of scatter-gather and contiguous transfer.

Of course, neither can this api help transfers that don't lend to DMA by
nature, i.e, scattered tiny read/writes with no periodic pattern.

Also since now we support SLAVE channels that might not provide
device_prep_slave_sg callback but device_prep_interleaved_dma,
remove the BUG_ON check.

Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Acked-by: Barry Song <Baohua.Song@csr.com>
[renamed dmaxfer_template to dma_interleaved_template
 did fixup after the enum dma_transfer_merge]
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
2011-11-18 12:16:24 +05:30
..
ioat ioat: fix xor_idx_to_desc 2011-08-03 22:25:06 -07:00
ipu Merge branch 'dma_slave_direction' into next_test_dirn 2011-11-17 14:54:57 +05:30
ppc4xx Merge branch 'old_next' into next 2011-04-06 11:51:12 +05:30
Kconfig pch_dma: Support new device LAPIS Semiconductor ML7831 IOH 2011-11-17 14:27:41 +05:30
Makefile dmaengine: add ep93xx DMA support 2011-06-08 15:10:44 -06:00
TODO dmaengine: remove ste_dma40 from issue_pending TODO 2011-07-14 04:02:08 +05:30
amba-pl08x.c dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
at_hdmac.c Merge branch 'dma_slave_direction' into next_test_dirn 2011-11-17 14:54:57 +05:30
at_hdmac_regs.h dmaengine: at_hdmac: platform data move to use .id_table 2011-11-10 14:13:33 +05:30
coh901318.c dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
coh901318_lli.c dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
coh901318_lli.h dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
dmaengine.c DMAEngine: Define interleaved transfer request api 2011-11-18 12:16:24 +05:30
dmatest.c dmatest: make dmatest threads freezable 2011-08-29 18:01:27 +05:30
dw_dmac.c dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
dw_dmac_regs.h dmaengine/dw_dmac: Update maintainer-ship 2011-05-25 18:30:37 +05:30
ep93xx_dma.c dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
fsldma.c dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
fsldma.h fsldma: fix controller lockups 2011-03-11 17:52:36 -08:00
imx-dma.c Merge branch 'dma_slave_direction' into next_test_dirn 2011-11-17 14:54:57 +05:30
imx-sdma.c Merge branch 'dma_slave_direction' into next_test_dirn 2011-11-17 14:54:57 +05:30
intel_mid_dma.c Merge branch 'dma_slave_direction' into next_test_dirn 2011-11-17 14:54:57 +05:30
intel_mid_dma_regs.h dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
iop-adma.c dma: fix spacing for method declaration, coding style issue in iop-adma.c 2011-11-17 14:25:25 +05:30
iovlock.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mpc512x_dma.c dmaengine: delete redundant chan_id and chancnt initialization in dma drivers 2011-09-20 11:51:33 +05:30
mv_xor.c dma: mv_xor: use resource_size() 2011-07-14 03:32:31 +05:30
mv_xor.h mv_xor: implement a private tx_list 2009-09-08 17:53:03 -07:00
mxs-dma.c dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
pch_dma.c Merge branch 'dma_slave_direction' into next_test_dirn 2011-11-17 14:54:57 +05:30
pl330.c Merge branch 'dma_slave_direction' into next_test_dirn 2011-11-17 14:54:57 +05:30
shdma.c dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
shdma.h dma: shdma: transfer based runtime PM 2011-09-28 10:07:40 +05:30
ste_dma40.c Merge branch 'dma_slave_direction' into next_test_dirn 2011-11-17 14:54:57 +05:30
ste_dma40_ll.c dma40: cyclic xfer support 2011-01-30 22:27:21 -08:00
ste_dma40_ll.h dmaengine/ste_dma40: use AMBA PrimeCell helper macros 2011-07-14 04:09:10 +05:30
timb_dma.c dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
txx9dmac.c dmaengine: move drivers to dma_transfer_direction 2011-10-27 20:53:43 +05:30
txx9dmac.h txx9dmac: implement a private tx_list 2009-09-08 17:53:03 -07:00