summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2020-06-01 21:22:52 +0200
committerVinod Koul <vkoul@kernel.org>2020-06-16 21:59:01 +0530
commitc09a7ce668a666f1e044214647cb594940ba927c (patch)
treea290139d6ec04d02312c516e5373e603743a44e7
parent5bc382ec2f94a7c1b2a8938c6ca99c26a6fe5f58 (diff)
downloadlinux-c09a7ce668a666f1e044214647cb594940ba927c.tar.bz2
dmaengine: mmp_tdma: share the IRQ line
On a MMP2, the DMA interrupt is shared by all channels of the peripheral DMA controller and the audio DMA controller. Both drivers can identify their interrupts, but only the PDMA driver marks the line shared: [ 1.185782] mmp-pdma d4000000.dma: initialized 16 channels [ 1.186808] mmp-tdma d42a0800.adma: IRQ index 1 not found [ 1.194317] genirq: Flags mismatch irq 64. 00000000 (tdma) vs. 00000080 (pdma) [ 1.197894] mmp-tdma: probe of d42a0800.adma failed with error -16 Let's turn on IRQF_SHARED in the ADMA driver as well. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Link: https://lore.kernel.org/r/20200601192252.172773-1-lkundrak@v3.sk Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r--drivers/dma/mmp_tdma.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/dma/mmp_tdma.c b/drivers/dma/mmp_tdma.c
index dbc6a48424fa..960c7c40aef7 100644
--- a/drivers/dma/mmp_tdma.c
+++ b/drivers/dma/mmp_tdma.c
@@ -682,7 +682,7 @@ static int mmp_tdma_probe(struct platform_device *pdev)
if (irq_num != chan_num) {
irq = platform_get_irq(pdev, 0);
ret = devm_request_irq(&pdev->dev, irq,
- mmp_tdma_int_handler, 0, "tdma", tdev);
+ mmp_tdma_int_handler, IRQF_SHARED, "tdma", tdev);
if (ret)
return ret;
}