adma: tegra: prepare clk source before using

Preparing clk source is required to have non-zero consumers
on the clk. The API clk_prepare() has to be called before
clk_enable(). Added similar changes during disable also

Change-Id: I27beac0d120cfa1b63cbb669de0482c9c13aacb3
(cherry picked from commit 9fa80d2afda2f2942d6c5b0407c59ad9e3337493)
Reviewed-on: http://git-master/r/795020
Signed-off-by: Asha T <atalambedu@nvidia.com>
Reviewed-on: http://git-master/r/807790
Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com>
This commit is contained in:
Sameer Pujar
2015-09-06 16:46:21 -07:00
parent 6db8dd359c
commit 036869e456

View File

@@ -60,8 +60,8 @@ static int tegra210_xbar_runtime_suspend(struct device *dev)
regcache_cache_only(xbar->regmap, true);
if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga())) {
clk_disable(xbar->clk);
clk_disable(xbar->clk_ape);
clk_disable_unprepare(xbar->clk);
clk_disable_unprepare(xbar->clk_ape);
}
return 0;
@@ -72,15 +72,15 @@ static int tegra210_xbar_runtime_resume(struct device *dev)
int ret;
if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga())) {
ret = clk_enable(xbar->clk_ape);
ret = clk_prepare_enable(xbar->clk_ape);
if (ret) {
dev_err(dev, "clk_enable failed: %d\n", ret);
dev_err(dev, "clk_prepare_enable failed: %d\n", ret);
return ret;
}
ret = clk_enable(xbar->clk);
ret = clk_prepare_enable(xbar->clk);
if (ret) {
dev_err(dev, "clk_enable failed: %d\n", ret);
dev_err(dev, "clk_prepare_enable failed: %d\n", ret);
return ret;
}
}