[GIT PULL] i.MX3 patches
Arnd Bergmann
arnd at arndb.de
Fri Mar 2 10:07:56 EST 2012
On Friday 02 March 2012, Sascha Hauer wrote:
> Hi Arnd,
>
> Please pull the following i.MX3 specific patches for -next. Note
> that 1/2 depends on your imx/cleanup branch since it includes
> crmregs-imx3.h which is created in this branch.
>
> The following changes since commit d65b4e98d7ea3038b767b70fe8be959b2913f16d:
>
> Linux 3.3-rc3 (2012-02-08 19:21:53 -0800)
>
> are available in the git repository at:
>
> git://git.pengutronix.de/git/imx/linux-2.6.git features/imx3
Pulled into next/soc.
I got a merge conflict against Nico's 4a3ea244 "ARM: plat-mxc: hook special idle
handlers to arm_pm_idle" and did the obvious merge below. Please complain
if this needs some other resolution.
Thanks,
Arnd
diff --cc arch/arm/mach-imx/mm-imx3.c
index 8404ee7,35ce8b5..b23bd3f
--- a/arch/arm/mach-imx/mm-imx3.c
+++ b/arch/arm/mach-imx/mm-imx3.c
@@@ -34,29 -34,33 +34,31 @@@ static void imx3_idle(void
{
unsigned long reg = 0;
+ mx3_cpu_lp_set(MX3_WAIT);
+
- if (!need_resched())
- __asm__ __volatile__(
- /* disable I and D cache */
- "mrc p15, 0, %0, c1, c0, 0\n"
- "bic %0, %0, #0x00001000\n"
- "bic %0, %0, #0x00000004\n"
- "mcr p15, 0, %0, c1, c0, 0\n"
- /* invalidate I cache */
- "mov %0, #0\n"
- "mcr p15, 0, %0, c7, c5, 0\n"
- /* clear and invalidate D cache */
- "mov %0, #0\n"
- "mcr p15, 0, %0, c7, c14, 0\n"
- /* WFI */
- "mov %0, #0\n"
- "mcr p15, 0, %0, c7, c0, 4\n"
- "nop\n" "nop\n" "nop\n" "nop\n"
- "nop\n" "nop\n" "nop\n"
- /* enable I and D cache */
- "mrc p15, 0, %0, c1, c0, 0\n"
- "orr %0, %0, #0x00001000\n"
- "orr %0, %0, #0x00000004\n"
- "mcr p15, 0, %0, c1, c0, 0\n"
- : "=r" (reg));
- local_irq_enable();
+ __asm__ __volatile__(
+ /* disable I and D cache */
+ "mrc p15, 0, %0, c1, c0, 0\n"
+ "bic %0, %0, #0x00001000\n"
+ "bic %0, %0, #0x00000004\n"
+ "mcr p15, 0, %0, c1, c0, 0\n"
+ /* invalidate I cache */
+ "mov %0, #0\n"
+ "mcr p15, 0, %0, c7, c5, 0\n"
+ /* clear and invalidate D cache */
+ "mov %0, #0\n"
+ "mcr p15, 0, %0, c7, c14, 0\n"
+ /* WFI */
+ "mov %0, #0\n"
+ "mcr p15, 0, %0, c7, c0, 4\n"
+ "nop\n" "nop\n" "nop\n" "nop\n"
+ "nop\n" "nop\n" "nop\n"
+ /* enable I and D cache */
+ "mrc p15, 0, %0, c1, c0, 0\n"
+ "orr %0, %0, #0x00001000\n"
+ "orr %0, %0, #0x00000004\n"
+ "mcr p15, 0, %0, c1, c0, 0\n"
+ : "=r" (reg));
}
static void __iomem *imx3_ioremap(unsigned long phys_addr, size_t size,
More information about the linux-arm-kernel
mailing list