diff options
author | Krishna Reddy <vdumpa@nvidia.com> | 2015-04-06 11:32:33 -0700 |
---|---|---|
committer | Matthew Pedro <mapedro@nvidia.com> | 2015-05-14 10:02:03 -0700 |
commit | 444310fe5261a29af0f814ed9418ee5fa2cc46a2 (patch) | |
tree | d00c79e74a8b158773063dc7f435e3e84573b9ef | |
parent | dff43e9bd5fa489306fdd7fcdbe720b54df5e675 (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.c | 4 |
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); |