• Martin Sperl's avatar
    dmaengine: bcm2835: use platform_get_irq_byname · e2eca638
    Martin Sperl authored
    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: default avatarMartin Sperl <kernel@martin.sperl.org>
    Acked-by: default avatarEric Anholt <eric@anholt.net>
    Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
    Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
    e2eca638
bcm2835-dma.c 28.2 KB