linux-stable/drivers/dma
Ira Snyder d3f620b2c4 fsldma: simplify IRQ probing and handling
The IRQ probing is needlessly complex. All off the 83xx device trees in
arch/powerpc/boot/dts/ specify 5 interrupts per DMA controller: one for the
controller, and one for each channel. These interrupts are all attached to
the same IRQ line.

This causes an interesting situation if two channels interrupt at the same
time. The per-controller handler will handle the first channel, and the
per-channel handler will handle the remaining channels.

Instead of this mess, we fix the bug in the per-controller handler, and
make it handle all channels that generated an interrupt. When a
per-controller handler is specified in the device tree, we prefer to use
the shared handler instead of the per-channel handler.

The 85xx/86xx controllers do not have a per-controller interrupt, and
instead use a per-channel interrupt. This behavior has not been changed.

Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2010-02-02 14:51:41 -07:00
..
ioat ioat2,3: put channel hardware in known state at init 2009-12-19 15:36:02 -07:00
ipu dma: fix ipu_idmac.c to not discard the last queued buffer 2009-05-12 14:41:48 -07:00
ppc4xx ppc440spe-adma: adds updated ppc440spe adma driver 2009-12-11 21:24:44 -07:00
at_hdmac.c Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-12-30 13:46:29 -08:00
at_hdmac_regs.h at_hdmac: implement a private tx_list 2009-09-08 17:53:03 -07:00
coh901318.c drivers/dma: Correct use after free 2009-12-22 15:30:08 -07:00
coh901318_lli.c Add COH 901 318 DMA block driver v5 2009-11-19 23:45:19 -07:00
coh901318_lli.h Add COH 901 318 DMA block driver v5 2009-11-19 23:45:19 -07:00
dmaengine.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
dmatest.c dmaengine: fix dmatest to verify minimum transfer length and test buffer size 2009-12-10 23:27:51 -07:00
dw_dmac.c Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-12-30 13:46:29 -08:00
dw_dmac_regs.h dw_dmac: implement a private tx_list 2009-09-08 17:53:02 -07:00
fsldma.c fsldma: simplify IRQ probing and handling 2010-02-02 14:51:41 -07:00
fsldma.h fsldma: clean up the OF subsystem routines 2010-02-02 14:51:41 -07:00
iop-adma.c iop-adma.c: use resource_size() 2009-12-11 21:24:33 -07:00
iovlock.c net_dma: poll for a descriptor after allocation failure 2009-09-08 17:38:54 -07:00
Kconfig Merge branch 'ioat' into fixes 2009-12-22 17:21:47 -07:00
Makefile ppc440spe-adma: adds updated ppc440spe adma driver 2009-12-11 21:24:44 -07:00
mv_xor.c mv_xor: implement a private tx_list 2009-09-08 17:53:03 -07:00
mv_xor.h mv_xor: implement a private tx_list 2009-09-08 17:53:03 -07:00
shdma.c Merge branch 'ioat' into fixes 2009-12-22 17:21:47 -07:00
shdma.h sh: fix DMA driver's descriptor chaining and cookie assignment 2009-12-17 09:41:39 -07:00
txx9dmac.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
txx9dmac.h txx9dmac: implement a private tx_list 2009-09-08 17:53:03 -07:00