[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1458640151-15150-2-git-send-email-gpramod@codeaurora.org>
Date: Tue, 22 Mar 2016 15:19:10 +0530
From: Pramod Gurav <gpramod@...eaurora.org>
To: andy.gross@...aro.org, linux-kernel@...r.kernel.org
Cc: dmaengine@...r.kernel.org, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, dan.j.williams@...el.com,
vinod.koul@...el.com, okaya@...eaurora.org, architt@...eaurora.org,
Pramod Gurav <gpramod@...eaurora.org>
Subject: [PATCH 1/2] dmaengine: qcom_bam_dma: Clear IRQ only if its set
Clear the BAM IRQ bit only if there is a BAM interrupt.
Signed-off-by: Pramod Gurav <gpramod@...eaurora.org>
---
drivers/dma/qcom/bam_dma.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c
index d5e0a9c..0880345 100644
--- a/drivers/dma/qcom/bam_dma.c
+++ b/drivers/dma/qcom/bam_dma.c
@@ -807,7 +807,8 @@ static irqreturn_t bam_dma_irq(int irq, void *data)
/* don't allow reorder of the various accesses to the BAM registers */
mb();
- writel_relaxed(clr_mask, bam_addr(bdev, 0, BAM_IRQ_CLR));
+ if (srcs & BAM_IRQ)
+ writel_relaxed(clr_mask, bam_addr(bdev, 0, BAM_IRQ_CLR));
return IRQ_HANDLED;
}
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
Powered by blists - more mailing lists