ARM: EXYNOS: Clear ENABLE_WAKEUP_SW bit when entering suspend
authorJonathan Kliegman <kliegs@chromium.org>
Thu, 4 Apr 2013 06:15:49 +0000 (15:15 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Thu, 4 Apr 2013 06:15:49 +0000 (15:15 +0900)
Setting this bit to 0 causes the system to wait until suspended
to use the wakeup masks.  With it being set high previously,
masked interrupts were being received and processed before the
EINT_WAKEUP_MASK was configured.

Signed-off-by: Jonathan Kliegman <kliegs@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/mach-exynos/include/mach/pm-core.h

index 9d8da51..7dbbfec 100644 (file)
@@ -27,13 +27,8 @@ static inline void s3c_pm_debug_init_uart(void)
 
 static inline void s3c_pm_arch_prepare_irqs(void)
 {
-       unsigned int tmp;
-       tmp = __raw_readl(S5P_WAKEUP_MASK);
-       tmp &= ~(1 << 31);
-       __raw_writel(tmp, S5P_WAKEUP_MASK);
-
-       __raw_writel(s3c_irqwake_intmask, S5P_WAKEUP_MASK);
        __raw_writel(s3c_irqwake_eintmask, S5P_EINT_WAKEUP_MASK);
+       __raw_writel(s3c_irqwake_intmask & ~(1 << 31), S5P_WAKEUP_MASK);
 }
 
 static inline void s3c_pm_arch_stop_clocks(void)