[PATCH] dmaengine: mxs-dma: skip request_irq for NO_IRQ
From: Vinod Koul <hidden>
Date: 2011-07-07 02:06:00
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:quoted
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 <redacted> Cc: Vinod Koul <redacted> ---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...
quoted
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.