Smartreflex modules have to be disabled when device enters WFI.
Previously only suspend idle path had these calls. By moving the
disable/enable calls to omap_sram_idle, all idle paths will be covered.
Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
printk(KERN_ERR "Invalid mpu state in sram_idle\n");
return;
}
printk(KERN_ERR "Invalid mpu state in sram_idle\n");
return;
}
+ /* Disable smartreflex before entering WFI */
+ disable_smartreflex(SR1);
+ disable_smartreflex(SR2);
omap2_gpio_prepare_for_retention();
_omap_sram_idle(NULL, save_state);
omap2_gpio_resume_after_retention();
omap2_gpio_prepare_for_retention();
_omap_sram_idle(NULL, save_state);
omap2_gpio_resume_after_retention();
+
+ /* Enable smartreflex after WFI */
+ enable_smartreflex(SR1);
+ enable_smartreflex(SR2);
struct power_state *pwrst;
int state, ret = 0;
struct power_state *pwrst;
int state, ret = 0;
- /* XXX Disable smartreflex before entering suspend */
- disable_smartreflex(SR1);
- disable_smartreflex(SR2);
-
/* Read current next_pwrsts */
list_for_each_entry(pwrst, &pwrst_list, node)
pwrst->saved_state = pwrdm_read_next_pwrst(pwrst->pwrdm);
/* Read current next_pwrsts */
list_for_each_entry(pwrst, &pwrst_list, node)
pwrst->saved_state = pwrdm_read_next_pwrst(pwrst->pwrdm);
printk(KERN_INFO "Successfully put all powerdomains "
"to target state\n");
printk(KERN_INFO "Successfully put all powerdomains "
"to target state\n");
- /* XXX Enable smartreflex after suspend */
- enable_smartreflex(SR1);
- enable_smartreflex(SR2);
-