summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNishanth Menon <nm@ti.com>2012-02-23 17:28:48 +0800
committerAndy Green <andy.green@linaro.org>2012-06-20 10:27:24 +0800
commit9c7f05bd31ad714eeebf8e56f56b278825a927f9 (patch)
treede4c67361dbfcb9cf3aa0aafda07b0914224786c
parent958ab3af1eba79f238e14f766c6b648371c5b02b (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.c8
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;