]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
video: tegra: nvmap: clean L1 on all cores
authorKrishna Reddy <vdumpa@nvidia.com>
Mon, 6 Apr 2015 18:32:33 +0000 (11:32 -0700)
committerMatthew Pedro <mapedro@nvidia.com>
Thu, 14 May 2015 17:02:03 +0000 (10:02 -0700)
Clean L2 by set/ways doesn't ensure that L1 is
cleaned on A15 and A57.
Clean L1 on all cores before cleaning L2.
Bug 20007733

Change-Id: I8a389317571060ba4716663c03ab75896aa13612
Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
Reviewed-on: http://git-master/r/742255
GVS: Gerrit_Virtual_Submit
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
drivers/video/tegra/nvmap/nvmap_mm.c

index 942394c23f788a23ecc9989fcc2cb55fc31a71ca..133f00b1aaa926d8a4ed473e503506f6f650f15a 100644 (file)
@@ -37,14 +37,18 @@ void inner_flush_cache_all(void)
 #endif
 }
 
+extern void __clean_dcache_louis(void *);
+extern void v7_clean_kern_cache_louis(void *);
 void inner_clean_cache_all(void)
 {
 #if defined(CONFIG_ARM64) && \
        defined(CONFIG_NVMAP_CACHE_MAINT_BY_SET_WAYS_ON_ONE_CPU)
+       on_each_cpu(__clean_dcache_louis, NULL, 1);
        __clean_dcache_all(NULL);
 #elif defined(CONFIG_ARM64)
        on_each_cpu(__clean_dcache_all, NULL, 1);
 #elif defined(CONFIG_NVMAP_CACHE_MAINT_BY_SET_WAYS_ON_ONE_CPU)
+       on_each_cpu(v7_clean_kern_cache_louis, NULL, 1);
        v7_clean_kern_cache_all(NULL);
 #else
        on_each_cpu(v7_clean_kern_cache_all, NULL, 1);