diff options
author | Nishanth Menon <nm@ti.com> | 2011-11-08 16:12:57 -0600 |
---|---|---|
committer | Todd Poynor <toddpoynor@google.com> | 2011-11-10 20:20:43 -0800 |
commit | dae19fc5862a70980b7a91939e407f7f90a842ce (patch) | |
tree | 011ed1dc0c80ed190e96ddd569220b9681cbb642 /arch/arm/mach-omap2/vp.c | |
parent | 6315584afe592abf4a201c75f3a7a01e9f076b42 (diff) | |
download | kernel_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.c | 12 |
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", |