linux/drivers/dma
Viresh Kumar 69cea5a00d dmaengine/dw_dmac: Replace spin_lock* with irqsave variants and enable submission from callback
dmaengine routines can be called from interrupt context and with interrupts
disabled.  Whereas spin_unlock_bh can't be called from such contexts. So this
patch converts all spin_*_bh routines to irqsave variants.

Also, spin_lock() used in tasklet is converted to irqsave variants, as tasklet
can be interrupted, and dma requests from such interruptions may also call
spin_lock.

Now, submission from callbacks are permitted as per dmaengine framework. So we
shouldn't hold any locks while calling callbacks. As locks were taken by parent
routines, so releasing them before calling callbacks doesn't look clean enough.
So, locks are taken inside all routine now, whereever they are required. And
dwc_descriptor_complete is always called without taking locks.

Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2011-05-13 19:40:07 +05:30
..
ioat drivers/dma/ioat: Use the ccflag-y instead of EXTRA_CFLAGS 2010-12-04 15:03:06 -08:00
ipu dma: Ipu: Convert interupt code 2011-03-25 22:09:00 +01:00
ppc4xx Merge branch 'old_next' into next 2011-04-06 11:51:12 +05:30
amba-pl08x.c ARM: amba: make probe() functions take const id tables 2011-02-23 16:24:14 +00:00
at_hdmac_regs.h dmaengine: at_hdmac: implement pause and resume in atc_control 2011-05-09 11:42:54 +05:30
at_hdmac.c dmaengine: at_hdmac: pause: no need to wait for FIFO empty 2011-05-12 13:55:34 +05:30
coh901318_lli.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
coh901318_lli.h tree-wide: Assorted spelling fixes 2010-02-09 11:13:56 +01:00
coh901318.c coh901318.c: Change initate to initiate. 2011-02-17 16:50:49 +01:00
dmaengine.c async_tx: make async_tx channel switching opt-in 2010-10-07 17:08:32 -07:00
dmatest.c dmaengine/dmatest: Pass timeout via module params 2011-03-22 11:12:29 -07:00
dw_dmac_regs.h dmaengine/dw_dmac fix: use readl & writel instead of __raw_readl & __raw_writel 2011-03-07 01:12:28 +05:30
dw_dmac.c dmaengine/dw_dmac: Replace spin_lock* with irqsave variants and enable submission from callback 2011-05-13 19:40:07 +05:30
fsldma.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-03-22 17:53:13 -07:00
fsldma.h fsldma: fix controller lockups 2011-03-11 17:52:36 -08:00
imx-dma.c dmaengine i.MX dma: initialize dma capabilities outside channel loop 2011-01-31 12:36:23 +01:00
imx-sdma.c Merge branch 'imx' into dmaengine-fixes 2011-02-14 02:40:46 -08:00
intel_mid_dma_regs.h intel_mid_dma: change the slave interface 2010-10-07 15:03:44 -07:00
intel_mid_dma.c intel_mid_dma: fix runtime pm issues 2011-04-01 16:49:05 +05:30
iop-adma.c dma: use BUG_ON correctly in iop-adma.c, v4 2011-03-31 11:07:40 +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 pch_dma: Support new device ML7223 IOH 2011-05-09 17:12:23 +05:30
Makefile Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-03-22 17:53:13 -07:00
mpc512x_dma.c dt/powerpc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
mv_xor.c dma: use BUG_ON correctly in mv_xor.c, v4 2011-03-31 11:07:40 +05:30
mv_xor.h mv_xor: implement a private tx_list 2009-09-08 17:53:03 -07:00
mxs-dma.c dmaengine: mxs-dma: add dma support for i.MX23/28 2011-03-02 07:06:27 +05:30
pch_dma.c pch_dma: modify pci device table definition 2011-05-09 17:12:24 +05:30
pl330.c ARM: amba: make probe() functions take const id tables 2011-02-23 16:24:14 +00:00
shdma.c Comment typo fixes for 'descriptor' 2011-01-19 15:37:19 +01:00
shdma.h dma: shdma: NMI support. 2010-12-17 19:16:10 +09:00
ste_dma40_ll.c dma40: cyclic xfer support 2011-01-30 22:27:21 -08:00
ste_dma40_ll.h dma40: cyclic xfer support 2011-01-30 22:27:21 -08:00
ste_dma40.c dmaengine/ste_dma40: fix introduced warnings 2011-05-09 11:24:17 +05:30
timb_dma.c mfd: mfd_cell is now implicitly available to timberdale drivers 2011-03-23 10:41:52 +01:00
txx9dmac.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-05-21 17:05:46 -07:00
txx9dmac.h txx9dmac: implement a private tx_list 2009-09-08 17:53:03 -07:00