Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
[pandora-kernel.git] / arch / blackfin / mach-common / pm.c
index ea7f95f..80884b1 100644 (file)
@@ -25,7 +25,7 @@ void bfin_pm_suspend_standby_enter(void)
 {
        unsigned long flags;
 
-       local_irq_save_hw(flags);
+       flags = hard_local_irq_save();
        bfin_pm_standby_setup();
 
 #ifdef CONFIG_PM_BFIN_SLEEP_DEEPER
@@ -56,15 +56,16 @@ void bfin_pm_suspend_standby_enter(void)
        bfin_write_SIC_IWR(IWR_DISABLE_ALL);
 #endif
 
-       local_irq_restore_hw(flags);
+       hard_local_irq_restore(flags);
 }
 
 int bf53x_suspend_l1_mem(unsigned char *memptr)
 {
-       dma_memcpy(memptr, (const void *) L1_CODE_START, L1_CODE_LENGTH);
-       dma_memcpy(memptr + L1_CODE_LENGTH, (const void *) L1_DATA_A_START,
-                       L1_DATA_A_LENGTH);
-       dma_memcpy(memptr + L1_CODE_LENGTH + L1_DATA_A_LENGTH,
+       dma_memcpy_nocache(memptr, (const void *) L1_CODE_START,
+                       L1_CODE_LENGTH);
+       dma_memcpy_nocache(memptr + L1_CODE_LENGTH,
+                       (const void *) L1_DATA_A_START, L1_DATA_A_LENGTH);
+       dma_memcpy_nocache(memptr + L1_CODE_LENGTH + L1_DATA_A_LENGTH,
                        (const void *) L1_DATA_B_START, L1_DATA_B_LENGTH);
        memcpy(memptr + L1_CODE_LENGTH + L1_DATA_A_LENGTH +
                        L1_DATA_B_LENGTH, (const void *) L1_SCRATCH_START,
@@ -75,10 +76,10 @@ int bf53x_suspend_l1_mem(unsigned char *memptr)
 
 int bf53x_resume_l1_mem(unsigned char *memptr)
 {
-       dma_memcpy((void *) L1_CODE_START, memptr, L1_CODE_LENGTH);
-       dma_memcpy((void *) L1_DATA_A_START, memptr + L1_CODE_LENGTH,
+       dma_memcpy_nocache((void *) L1_CODE_START, memptr, L1_CODE_LENGTH);
+       dma_memcpy_nocache((void *) L1_DATA_A_START, memptr + L1_CODE_LENGTH,
                        L1_DATA_A_LENGTH);
-       dma_memcpy((void *) L1_DATA_B_START, memptr + L1_CODE_LENGTH +
+       dma_memcpy_nocache((void *) L1_DATA_B_START, memptr + L1_CODE_LENGTH +
                        L1_DATA_A_LENGTH, L1_DATA_B_LENGTH);
        memcpy((void *) L1_SCRATCH_START, memptr + L1_CODE_LENGTH +
                        L1_DATA_A_LENGTH + L1_DATA_B_LENGTH, L1_SCRATCH_LENGTH);
@@ -148,12 +149,12 @@ int bfin_pm_suspend_mem_enter(void)
        wakeup |= GPWE;
 #endif
 
-       local_irq_save_hw(flags);
+       flags = hard_local_irq_save();
 
        ret = blackfin_dma_suspend();
 
        if (ret) {
-               local_irq_restore_hw(flags);
+               hard_local_irq_restore(flags);
                kfree(memptr);
                return ret;
        }
@@ -167,7 +168,7 @@ int bfin_pm_suspend_mem_enter(void)
        _disable_icplb();
        bf53x_suspend_l1_mem(memptr);
 
-       do_hibernate(wakeup | vr_wakeup);       /* Goodbye */
+       do_hibernate(wakeup | vr_wakeup);       /* See you later! */
 
        bf53x_resume_l1_mem(memptr);
 
@@ -177,7 +178,7 @@ int bfin_pm_suspend_mem_enter(void)
        bfin_gpio_pm_hibernate_restore();
        blackfin_dma_resume();
 
-       local_irq_restore_hw(flags);
+       hard_local_irq_restore(flags);
        kfree(memptr);
 
        return 0;