[PATCH] dmaengine: mxs-dma: skip request_irq for NO_IRQ

Vinod Koul vkoul at infradead.org
Wed Jul 6 22:06:00 EDT 2011


On Thu, 2011-07-07 at 08:15 +0800, Shawn Guo wrote:
> On Thu, Jun 30, 2011 at 04:06:33PM +0800, Shawn Guo wrote:
> > In general, the mxs-dma users get separate irq for each channel,
> > but gpmi is special one which has only one irq shared by all gpmi
> > channels.  It causes mxs_dma channel allocation function fail for
> > all other gpmi channels except the first one calling into the
> > function.
> > 
> > The patch gets request_irq call skipped for NO_IRQ case, and leaves
> > this gpmi specific quirk to gpmi driver to sort out.  It will fix
> > above problem if gpmi driver sets chan_irq as gpmi irq for only one
> > channel and NO_IRQ for all the rest channels.
> > 
> > Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
> > Cc: Vinod Koul <vinod.koul at intel.com>
> > ---
> 
> Hi Vinod,
> 
> Can you please take this patch?
> 
> Regards,
> Shawn
Looks okay to me. Have queued it up and should show up in my tree latest by early next week.
I am on road, hence the delay...


> >  drivers/dma/mxs-dma.c |   10 ++++++----
> >  1 files changed, 6 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
> > index 88aad4f..2870d91 100644
> > --- a/drivers/dma/mxs-dma.c
> > +++ b/drivers/dma/mxs-dma.c
> > @@ -327,10 +327,12 @@ static int mxs_dma_alloc_chan_resources(struct dma_chan *chan)
> >  
> >  	memset(mxs_chan->ccw, 0, PAGE_SIZE);
> >  
> > -	ret = request_irq(mxs_chan->chan_irq, mxs_dma_int_handler,
> > -				0, "mxs-dma", mxs_dma);
> > -	if (ret)
> > -		goto err_irq;
> > +	if (mxs_chan->chan_irq != NO_IRQ) {
> > +		ret = request_irq(mxs_chan->chan_irq, mxs_dma_int_handler,
> > +					0, "mxs-dma", mxs_dma);
> > +		if (ret)
> > +			goto err_irq;
> > +	}
> >  
> >  	ret = clk_enable(mxs_dma->clk);
> >  	if (ret)
> > -- 
> > 1.7.4.1
> > 
> > 
> > 
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> > 
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

-- 
~Vinod Koul
Intel Corp.




More information about the linux-arm-kernel mailing list