sh: Try PMB mapping based on physical address, not mapping size
authorMatt Fleming <matt@console-pimps.org>
Tue, 6 Oct 2009 21:22:27 +0000 (21:22 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 9 Oct 2009 02:25:10 +0000 (11:25 +0900)
We should favour PMB mappings when the physical address cannot be
reached with 29-bits.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/mm/ioremap_32.c

index c325061..a86eaa9 100644 (file)
@@ -83,7 +83,7 @@ void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
         *
         * PMB entries are all pre-faulted.
         */
-       if (unlikely(size >= 0x1000000)) {
+       if (unlikely(phys_addr >= P1SEG)) {
                unsigned long mapped = pmb_remap(addr, phys_addr, size, flags);
 
                if (likely(mapped)) {