From: <aot...@us...> - 2005-03-03 21:13:18
|
Update of /cvsroot/gc-linux/linux/include/asm-ppc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16634/include/asm-ppc Modified Files: io.h Log Message: Merge 2.6.11 Index: io.h =================================================================== RCS file: /cvsroot/gc-linux/linux/include/asm-ppc/io.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- io.h 4 Jan 2005 21:39:31 -0000 1.5 +++ io.h 3 Mar 2005 21:12:52 -0000 1.6 @@ -133,7 +133,10 @@ { __asm__ __volatile__("stw%U0%X0 %1,%0; eieio" : "=m" (*addr) : "r" (val)); } - +#if defined (CONFIG_8260_PCI9) +#define readb(addr) in_8((volatile u8 *)(addr)) +#define writeb(b,addr) out_8((volatile u8 *)(addr), (b)) +#else static inline __u8 readb(volatile void __iomem *addr) { return in_8(addr); @@ -142,6 +145,8 @@ { out_8(addr, b); } +#endif + #if defined(CONFIG_APUS) || defined(CONFIG_GAMECUBE) static inline __u16 readw(volatile void __iomem *addr) { @@ -159,6 +164,12 @@ { *(__force volatile __u32 *)(addr) = b; } +#elif defined (CONFIG_8260_PCI9) +/* Use macros if PCI9 workaround enabled */ +#define readw(addr) in_le16((volatile u16 *)(addr)) +#define readl(addr) in_le32((volatile u32 *)(addr)) +#define writew(b,addr) out_le16((volatile u16 *)(addr),(b)) +#define writel(b,addr) out_le32((volatile u32 *)(addr),(b)) #else static inline __u16 readw(volatile void __iomem *addr) { @@ -182,15 +193,15 @@ #define readw_relaxed(addr) readw(addr) #define readl_relaxed(addr) readl(addr) -static inline __u8 __raw_readb(volatile void __iomem *addr) +static inline __u8 __raw_readb(const volatile void __iomem *addr) { return *(__force volatile __u8 *)(addr); } -static inline __u16 __raw_readw(volatile void __iomem *addr) +static inline __u16 __raw_readw(const volatile void __iomem *addr) { return *(__force volatile __u16 *)(addr); } -static inline __u32 __raw_readl(volatile void __iomem *addr) +static inline __u32 __raw_readl(const volatile void __iomem *addr) { return *(__force volatile __u32 *)(addr); } @@ -332,11 +343,16 @@ #define IO_SPACE_LIMIT ~0 +#if defined (CONFIG_8260_PCI9) +#define memset_io(a,b,c) memset((void *)(a),(b),(c)) +#define memcpy_fromio(a,b,c) memcpy((a),(void *)(b),(c)) +#define memcpy_toio(a,b,c) memcpy((void *)(a),(b),(c)) +#else static inline void memset_io(volatile void __iomem *addr, unsigned char val, int count) { memset((void __force *)addr, val, count); } -static inline void memcpy_fromio(void *dst, volatile void __iomem *src, int count) +static inline void memcpy_fromio(void *dst,const volatile void __iomem *src, int count) { memcpy(dst, (void __force *) src, count); } @@ -344,6 +360,9 @@ { memcpy((void __force *) dst, src, count); } +#endif + +#define eth_io_copy_and_sum(a,b,c,d) eth_copy_and_sum((a),(void __force *)(void __iomem *)(b),(c),(d)) /* * Map in an area of physical address space, for accessing @@ -488,32 +507,32 @@ static inline void ioread8_rep(void __iomem *addr, void *dst, unsigned long count) { - _insb((u8 __force *) addr, dst, count); + _insb(addr, dst, count); } static inline void ioread16_rep(void __iomem *addr, void *dst, unsigned long count) { - _insw_ns((u16 __force *) addr, dst, count); + _insw_ns(addr, dst, count); } static inline void ioread32_rep(void __iomem *addr, void *dst, unsigned long count) { - _insl_ns((u32 __force *) addr, dst, count); + _insl_ns(addr, dst, count); } static inline void iowrite8_rep(void __iomem *addr, const void *src, unsigned long count) { - _outsb((u8 __force *) addr, src, count); + _outsb(addr, src, count); } static inline void iowrite16_rep(void __iomem *addr, const void *src, unsigned long count) { - _outsw_ns((u16 __force *) addr, src, count); + _outsw_ns(addr, src, count); } static inline void iowrite32_rep(void __iomem *addr, const void *src, unsigned long count) { - _outsl_ns((u32 __force *) addr, src, count); + _outsl_ns(addr, src, count); } /* Create a virtual mapping cookie for an IO port range */ |