summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2012-05-04 18:07:08 -0700
committerSimone Willett <swillett@nvidia.com>2012-05-09 10:12:00 -0700
commit8fbd140659857935fab495332e71b99486792b21 (patch)
treeb9d804f88d3eede8696b7d8a95dcb5fb496bb02e
parentc813274c51fc0d1c237737133f123f250aa37f67 (diff)
Revert "ARM: tegra: clock: Don't fail clk_enable when max_rate has been lowered"
This reverts commit 8d351aa5478de533114e614f2607bc85ed23df91. The above commit introduced recursive call of clk enable/set rate APIs that may hang the system. Change-Id: I04eff9e1c3ddee82f6d2e17690122cc41fad203f Signed-off-by: Alex Frid <afrid@nvidia.com> Reviewed-on: http://git-master/r/100710 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/clock.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/arch/arm/mach-tegra/clock.c b/arch/arm/mach-tegra/clock.c
index d173449e5b62..2560b8319449 100644
--- a/arch/arm/mach-tegra/clock.c
+++ b/arch/arm/mach-tegra/clock.c
@@ -238,16 +238,9 @@ void clk_init(struct clk *c)
static int clk_enable_locked(struct clk *c)
{
int ret = 0;
- int rate = clk_get_rate_locked(c);
- bool set_rate = false;
-
- if (rate > c->max_rate) {
- rate = c->max_rate;
- set_rate = true;
- }
if (clk_is_auto_dvfs(c)) {
- ret = tegra_dvfs_set_rate(c, rate);
+ ret = tegra_dvfs_set_rate(c, clk_get_rate_locked(c));
if (ret)
return ret;
}
@@ -259,9 +252,6 @@ static int clk_enable_locked(struct clk *c)
return ret;
}
- if (set_rate)
- clk_set_rate_locked(c, rate);
-
if (c->ops && c->ops->enable) {
ret = c->ops->enable(c);
trace_clock_enable(c->name, 1, 0);