dmaengine.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RESEND PATCH] dmaengine: mmp_tdma: share the IRQ line
@ 2020-06-01 19:22 Lubomir Rintel
  2020-06-16 16:28 ` Vinod Koul
  0 siblings, 1 reply; 2+ messages in thread
From: Lubomir Rintel @ 2020-06-01 19:22 UTC (permalink / raw)
  To: Vinod Koul; +Cc: Dan Williams, dmaengine, linux-kernel, Lubomir Rintel

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>
---
 drivers/dma/mmp_tdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma/mmp_tdma.c b/drivers/dma/mmp_tdma.c
index 38f2298879881..e7eb3e83b00ed 100644
--- a/drivers/dma/mmp_tdma.c
+++ b/drivers/dma/mmp_tdma.c
@@ -696,7 +696,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;
 	}
-- 
2.26.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [RESEND PATCH] dmaengine: mmp_tdma: share the IRQ line
  2020-06-01 19:22 [RESEND PATCH] dmaengine: mmp_tdma: share the IRQ line Lubomir Rintel
@ 2020-06-16 16:28 ` Vinod Koul
  0 siblings, 0 replies; 2+ messages in thread
From: Vinod Koul @ 2020-06-16 16:28 UTC (permalink / raw)
  To: Lubomir Rintel; +Cc: Dan Williams, dmaengine, linux-kernel

On 01-06-20, 21:22, Lubomir Rintel wrote:
> 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.

Applied, thanks

-- 
~Vinod

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-06-16 16:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-01 19:22 [RESEND PATCH] dmaengine: mmp_tdma: share the IRQ line Lubomir Rintel
2020-06-16 16:28 ` Vinod Koul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).