summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/dma/imx-sdma.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index dffc54f7ebba..39b59b7c50a4 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -870,6 +870,9 @@ static irqreturn_t sdma_int_handler(int irq, void *dev_id)
struct sdma_engine *sdma = dev_id;
unsigned long stat;
+ clk_enable(sdma->clk_ipg);
+ clk_enable(sdma->clk_ahb);
+
stat = readl_relaxed(sdma->regs + SDMA_H_INTR);
writel_relaxed(stat, sdma->regs + SDMA_H_INTR);
/* channel 0 is special and not handled here, see run_channel0() */
@@ -900,6 +903,9 @@ static irqreturn_t sdma_int_handler(int irq, void *dev_id)
spin_unlock(&sdmac->vc.lock);
}
+ clk_disable(sdma->clk_ipg);
+ clk_disable(sdma->clk_ahb);
+
return IRQ_HANDLED;
}