Merge tag 'ceph-for-4.9-rc1' of git://github.com/ceph/ceph-client
[cascardo/linux.git] / arch / arm / mach-imx / cpuidle-imx6sx.c
index 261aaa4..c5a5c3a 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/cpuidle.h>
 #include <linux/cpu_pm.h>
 #include <linux/module.h>
+#include <asm/cacheflush.h>
 #include <asm/cpuidle.h>
 #include <asm/suspend.h>
 
 
 static int imx6sx_idle_finish(unsigned long val)
 {
+       /*
+        * for Cortex-A7 which has an internal L2
+        * cache, need to flush it before powering
+        * down ARM platform, since flushing L1 cache
+        * here again has very small overhead, compared
+        * to adding conditional code for L2 cache type,
+        * just call flush_cache_all() is fine.
+        */
+       flush_cache_all();
        cpu_do_idle();
 
        return 0;