aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/imx-sdma.c
diff options
context:
space:
mode:
authorRichard Zhao <richard.zhao@linaro.org>2012-01-12 22:09:59 -0500
committerVinod Koul <vinod.koul@linux.intel.com>2012-01-30 22:33:16 -0500
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 17a9d46bba15..1e0e516b481f 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)
802 sdma->channel_control[channel].base_bd_ptr = sdmac->bd_phys; 802 sdma->channel_control[channel].base_bd_ptr = sdmac->bd_phys;
803 sdma->channel_control[channel].current_bd_ptr = sdmac->bd_phys; 803 sdma->channel_control[channel].current_bd_ptr = sdmac->bd_phys;
804 804
805 clk_enable(sdma->clk);
806
807 sdma_set_channel_priority(sdmac, MXC_SDMA_DEFAULT_PRIORITY); 805 sdma_set_channel_priority(sdmac, MXC_SDMA_DEFAULT_PRIORITY);
808 806
809 init_completion(&sdmac->done); 807 init_completion(&sdmac->done);
@@ -873,6 +871,9 @@ static int sdma_alloc_chan_resources(struct dma_chan *chan)
873 871
874 sdmac->peripheral_type = data->peripheral_type; 872 sdmac->peripheral_type = data->peripheral_type;
875 sdmac->event_id0 = data->dma_request; 873 sdmac->event_id0 = data->dma_request;
874
875 clk_enable(sdmac->sdma->clk);
876
876 ret = sdma_request_channel(sdmac); 877 ret = sdma_request_channel(sdmac);
877 if (ret) 878 if (ret)
878 return ret; 879 return ret;