diff options
-rw-r--r-- | drivers/dma/imx-sdma.c | 6 |
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; } |