diff options
author | Alex Frid <afrid@nvidia.com> | 2011-11-03 20:06:10 -0700 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-11-15 11:52:07 -0800 |
commit | 40243988e73a13a5c94db410cb0335fa8a9b1e42 (patch) | |
tree | 46964ccbc9f0578535cc316102abddb15cc3531b /arch | |
parent | b30bf0b313131037baffed7b6467eb1e0f021d19 (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)
Change-Id: I20b70beadb226980c55feeea5510a52bc155eb73
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/63977
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'arch')
-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 237876cff472..6a32218238e4 100644 --- a/arch/arm/mach-tegra/dvfs.c +++ b/arch/arm/mach-tegra/dvfs.c @@ -339,13 +339,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; |