diff options
author | Krishna Reddy <vdumpa@nvidia.com> | 2014-01-04 13:07:10 -0800 |
---|---|---|
committer | Tom Cherry <tcherry@nvidia.com> | 2014-01-22 16:02:47 -0800 |
commit | deb7bf044de277651f3099748ce41ee35241c979 (patch) | |
tree | f9057c830239461b3641d7d5b112d70b78d58f17 /drivers/video/tegra/nvmap/nvmap_ioctl.c | |
parent | 5611fcbf7a4603e3946d043973757fe701576a9a (diff) |
video: tegra: nvmap: flush cache on arm64
On arm64, cache flushes are bypassed incorrectly during allocation.
This patch re-enables cache flush during allocation and fixes incorrect
args passed to __flush_dcache_page on arm64.
Reduce CONFIG_ARM64 macro checks to keep most of arm and arm64 code common.
Bug 1431946
Change-Id: Ie1c74636db9f9f06b06b8d47f6179cab57c8c177
Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
Reviewed-on: http://git-master/r/352008
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Hayden Du <haydend@nvidia.com>
Reviewed-by: Alexander Van Brunt <avanbrunt@nvidia.com>
Tested-by: Hayden Du <haydend@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/nvmap/nvmap_ioctl.c')
-rw-r--r-- | drivers/video/tegra/nvmap/nvmap_ioctl.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/video/tegra/nvmap/nvmap_ioctl.c b/drivers/video/tegra/nvmap/nvmap_ioctl.c index 24ee59414601..bcd8584a9784 100644 --- a/drivers/video/tegra/nvmap/nvmap_ioctl.c +++ b/drivers/video/tegra/nvmap/nvmap_ioctl.c @@ -29,16 +29,11 @@ #include <linux/slab.h> #include <linux/uaccess.h> #include <linux/nvmap.h> +#include <linux/vmalloc.h> -#include <asm/cacheflush.h> #include <asm/memory.h> -#ifndef CONFIG_ARM64 -#include <asm/outercache.h> -#endif -#include <asm/tlbflush.h> #include <trace/events/nvmap.h> -#include <linux/vmalloc.h> #include "nvmap_ioctl.h" #include "nvmap_priv.h" @@ -733,14 +728,12 @@ static void inner_cache_maint(unsigned int op, void *vaddr, size_t size) static void outer_cache_maint(unsigned int op, phys_addr_t paddr, size_t size) { -#ifndef CONFIG_ARM64 if (op == NVMAP_CACHE_OP_WB_INV) outer_flush_range(paddr, paddr + size); else if (op == NVMAP_CACHE_OP_INV) outer_inv_range(paddr, paddr + size); else outer_clean_range(paddr, paddr + size); -#endif } static void heap_page_cache_maint( |