summaryrefslogtreecommitdiffstats
path: root/drivers/dma/imx-sdma.c
diff options
context:
space:
mode:
authorRichard Zhao <richard.zhao@linaro.org>2012-01-13 11:09:59 +0800
committerVinod Koul <vinod.koul@linux.intel.com>2012-01-31 09:03:16 +0530
commitc2c744d3aa48f845626131176772bae2a3c9d5bc (patch)
tree91d026175e01deac9c1fda8e311835ecf2048075 /drivers/dma/imx-sdma.c
parent3bb5e7caf9641b6a532a55cf3a3621ef814f57ee (diff)
dma/imx-sdma: move clk_enable out of sdma_request_channel
It makes clk_enable/disable pair more readable, and fix one bug: sdma_init calls sdma_request_channel, but seems don't know sdma_request_channel enabled the clock. Signed-off-by: Richard Zhao <richard.zhao@linaro.org> Acked-by: Shawn Guo <shawn.guo@linaro.org> [fixed typo in commit log] Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Diffstat (limited to 'drivers/dma/imx-sdma.c')
-rw-r--r--drivers/dma/imx-sdma.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index 17a9d46bba1..1e0e516b481 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -802,8 +802,6 @@ static int sdma_request_channel(struct sdma_channel *sdmac)
sdma->channel_control[channel].base_bd_ptr = sdmac->bd_phys;
sdma->channel_control[channel].current_bd_ptr = sdmac->bd_phys;
- clk_enable(sdma->clk);
-
sdma_set_channel_priority(sdmac, MXC_SDMA_DEFAULT_PRIORITY);
init_completion(&sdmac->done);
@@ -873,6 +871,9 @@ static int sdma_alloc_chan_resources(struct dma_chan *chan)
sdmac->peripheral_type = data->peripheral_type;
sdmac->event_id0 = data->dma_request;
+
+ clk_enable(sdmac->sdma->clk);
+
ret = sdma_request_channel(sdmac);
if (ret)
return ret;