dmaengine: bcm2835: use platform_get_irq_byname
authorMartin Sperl <kernel@martin.sperl.org>
Mon, 11 Apr 2016 13:29:08 +0000 (13:29 +0000)
committerVinod Koul <vinod.koul@intel.com>
Tue, 19 Apr 2016 15:32:48 +0000 (21:02 +0530)
commite2eca6389b031cdbbc4172eee89ce271c00cb672
tree8d04e37288b8d3b47c6972794d629fb8eee21f0d
parente7679db714c356f8e27df2dc3ff721c0d3775448
dmaengine: bcm2835: use platform_get_irq_byname

Use platform_get_irq_byname to allow for correct mapping of
interrupts to dma channels.

The currently implemented device tree is unfortunately
implemented with the wrong assumption, that each dma-channel
has its own dma channel, but dma-irq 11 is handling
dma-channel 11-14 and dma-irq 12 is actually a "catch all"
interrupt.

So here we use the byname variant and require that interrupts
are explicitly named via the interrupts-name property in the
device tree.

The use of shared interrupts is also implemented.

As a side-effect this means we can now use dma channels 12, 13 and 14
in a correct manner - also testing shows that onl using
channels 11 to 14 for spi and i2s works perfectly (when playing
some video)

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Acked-by: Eric Anholt <eric@anholt.net>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/bcm2835-dma.c