aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorOliver O'Halloran <oohall@gmail.com>2017-04-12 03:42:31 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2017-04-21 21:08:47 +1000
commitf855b2f544d664cfa3055edb7ffd20e9ae0e2dce (patch)
tree6c380d6317c333a60420ea48e3d383c3afc0298d /arch
parentpowerpc/64s: Use relon prolog for EXC_VIRT_OOL_MASKABLE_HV handlers (diff)
downloadlinux-dev-f855b2f544d664cfa3055edb7ffd20e9ae0e2dce.tar.xz
linux-dev-f855b2f544d664cfa3055edb7ffd20e9ae0e2dce.zip
powerpc/mm: Wire up ioremap_cache()
The default implementation of ioremap_cache() is aliased to ioremap(). On powerpc ioremap() creates cache-inhibited mappings by default which is almost certainly not what you wanted. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/include/asm/io.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h
index c398e86cd1cc..422f99cf9924 100644
--- a/arch/powerpc/include/asm/io.h
+++ b/arch/powerpc/include/asm/io.h
@@ -759,6 +759,8 @@ extern void __iomem *ioremap_prot(phys_addr_t address, unsigned long size,
extern void __iomem *ioremap_wc(phys_addr_t address, unsigned long size);
#define ioremap_nocache(addr, size) ioremap((addr), (size))
#define ioremap_uc(addr, size) ioremap((addr), (size))
+#define ioremap_cache(addr, size) \
+ ioremap_prot((addr), (size), pgprot_val(PAGE_KERNEL))
extern void iounmap(volatile void __iomem *addr);