MIPS: Fix map_physmem for cached mappings
authorPaul Burton <paul.burton@imgtec.com>
Mon, 26 Sep 2016 18:28:57 +0000 (19:28 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Wed, 30 Nov 2016 15:18:19 +0000 (16:18 +0100)
map_physmem should return a pointer that can be used by the CPU to
access the given memory - on MIPS simply returning the physical address
as it does prior to this patch doesn't achieve that. Instead return a
pointer to the memory within (c)kseg0, which matches up consistently
with the (c)kseg1 pointer that uncached mappings return via ioremap.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
arch/mips/include/asm/io.h

index 5b86386bc1cb2fbd98a97581f1f44d57f78c3946..ee7a59290deb7290e2151b9905f894dfd045344c 100644 (file)
@@ -501,7 +501,7 @@ map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags)
        if (flags == MAP_NOCACHE)
                return ioremap(paddr, len);
 
-       return (void *)paddr;
+       return (void *)CKSEG0ADDR(paddr);
 }
 
 /*