]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: pm: add L2 cache cleaning for suspend
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 1 Sep 2011 10:57:59 +0000 (11:57 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 4 Sep 2011 10:09:44 +0000 (11:09 +0100)
We need to ensure that state is pushed out from the L2 cache when
suspending so that the resume paths can access their data before the
MMU and caches have been re-initialized.  Add the necessary calls to
__cpu_suspend_save().

Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/suspend.c

index c78a88f10a8218f5c80b859398362f3a73b034a4..4c9541032fcd230c8e831bcef916c464476d6d2c 100644 (file)
@@ -28,6 +28,9 @@ void __cpu_suspend_save(u32 *ptr, u32 ptrsz, u32 sp, u32 *save_ptr)
        cpu_do_suspend(ptr);
 
        flush_cache_all();
+       outer_clean_range(*save_ptr, *save_ptr + ptrsz);
+       outer_clean_range(virt_to_phys(save_ptr),
+                         virt_to_phys(save_ptr) + sizeof(*save_ptr));
 }
 
 /*