diff options
author | Alex Frid <afrid@nvidia.com> | 2011-11-03 20:06:10 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:50:14 -0800 |
commit | 747708249583cfcc2d1a4133a83949083db43840 (patch) | |
tree | 88bace659e7284676efc5e2cbb32ef22e9d975bc /arch/arm/mach-tegra/dvfs.c | |
parent | ee49157debf0d7e71034149c1b37e7dcfe22122f (diff) |
ARM: tegra: dvfs: Fix dvfs over-voltage error handling
Record dvfs client voltage rate request only after over-voltage error
is checked (otherwise, after over-voltage error rail goes above the
limit when another client requests voltage change).
(cherry picked from commit 9151f77b545dc5b898ad16ceb695cc57764f94e0)
Signed-off-by: Alex Frid <afrid@nvidia.com>
(cherry picked from commit 40243988e73a13a5c94db410cb0335fa8a9b1e42)
Change-Id: I70769b2ffd7303db6e54bfc3e07b47ea3e67b7b8
Reviewed-on: http://git-master/r/64767
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Rebase-Id: Re82214f06084d58eed67edb35443f7a72ac4d112
Diffstat (limited to 'arch/arm/mach-tegra/dvfs.c')
-rw-r--r-- | arch/arm/mach-tegra/dvfs.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/dvfs.c b/arch/arm/mach-tegra/dvfs.c index 2276c8befbe5..c39a10a9e46b 100644 --- a/arch/arm/mach-tegra/dvfs.c +++ b/arch/arm/mach-tegra/dvfs.c @@ -266,13 +266,13 @@ __tegra_dvfs_set_rate(struct dvfs *d, unsigned long rate) while (i < d->num_freqs && rate > d->freqs[i]) i++; - d->cur_millivolts = d->millivolts[i]; if ((d->max_millivolts) && - (d->cur_millivolts > d->max_millivolts)) { + (d->millivolts[i] > d->max_millivolts)) { pr_warn("tegra_dvfs: voltage %d too high for dvfs on" - " %s\n", d->cur_millivolts, d->clk_name); + " %s\n", d->millivolts[i], d->clk_name); return -EINVAL; } + d->cur_millivolts = d->millivolts[i]; } d->cur_rate = rate; |