>-----Original Message----- >From: ext Kevin Hilman [mailto:khilman@xxxxxxxxxxxxxxxxxxx] >Sent: 02 March, 2010 01:32 >To: Kristo Tero (Nokia-D/Tampere) >Cc: linux-omap@xxxxxxxxxxxxxxx >Subject: Re: [PATCHv6 4/9] OMAP3: PM: Removed pwrdm state >hacking from omap_sram_idle > >Tero Kristo <tero.kristo@xxxxxxxxx> writes: > >> From: Tero Kristo <tero.kristo@xxxxxxxxx> >> >> Following hacks will be moved inside cpuidle in subsequent patch: >> >> - CAM domain prevents idle completely >> - PER should not go OFF if core remains active >> >> This simplifies the design and allows cpuidle to keep better >track of which >> power states system will actually enter. >> >> Signed-off-by: Tero Kristo <tero.kristo@xxxxxxxxx> > >I think this should be combined with PATCH 7. IOW, the removal and >re-addition should be in the same patch. Ok, will change this. > >Kevin > >> --- >> arch/arm/mach-omap2/pm34xx.c | 19 ++----------------- >> 1 files changed, 2 insertions(+), 17 deletions(-) >> >> diff --git a/arch/arm/mach-omap2/pm34xx.c >b/arch/arm/mach-omap2/pm34xx.c >> index c2d80fc..cdbedcf 100644 >> --- a/arch/arm/mach-omap2/pm34xx.c >> +++ b/arch/arm/mach-omap2/pm34xx.c >> @@ -93,7 +93,6 @@ static int (*_omap_save_secure_sram)(u32 *addr); >> >> static struct powerdomain *mpu_pwrdm, *neon_pwrdm; >> static struct powerdomain *core_pwrdm, *per_pwrdm; >> -static struct powerdomain *cam_pwrdm; >> >> static struct prm_setup_vc prm_setup = { >> .clksetup = 0xff, >> @@ -373,7 +372,6 @@ void omap_sram_idle(void) >> int core_next_state = PWRDM_POWER_ON; >> int core_prev_state, per_prev_state; >> u32 sdrc_pwr = 0; >> - int per_state_modified = 0; >> >> if (!_omap_sram_idle) >> return; >> @@ -411,20 +409,11 @@ void omap_sram_idle(void) >> core_next_state = omap3_pwrdm_read_next_pwrst(core_pwrdm); >> if (per_next_state < PWRDM_POWER_ON) { >> omap2_gpio_prepare_for_idle(per_next_state); >> - if (per_next_state == PWRDM_POWER_OFF) { >> - if (core_next_state == PWRDM_POWER_ON) { >> - per_next_state = PWRDM_POWER_RET; >> - pwrdm_set_next_pwrst(per_pwrdm, >per_next_state); >> - per_state_modified = 1; >> - } else >> - omap3_per_save_context(); >> - } >> + if (per_next_state == PWRDM_POWER_OFF) >> + omap3_per_save_context(); >> omap_uart_prepare_idle(2); >> } >> >> - if (pwrdm_read_pwrst(cam_pwrdm) == PWRDM_POWER_ON) >> - omap2_clkdm_deny_idle(mpu_pwrdm->pwrdm_clkdms[0]); >> - >> /* >> * Disable smartreflex before entering WFI. >> * Only needed if we are going to enter retention or off. >> @@ -554,8 +543,6 @@ void omap_sram_idle(void) >> } >> omap2_gpio_resume_after_idle(); >> omap_uart_resume_idle(2); >> - if (per_state_modified) >> - pwrdm_set_next_pwrst(per_pwrdm, >PWRDM_POWER_OFF); >> } >> >> /* Disable IO-PAD and IO-CHAIN wakeup */ >> @@ -564,7 +551,6 @@ void omap_sram_idle(void) >> omap3_disable_io_chain(); >> } >> >> - >> pwrdm_post_transition(); >> } >> >> @@ -1239,7 +1225,6 @@ static int __init omap3_pm_init(void) >> neon_pwrdm = pwrdm_lookup("neon_pwrdm"); >> per_pwrdm = pwrdm_lookup("per_pwrdm"); >> core_pwrdm = pwrdm_lookup("core_pwrdm"); >> - cam_pwrdm = pwrdm_lookup("cam_pwrdm"); >> >> neon_clkdm = clkdm_lookup("neon_clkdm"); >> mpu_clkdm = clkdm_lookup("mpu_clkdm"); >> -- >> 1.5.4.3 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe >linux-omap" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >-- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html