summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrishna Reddy <vdumpa@nvidia.com>2015-04-06 11:32:33 -0700
committerMatthew Pedro <mapedro@nvidia.com>2015-05-14 10:02:03 -0700
commit444310fe5261a29af0f814ed9418ee5fa2cc46a2 (patch)
treed00c79e74a8b158773063dc7f435e3e84573b9ef
parentdff43e9bd5fa489306fdd7fcdbe720b54df5e675 (diff)
video: tegra: nvmap: clean L1 on all cores
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>
-rw-r--r--drivers/video/tegra/nvmap/nvmap_mm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/tegra/nvmap/nvmap_mm.c b/drivers/video/tegra/nvmap/nvmap_mm.c
index 942394c23f78..133f00b1aaa9 100644
--- a/drivers/video/tegra/nvmap/nvmap_mm.c
+++ b/drivers/video/tegra/nvmap/nvmap_mm.c
@@ -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);