aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pm34xx.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/pm34xx.c')
-rw-r--r--arch/arm/mach-omap2/pm34xx.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 429268eaf8b3..bb2ba1e03d09 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -346,7 +346,6 @@ void omap_sram_idle(void)
346 int core_next_state = PWRDM_POWER_ON; 346 int core_next_state = PWRDM_POWER_ON;
347 int core_prev_state, per_prev_state; 347 int core_prev_state, per_prev_state;
348 u32 sdrc_pwr = 0; 348 u32 sdrc_pwr = 0;
349 int per_state_modified = 0;
350 349
351 if (!_omap_sram_idle) 350 if (!_omap_sram_idle)
352 return; 351 return;
@@ -391,19 +390,10 @@ void omap_sram_idle(void)
391 if (per_next_state < PWRDM_POWER_ON) { 390 if (per_next_state < PWRDM_POWER_ON) {
392 omap_uart_prepare_idle(2); 391 omap_uart_prepare_idle(2);
393 omap2_gpio_prepare_for_idle(per_next_state); 392 omap2_gpio_prepare_for_idle(per_next_state);
394 if (per_next_state == PWRDM_POWER_OFF) { 393 if (per_next_state == PWRDM_POWER_OFF)
395 if (core_next_state == PWRDM_POWER_ON) {
396 per_next_state = PWRDM_POWER_RET;
397 pwrdm_set_next_pwrst(per_pwrdm, per_next_state);
398 per_state_modified = 1;
399 } else
400 omap3_per_save_context(); 394 omap3_per_save_context();
401 }
402 } 395 }
403 396
404 if (pwrdm_read_pwrst(cam_pwrdm) == PWRDM_POWER_ON)
405 omap2_clkdm_deny_idle(mpu_pwrdm->pwrdm_clkdms[0]);
406
407 /* CORE */ 397 /* CORE */
408 if (core_next_state < PWRDM_POWER_ON) { 398 if (core_next_state < PWRDM_POWER_ON) {
409 omap_uart_prepare_idle(0); 399 omap_uart_prepare_idle(0);
@@ -470,8 +460,6 @@ void omap_sram_idle(void)
470 if (per_prev_state == PWRDM_POWER_OFF) 460 if (per_prev_state == PWRDM_POWER_OFF)
471 omap3_per_restore_context(); 461 omap3_per_restore_context();
472 omap_uart_resume_idle(2); 462 omap_uart_resume_idle(2);
473 if (per_state_modified)
474 pwrdm_set_next_pwrst(per_pwrdm, PWRDM_POWER_OFF);
475 } 463 }
476 464
477 /* Disable IO-PAD and IO-CHAIN wakeup */ 465 /* Disable IO-PAD and IO-CHAIN wakeup */