diff options
author | Nishanth Menon <nm@ti.com> | 2012-02-23 17:28:48 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2012-06-20 10:27:24 +0800 |
commit | 9c7f05bd31ad714eeebf8e56f56b278825a927f9 (patch) | |
tree | de4c67361dbfcb9cf3aa0aafda07b0914224786c | |
parent | 958ab3af1eba79f238e14f766c6b648371c5b02b (diff) |
OMAP4: PM: Dont write to readonly/reserved powerdomain register on suspend
Some of the powerst control/logic_st_ctrl registers such as
CAM, EMU, ABE, etc. are reserved registers, we shouldn't be
writing to them in the first place. The ALWAYS_ON power domains
(wakeup, those of core, DSP, MPU), STD_EFUSE are not under
software control, hence for the purposes of this patch, considered as
not modifiable by software.
Signed-off-by: Nishanth Menon <nm@ti.com>
-rw-r--r-- | arch/arm/mach-omap2/pm44xx.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c index 2fa825c837c..52b3fa2770a 100644 --- a/arch/arm/mach-omap2/pm44xx.c +++ b/arch/arm/mach-omap2/pm44xx.c @@ -249,8 +249,12 @@ static int omap4_restore_pwdms_after_suspend(void) if (cstate == pwrst->saved_state) continue; - omap_set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state); - pwrdm_set_logic_retst(pwrst->pwrdm, pwrst->saved_logic_state); + if (pwrst->pwrdm->pwrsts) + omap_set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state); + + if (pwrst->pwrdm->pwrsts_logic_ret) + pwrdm_set_logic_retst(pwrst->pwrdm, + pwrst->saved_logic_state); } return ret; |