Browse Source

OMAP3: PM: Use pwrdm_set_next_pwrst instead of set_pwrdm_state in idle loop

It is more efficient to use pwrdm_set_next_pwrst for mpu, core and neon
instead of set_pwrdm_state in idle loop. It is anyway known that those are
active in idle loop. So no need to use set_pwrdm_state.

Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Jouni Hogander 16 years ago
parent
commit
7139178e9b
2 changed files with 3 additions and 3 deletions
  1. 2 2
      arch/arm/mach-omap2/cpuidle34xx.c
  2. 1 1
      arch/arm/mach-omap2/pm34xx.c

+ 2 - 2
arch/arm/mach-omap2/cpuidle34xx.c

@@ -110,8 +110,8 @@ static int omap3_enter_idle(struct cpuidle_device *dev,
 			core_state = PWRDM_POWER_RET;
 	}
 
-	set_pwrdm_state(mpu_pd, mpu_state);
-	set_pwrdm_state(core_pd, core_state);
+	pwrdm_set_next_pwrst(mpu_pd, mpu_state);
+	pwrdm_set_next_pwrst(core_pd, core_state);
 
 	if (omap_irq_pending())
 		goto return_sleep_time;

+ 1 - 1
arch/arm/mach-omap2/pm34xx.c

@@ -359,7 +359,7 @@ void omap_sram_idle(void)
 
 	/* NEON control */
 	if (pwrdm_read_pwrst(neon_pwrdm) == PWRDM_POWER_ON)
-		set_pwrdm_state(neon_pwrdm, mpu_next_state);
+		pwrdm_set_next_pwrst(neon_pwrdm, mpu_next_state);
 
 	/* PER */
 	per_next_state = pwrdm_read_next_pwrst(per_pwrdm);