@ -26,11 +26,6 @@
# include <spaces.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
* hardware . An example use would be for flash memory that ' s used for
@ -72,33 +67,6 @@ static inline void set_io_port_base(unsigned long base)
}
/*
* 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
*
@ -316,7 +284,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 ) \
{ \
@ -333,7 +301,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 ) \
@ -346,7 +313,6 @@ static inline type pfx##in##bwlq##p(unsigned long port) \
BUILD_BUG_ON ( sizeof ( type ) > sizeof ( unsigned long ) ) ; \
\
__val = * __addr ; \
slow ; \
\
return pfx # # ioswab # # bwlq ( __addr , __val ) ; \
}
@ -367,8 +333,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 ) \