msm: dma: Enable clock while initializing datamover
Previously we were not enabling the clock before we wrote to
configuration registers at boot time. This causes resets if the clock is
not turned on by default.
Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
diff --git a/arch/arm/mach-msm/dma.c b/arch/arm/mach-msm/dma.c
index 5899d2b..f63be92 100644
--- a/arch/arm/mach-msm/dma.c
+++ b/arch/arm/mach-msm/dma.c
@@ -771,6 +771,11 @@
PRINT_ERROR("Requesting ADM%d clocks failed\n", adm);
return -ENOENT;
}
+ ret = msm_dmov_clk_toggle(adm, 1);
+ if (ret) {
+ PRINT_ERROR("Enabling ADM%d clocks failed\n", adm);
+ return -ENOENT;
+ }
config_datamover(adm);
for (i = 0; i < MSM_DMOV_CHANNEL_COUNT; i++) {
@@ -782,6 +787,7 @@
DMOV_REG(DMOV_RSLT_CONF(i), adm));
}
wmb();
+ msm_dmov_clk_toggle(adm, 0);
return ret;
}