Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758566AbcCVJuQ (ORCPT ); Tue, 22 Mar 2016 05:50:16 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:59440 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755863AbcCVJuI (ORCPT ); Tue, 22 Mar 2016 05:50:08 -0400 From: Pramod Gurav To: andy.gross@linaro.org, linux-kernel@vger.kernel.org Cc: dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, dan.j.williams@intel.com, vinod.koul@intel.com, okaya@codeaurora.org, architt@codeaurora.org, Pramod Gurav Subject: [PATCH 1/2] dmaengine: qcom_bam_dma: Clear IRQ only if its set Date: Tue, 22 Mar 2016 15:19:10 +0530 Message-Id: <1458640151-15150-2-git-send-email-gpramod@codeaurora.org> X-Mailer: git-send-email 1.8.2.1 In-Reply-To: <1458640151-15150-1-git-send-email-gpramod@codeaurora.org> References: <1458640151-15150-1-git-send-email-gpramod@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 820 Lines: 24 Clear the BAM IRQ bit only if there is a BAM interrupt. Signed-off-by: Pramod Gurav --- 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