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);
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);
}
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);
}
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);
#include <linux/platform_device.h>
#include <asm/cacheflush.h>
-#include <asm/tlbflush.h>
#ifndef CONFIG_ARM64
#include <asm/outercache.h>
#endif
#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)
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
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;