summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2011-11-03 20:06:10 -0700
committerVarun Colbert <vcolbert@nvidia.com>2011-11-15 11:52:07 -0800
commit40243988e73a13a5c94db410cb0335fa8a9b1e42 (patch)
tree46964ccbc9f0578535cc316102abddb15cc3531b /arch
parentb30bf0b313131037baffed7b6467eb1e0f021d19 (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.c6
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;