]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
video: tegra: nvmap: remove redundant tlb flush
authorKrishna Reddy <vdumpa@nvidia.com>
Wed, 19 Mar 2014 18:54:28 +0000 (11:54 -0700)
committerKrishna Reddy <vdumpa@nvidia.com>
Fri, 21 Mar 2014 17:18:30 +0000 (10:18 -0700)
remove redundant tlb flush and nvmap_flush_tlb_kernel_range
function as well.

Change-Id: I93988e22a95cebc4cc0735b49db931f56892eb64
Signed-off-by: Krishna Reddy <vdumpa@nvidia.com>
Reviewed-on: http://git-master/r/383973

drivers/video/tegra/nvmap/nvmap_dev.c
drivers/video/tegra/nvmap/nvmap_handle.c
drivers/video/tegra/nvmap/nvmap_ioctl.c
drivers/video/tegra/nvmap/nvmap_priv.h

index 0d284581eb1770078986cdfce69d353a94bae3df..8e82f7a5bd61138b186bb5cc5e1144c888e450c9 100644 (file)
@@ -215,7 +215,6 @@ int nvmap_flush_heap_block(struct nvmap_client *client,
                next = min(next, end);
                ioremap_page_range(kaddr, kaddr + PAGE_SIZE,
                        phys, PG_PROT_KERNEL);
-               nvmap_flush_tlb_kernel_page(kaddr);
                FLUSH_DCACHE_AREA(base, next - phys);
                phys = next;
                unmap_kernel_range(kaddr, PAGE_SIZE);
index b18d716c28af27e9141dd184a54e8e5a7b8d015c..03859bec52c5bd74e9991ad90c64463ae4ff3b1e 100644 (file)
@@ -210,7 +210,6 @@ static int handle_page_alloc(struct nvmap_client *client,
                                        ioremap_page_range(kaddr,
                                                kaddr + PAGE_SIZE,
                                                paddr, prot);
-                                       nvmap_flush_tlb_kernel_page(kaddr);
                                        memset((char *)kaddr, 0, PAGE_SIZE);
                                        unmap_kernel_range(kaddr, PAGE_SIZE);
                                }
index 976c36d8e5585a22e84bed0eed5e28a771c71b0f..3ebd16ef1ee6c7068b4593326961d42c3d8ec723 100644 (file)
@@ -788,7 +788,6 @@ static void heap_page_cache_maint(
                        BUG_ON(!kaddr);
                        ioremap_page_range(kaddr, kaddr + PAGE_SIZE,
                                paddr, prot);
-                       nvmap_flush_tlb_kernel_page(kaddr);
                        inner_cache_maint(op, vaddr, size);
                        unmap_kernel_range(kaddr, PAGE_SIZE);
                }
@@ -950,8 +949,6 @@ static int do_cache_maint(struct cache_maint_op *cache_work)
 
                ioremap_page_range(kaddr, kaddr + PAGE_SIZE,
                        loop, prot);
-               nvmap_flush_tlb_kernel_page(kaddr);
-
                inner_cache_maint(op, base, next - loop);
                loop = next;
                unmap_kernel_range(kaddr, PAGE_SIZE);
index 87ebaf7a6dc97cc47fd80a192d7ef0cf1ab1abff..bc73a0578afb2da3c743b8d7650a9851a7e8d7d3 100644 (file)
@@ -39,7 +39,6 @@
 #include <linux/platform_device.h>
 
 #include <asm/cacheflush.h>
-#include <asm/tlbflush.h>
 #ifndef CONFIG_ARM64
 #include <asm/outercache.h>
 #endif
@@ -75,7 +74,6 @@ extern u32 nvmap_max_handle_count;
 
 #ifdef CONFIG_ARM64
 #define PG_PROT_KERNEL PAGE_KERNEL
-#define FLUSH_TLB_PAGE(addr) flush_tlb_kernel_range(addr, PAGE_SIZE)
 #define FLUSH_DCACHE_AREA __flush_dcache_area
 #define outer_flush_range(s, e)
 #define outer_inv_range(s, e)
@@ -84,7 +82,6 @@ extern u32 nvmap_max_handle_count;
 extern void __flush_dcache_page(struct page *);
 #else
 #define PG_PROT_KERNEL pgprot_kernel
-#define FLUSH_TLB_PAGE(addr) flush_tlb_kernel_page(addr)
 #define FLUSH_DCACHE_AREA __cpuc_flush_dcache_area
 extern void __flush_dcache_page(struct address_space *, struct page *);
 #endif
@@ -372,15 +369,6 @@ void nvmap_client_put(struct nvmap_client *c);
 
 struct nvmap_handle *unmarshal_user_id(u32 id);
 
-static inline void nvmap_flush_tlb_kernel_page(unsigned long kaddr)
-{
-#ifdef CONFIG_ARM_ERRATA_798181
-       flush_tlb_kernel_page_skip_errata_798181(kaddr);
-#else
-       FLUSH_TLB_PAGE(kaddr);
-#endif
-}
-
 /* MM definitions. */
 extern size_t cache_maint_inner_threshold;
 extern size_t cache_maint_outer_threshold;