From: Kumar Gala <galak@kernel.crashing.org>
Date: Tue, 16 Dec 2008 20:59:21 +0000 (-0600)
Subject: ppc: Use addrmap in virt_to_phys and map_physmem.
X-Git-Tag: v2025.01-rc5-pxa1908~21631^2~13
X-Git-Url: http://git.dujemihanovic.xyz/posts?a=commitdiff_plain;h=77c8115b1f1871811633eae77a5a700fac1f0e50;p=u-boot.git

ppc: Use addrmap in virt_to_phys and map_physmem.

If we have addr map support enabled use the mapping functions to
implement virt_to_phys() and map_physmem().

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---

diff --git a/include/asm-ppc/io.h b/include/asm-ppc/io.h
index 64cb746b10..4ddad26e81 100644
--- a/include/asm-ppc/io.h
+++ b/include/asm-ppc/io.h
@@ -10,6 +10,10 @@
 #include <linux/config.h>
 #include <asm/byteorder.h>
 
+#ifdef CONFIG_ADDR_MAP
+#include <addr_map.h>
+#endif
+
 #define SIO_CONFIG_RA   0x398
 #define SIO_CONFIG_RD   0x399
 
@@ -287,7 +291,11 @@ extern inline void out_be32(volatile unsigned __iomem *addr, int val)
 static inline void *
 map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags)
 {
+#ifdef CONFIG_ADDR_MAP
+	return (void *)(addrmap_phys_to_virt(paddr));
+#else
 	return (void *)((unsigned long)paddr);
+#endif
 }
 
 /*
@@ -300,7 +308,11 @@ static inline void unmap_physmem(void *vaddr, unsigned long flags)
 
 static inline phys_addr_t virt_to_phys(void * vaddr)
 {
+#ifdef CONFIG_ADDR_MAP
+	return addrmap_virt_to_phys(vaddr);
+#else
 	return (phys_addr_t)((unsigned long)vaddr);
+#endif
 }
 
 #endif