summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/nvmap/nvmap_ioctl.c
diff options
context:
space:
mode:
authorKrishna Reddy <vdumpa@nvidia.com>2014-01-04 13:07:10 -0800
committerTom Cherry <tcherry@nvidia.com>2014-01-22 16:02:47 -0800
commitdeb7bf044de277651f3099748ce41ee35241c979 (patch)
treef9057c830239461b3641d7d5b112d70b78d58f17 /drivers/video/tegra/nvmap/nvmap_ioctl.c
parent5611fcbf7a4603e3946d043973757fe701576a9a (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.c9
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(