> -----Original Message----- > From: Koul, Vinod > Sent: Wednesday, February 11, 2015 9:19 AM > To: Andy Shevchenko > Cc: Jie, Yang; dmaengine@xxxxxxxxxxxxxxx; Girdwood, Liam R > Subject: Re: [PATCH] dmaengine: dw: don't handle interrupt when > dmaengine is not used > > On Tue, Jan 20, 2015 at 11:36:05AM +0200, Andy Shevchenko wrote: > > On Tue, 2015-01-20 at 17:12 +0800, Jie Yang wrote: > > > When dma controller is not used by any user and set off, we should > > > disble interrupt handler, at least the interrupt reset part, for > > > some subsystem, e.g. ADSP, may use the dma in its own logic, here > > > reset the interrupt may make this subsystem work abnormally. > > > > I think like on Intel MID (Medfield) there should be a specific > > register to route interrupt pin from ADSP to CPU and vise versa. So, > > my understanding we have to utilize that register somehow. > > > > Since it's quite specific to ADSP HW I would consider that ADSP driver > > would take care of this. > > > > Vinod, it seems we already discussed this earlier, though I'm not > > quite sure I remember your point. Can you share your opinion? > Yes using those registers is recommended. Not handling a kernel irq seems > not a good option. > > Do we have an updated patch for this now? [Keyon] Andy sent out a update patch on 2015/1/27: [PATCH] dmaengine: dw: disable BLOCK interrupts in dw_dma_off() What's your opinion for that solution? > > -- > ~Vinod > > > > > > > > Signed-off-by: Jie Yang <yang.jie@xxxxxxxxx> > > > --- > > > drivers/dma/dw/core.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c index > > > 3804785..ac0d6f6 100644 > > > --- a/drivers/dma/dw/core.c > > > +++ b/drivers/dma/dw/core.c > > > @@ -619,7 +619,7 @@ static irqreturn_t dw_dma_interrupt(int irq, void > *dev_id) > > > dev_vdbg(dw->dma.dev, "%s: status=0x%x\n", __func__, status); > > > > > > /* Check if we have any interrupt from the DMAC */ > > > - if (!status) > > > + if (!status || !dw->in_use) > > > return IRQ_NONE; > > > > > > /* > > > > > > -- > > Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> Intel Finland Oy > > > > -- -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html