From: Tony Lindgren Date: Mon, 11 Feb 2013 17:20:50 +0000 (-0800) Subject: Merge tag 'omap-devel-b-for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git... X-Git-Tag: v3.9-rc1~36^2~3^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=58a656b77a3d352631d058df0ac2a1da92e3a0f0;p=profile%2Fivi%2Fkernel-x86-ivi.git Merge tag 'omap-devel-b-for-3.9' of git://git./linux/kernel/git/pjw/omap-pending into omap-for-v3.9/pm-wfi-take2 On OMAP2+ devices, standardize and clean up WFI entry and WFI blocking. Basic test logs are available here: http://www.pwsan.com/omap/testlogs/wfi_devel_a_3.9/20130208085027/ Conflicts: arch/arm/mach-omap2/pm24xx.c --- 58a656b77a3d352631d058df0ac2a1da92e3a0f0 diff --cc arch/arm/mach-omap2/pm24xx.c index b2a4df6,bc44bcd..b59d939 --- a/arch/arm/mach-omap2/pm24xx.c +++ b/arch/arm/mach-omap2/pm24xx.c @@@ -172,16 -174,18 +173,17 @@@ static void omap2_enter_mpu_retention(v omap2_prm_write_mod_reg(0xffffffff, WKUP_MOD, PM_WKST); /* Try to enter MPU retention */ - omap2_prm_write_mod_reg((0x01 << OMAP_POWERSTATE_SHIFT) | - OMAP_LOGICRETSTATE_MASK, - MPU_MOD, OMAP2_PM_PWSTCTRL); + pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_RET); + } else { /* Block MPU retention */ - - omap2_prm_write_mod_reg(OMAP_LOGICRETSTATE_MASK, MPU_MOD, - OMAP2_PM_PWSTCTRL); + pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_ON); } - omap2_sram_idle(); + /* WFI */ + asm("mcr p15, 0, %0, c7, c0, 4" : : "r" (zero) : "memory", "cc"); + + pwrdm_set_next_pwrst(mpu_pwrdm, PWRDM_POWER_ON); } static int omap2_can_sleep(void)