linux/drivers/dma
Russell King 6365bead25 DMA: sa11x0: add SA-11x0 DMA driver
Add support for the SA-11x0 DMA driver, which replaces the private
API version in arch/arm/mach-sa1100/dma.c.

We model this as a set of virtual DMA channels, one for each request
signal, and assign the virtual DMA channel to a physical DMA channel
when there is work to be done.  This allows DMA users to claim their
channels, and hold them while not in use, without affecting the
availability of the physical channels.

Another advantage over this approach, compared to the private version,
is that a channel can be reconfigured on the fly without having to
release and re-request it - which for the IrDA driver, allows us to
use DMA for SIR mode transmit without eating up three physical
channels.  As IrDA is half-duplex, we actually only need one physical
channel, and this architecture allows us to achieve that.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-03-07 11:32:21 +00:00
..
ioat ioat: fix xor_idx_to_desc 2011-08-03 22:25:06 -07:00
ipu i.MX IPU DMA: Fix wrong burstsize settings 2011-12-08 12:59:03 +05:30
ppc4xx Merge branch 'old_next' into next 2011-04-06 11:51:12 +05:30
amba-pl08x.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-01-17 18:40:24 -08:00
at_hdmac_regs.h at_hdmac: bugfix for enabling channel irq 2012-01-31 09:09:04 +05:30
at_hdmac.c at_hdmac: bugfix for enabling channel irq 2012-01-31 09:09:04 +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
coh901318.c 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 dmaengine: fix missing 'cnt' in ?: in dmatest 2012-01-23 11:43:18 -08:00
dw_dmac_regs.h dmaengine/dw_dmac: Reconfigure interrupt and chan_cfg register on resume 2011-11-28 08:48:02 +05:30
dw_dmac.c dmaengine/dw_dmac: Reconfigure interrupt and chan_cfg register on resume 2011-11-28 08:48:02 +05:30
ep93xx_dma.c dma/ep93xx_dma: prevent ep93xx_dma_tasklet() to reference an empty list 2011-12-05 08:16:26 +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 i.MX SDMA: Fix burstsize settings 2012-02-02 14:00:43 +05:30
intel_mid_dma_regs.h dmaengine: intel_mid_dma: remove legacy pm interface 2012-01-02 16:34:42 +05:30
intel_mid_dma.c dmaengine: intel_mid_dma: remove legacy pm interface 2012-01-02 16:34:42 +05:30
iop-adma.c dmaengine: convert drivers/dma/* to use module_platform_driver() 2011-12-05 08:25:54 +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
Kconfig DMA: sa11x0: add SA-11x0 DMA driver 2012-03-07 11:32:21 +00:00
Makefile DMA: sa11x0: add SA-11x0 DMA driver 2012-03-07 11:32:21 +00:00
mpc512x_dma.c dmaengine: convert drivers/dma/* to use module_platform_driver() 2011-12-05 08:25:54 +05:30
mv_xor.c ARM: Orion: Get address map from plat-orion instead of via platform_data 2011-12-13 18:46:55 -05:00
mv_xor.h mv_xor: implement a private tx_list 2009-09-08 17:53:03 -07:00
mxs-dma.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-01-17 18:40:24 -08:00
pch_dma.c Merge branch 'dma_slave_direction' into next_test_dirn 2011-11-17 14:54:57 +05:30
pl330.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-01-17 18:40:24 -08:00
sa11x0-dma.c DMA: sa11x0: add SA-11x0 DMA driver 2012-03-07 11:32:21 +00:00
shdma.c dma: sh_dma: not all SH DMAC implementations support MEMCPY 2012-02-01 22:23:53 +05:30
shdma.h dma: shdma: transfer based runtime PM 2011-09-28 10:07:40 +05:30
sirf-dma.c dmaengine: convert drivers/dma/* to use module_platform_driver() 2011-12-05 08:25:54 +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: support pm in dma40 2011-11-22 09:46:06 +05:30
ste_dma40.c dmaengine/ste_dma40: clear LNK on channel startup 2012-01-02 16:42:44 +05:30
timb_dma.c dmaengine: convert drivers/dma/* to use module_platform_driver() 2011-12-05 08:25:54 +05:30
TODO dmaengine: remove ste_dma40 from issue_pending TODO 2011-07-14 04:02:08 +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