MLK-11385 dma: imx-sdma: enable clock before context restored

fix sdma driver resume back failed if SDMA clock disabled before suspend:

PM: noirq resume of devices complete after 0.802 msecs
imx-sdma 30bd0000.sdma: Timeout waiting for CH0 ready
imx-sdma 30bd0000.sdma: loaded firmware 4.1
imx-sdma 30bd0000.sdma: restore context error!
dpm_run_callback(): sdma_resume+0x0/0x1c8 returns -110
PM: Device 30bd0000.sdma failed to resume early: error -110

Signed-off-by: Robin Gong <b38343@freescale.com>
This commit is contained in:
Robin Gong
2015-08-19 15:32:44 +08:00
committed by Octavian Purdila
parent ac05495055
commit 7e84737c9c

View File

@ -2238,8 +2238,6 @@ static int sdma_resume(struct device *dev)
/* prepare priority for channel0 to start */
sdma_set_channel_priority(&sdma->channel[0], MXC_SDMA_DEFAULT_PRIORITY);
clk_disable(sdma->clk_ipg);
clk_disable(sdma->clk_ahb);
ret = sdma_get_firmware(sdma, sdma->fw_name);
if (ret) {
@ -2253,6 +2251,9 @@ static int sdma_resume(struct device *dev)
return ret;
}
clk_disable(sdma->clk_ipg);
clk_disable(sdma->clk_ahb);
return 0;
}
#endif