MIPS: Remove SLOW_DOWN_IO
authorPaul Burton <paul.burton@mips.com>
Wed, 29 Aug 2018 21:54:01 +0000 (14:54 -0700)
committerPaul Burton <paul.burton@mips.com>
Thu, 30 Aug 2018 16:41:17 +0000 (09:41 -0700)
arch/mips appears to have inherited SLOW_DOWN_IO from arch/x86 in
antiquity, but we never define CONF_SLOWDOWN_IO so this is unused code.

Perhaps it was once useful to keep the MIPS header close to the x86
version to ease comparisons or porting changes, but they've diverged
significantly at this point & x86 does this differently now anyway.

Delete the dead code.

Signed-off-by: Paul Burton <paul.burton@mips.com>
Patchwork: https://patchwork.linux-mips.org/patch/20343/
Cc: linux-mips@linux-mips.org
arch/mips/include/asm/io.h

index bbbeede..44f766b 100644 (file)
 #include <ioremap.h>
 #include <mangle-port.h>
 
-/*
- * Slowdown I/O port space accesses for antique hardware.
- */
-#undef CONF_SLOWDOWN_IO
-
 /*
  * Raw operations are never swapped in software.  OTOH values that raw
  * operations are working on may or may not have been swapped by the bus
@@ -89,33 +84,6 @@ static inline void set_io_port_base(unsigned long base)
 #define PIO_MASK       IO_SPACE_LIMIT
 #define PIO_RESERVED   0x0UL
 
-/*
- * Thanks to James van Artsdalen for a better timing-fix than
- * the two short jumps: using outb's to a nonexistent port seems
- * to guarantee better timings even on fast machines.
- *
- * On the other hand, I'd like to be sure of a non-existent port:
- * I feel a bit unsafe about using 0x80 (should be safe, though)
- *
- *             Linus
- *
- */
-
-#define __SLOW_DOWN_IO \
-       __asm__ __volatile__( \
-               "sb\t$0,0x80(%0)" \
-               : : "r" (mips_io_port_base));
-
-#ifdef CONF_SLOWDOWN_IO
-#ifdef REALLY_SLOW_IO
-#define SLOW_DOWN_IO { __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; __SLOW_DOWN_IO; }
-#else
-#define SLOW_DOWN_IO __SLOW_DOWN_IO
-#endif
-#else
-#define SLOW_DOWN_IO
-#endif
-
 /*
  *     virt_to_phys    -       map virtual addresses to physical
  *     @address: address to remap
@@ -399,7 +367,7 @@ static inline type pfx##read##bwlq(const volatile void __iomem *mem)        \
        return pfx##ioswab##bwlq(__mem, __val);                         \
 }
 
-#define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p, slow)                        \
+#define __BUILD_IOPORT_SINGLE(pfx, bwlq, type, p)                      \
                                                                        \
 static inline void pfx##out##bwlq##p(type val, unsigned long port)     \
 {                                                                      \
@@ -416,7 +384,6 @@ static inline void pfx##out##bwlq##p(type val, unsigned long port)  \
        BUILD_BUG_ON(sizeof(type) > sizeof(unsigned long));             \
                                                                        \
        *__addr = __val;                                                \
-       slow;                                                           \
 }                                                                      \
                                                                        \
 static inline type pfx##in##bwlq##p(unsigned long port)                        \
@@ -429,7 +396,6 @@ static inline type pfx##in##bwlq##p(unsigned long port)                     \
        BUILD_BUG_ON(sizeof(type) > sizeof(unsigned long));             \
                                                                        \
        __val = *__addr;                                                \
-       slow;                                                           \
                                                                        \
        /* prevent prefetching of coherent DMA data prematurely */      \
        rmb();                                                          \
@@ -452,8 +418,8 @@ BUILDIO_MEM(l, u32)
 BUILDIO_MEM(q, u64)
 
 #define __BUILD_IOPORT_PFX(bus, bwlq, type)                            \
-       __BUILD_IOPORT_SINGLE(bus, bwlq, type, ,)                       \
-       __BUILD_IOPORT_SINGLE(bus, bwlq, type, _p, SLOW_DOWN_IO)
+       __BUILD_IOPORT_SINGLE(bus, bwlq, type,)                         \
+       __BUILD_IOPORT_SINGLE(bus, bwlq, type, _p)
 
 #define BUILDIO_IOPORT(bwlq, type)                                     \
        __BUILD_IOPORT_PFX(, bwlq, type)                                \