summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/dma.c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2012-03-06 13:25:36 +0530
committerSimone Willett <swillett@nvidia.com>2012-03-06 20:07:55 -0800
commit79da479557b705fdf064bf5d9b06dff71035e51e (patch)
tree11cd3f1ab8cd82e98014858f91da395212080b1d /arch/arm/mach-tegra/dma.c
parent045dc9ab34b32922e8cb41a2baa22b30b4307588 (diff)
ARM: tegra: dma: Use correct clock device for resetting dma.
The clock name is "tegra_dma" for getting proper clock structure and using this for resetting dma. Change-Id: I44819ccc25d42f15b14a42d6616c776fa1ad95ec Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/87990 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/dma.c')
-rw-r--r--arch/arm/mach-tegra/dma.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/arch/arm/mach-tegra/dma.c b/arch/arm/mach-tegra/dma.c
index 732d65c2c6f6..7873dc5a3479 100644
--- a/arch/arm/mach-tegra/dma.c
+++ b/arch/arm/mach-tegra/dma.c
@@ -965,30 +965,29 @@ int __init tegra_dma_init(void)
int ret = 0;
int i;
unsigned int irq;
- struct clk *c;
bitmap_fill(channel_usage, NV_DMA_MAX_CHANNELS);
- c = clk_get_sys("tegra-dma", NULL);
- if (IS_ERR(c)) {
+ dma_clk = clk_get_sys("tegra-dma", NULL);
+ if (IS_ERR_OR_NULL(dma_clk)) {
pr_err("Unable to get clock for APB DMA\n");
- ret = PTR_ERR(c);
+ ret = PTR_ERR(dma_clk);
goto fail;
}
- ret = clk_enable(c);
+ ret = clk_enable(dma_clk);
if (ret != 0) {
pr_err("Unable to enable clock for APB DMA\n");
goto fail;
}
- dma_clk = clk_get_sys("apbdma", "apbdma");
- if (!IS_ERR_OR_NULL(dma_clk)) {
- clk_enable(dma_clk);
- tegra_periph_reset_assert(dma_clk);
- udelay(10);
- tegra_periph_reset_deassert(dma_clk);
- udelay(10);
- }
+ /*
+ * Resetting all dma channels to make sure all channels are in init
+ * state.
+ */
+ tegra_periph_reset_assert(dma_clk);
+ udelay(10);
+ tegra_periph_reset_deassert(dma_clk);
+ udelay(10);
writel(GEN_ENABLE, general_dma_addr + APB_DMA_GEN);
writel(0, general_dma_addr + APB_DMA_CNTRL);