aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/vp.c
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2011-11-08 16:12:57 -0600
committerTodd Poynor <toddpoynor@google.com>2011-11-10 20:20:43 -0800
commitdae19fc5862a70980b7a91939e407f7f90a842ce (patch)
tree011ed1dc0c80ed190e96ddd569220b9681cbb642 /arch/arm/mach-omap2/vp.c
parent6315584afe592abf4a201c75f3a7a01e9f076b42 (diff)
downloadkernel_samsung_tuna-dae19fc5862a70980b7a91939e407f7f90a842ce.zip
kernel_samsung_tuna-dae19fc5862a70980b7a91939e407f7f90a842ce.tar.gz
kernel_samsung_tuna-dae19fc5862a70980b7a91939e407f7f90a842ce.tar.bz2
OMAP3+: PM: VP: check only the VPINIDLE status bit
Currently we check against the status register where bits 1-31 are marked as reserved and mentioned in TRM as read returns undefined values. Hence, check against purely the vpinidle status bit. Change-Id: I86420d33caaa86a6044ee552caeb2afb2e3fa4a1 Signed-off-by: Nishanth Menon <nm@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/vp.c')
-rw-r--r--arch/arm/mach-omap2/vp.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
index 4202701..df0f710 100644
--- a/arch/arm/mach-omap2/vp.c
+++ b/arch/arm/mach-omap2/vp.c
@@ -147,8 +147,8 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
* This is an additional allowance to ensure we are in proper state
* to enter into forceupdate state transition.
*/
- omap_test_timeout((voltdm->read(vp->vstatus)), VP_IDLE_TIMEOUT,
- timeout);
+ omap_test_timeout((voltdm->read(vp->vstatus) & vp->common->vstatus_vpidle),
+ VP_IDLE_TIMEOUT, timeout);
if (timeout >= VP_IDLE_TIMEOUT)
_vp_controlled_err("%s:vdd_%s idletimdout forceupdate(v=%ld)\n",
@@ -348,8 +348,8 @@ void omap_vp_disable(struct voltagedomain *voltdm)
* Wait for VP idle Typical latency is <2us. Maximum latency is ~100us
* Depending on if we catch VP in the middle of an SR operation.
*/
- omap_test_timeout((voltdm->read(vp->vstatus)),
- VP_IDLE_TIMEOUT, timeout);
+ omap_test_timeout((voltdm->read(vp->vstatus) & vp->common->vstatus_vpidle),
+ VP_IDLE_TIMEOUT, timeout);
if (timeout >= VP_IDLE_TIMEOUT)
pr_warning("%s: vdd_%s idle timedout before disable\n",
@@ -363,8 +363,8 @@ void omap_vp_disable(struct voltagedomain *voltdm)
/*
* Wait for VP idle Typical latency is <2us. Maximum latency is ~100us
*/
- omap_test_timeout((voltdm->read(vp->vstatus)),
- VP_IDLE_TIMEOUT, timeout);
+ omap_test_timeout((voltdm->read(vp->vstatus) & vp->common->vstatus_vpidle),
+ VP_IDLE_TIMEOUT, timeout);
if (timeout >= VP_IDLE_TIMEOUT)
pr_warning("%s: vdd_%s idle timedout after disable\n",