summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2012-03-06 13:31:12 +0530
committerSimone Willett <swillett@nvidia.com>2012-03-06 20:08:06 -0800
commitd5824b800ac2273f684ca814462f9055cd86d2fd (patch)
tree57103edbab13cc9a32d8cc3b48ef74d102e151ef
parent79da479557b705fdf064bf5d9b06dff71035e51e (diff)
ARM: tegra: dma: Implement clock gating on suspend/resume
Disabling clock of apb dma in suspend and enabling back on resume. Change-Id: I6320072ea25565bcab4833c9b10dcb6a9d526ac6 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/87991 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/dma.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/dma.c b/arch/arm/mach-tegra/dma.c
index 7873dc5a3479..c5f32e69316f 100644
--- a/arch/arm/mach-tegra/dma.c
+++ b/arch/arm/mach-tegra/dma.c
@@ -1066,6 +1066,8 @@ static int tegra_dma_suspend(void)
*ctx++ = readl(addr + APB_DMA_CHAN_APB_SEQ);
}
+ /* Disabling clock of dma. */
+ clk_disable(dma_clk);
return 0;
}
@@ -1074,6 +1076,9 @@ static void tegra_dma_resume(void)
u32 *ctx = apb_dma;
int i;
+ /* Enabling clock of dma. */
+ clk_enable(dma_clk);
+
writel(*ctx++, general_dma_addr + APB_DMA_GEN);
writel(*ctx++, general_dma_addr + APB_DMA_CNTRL);
writel(*ctx++, general_dma_addr + APB_DMA_IRQ_MASK);