From: Steve L. <slo...@us...> - 2002-01-24 20:13:57
|
Update of /cvsroot/linux-mips/linux/include/asm-mips/rc32300 In directory usw-pr-cvs1:/tmp/cvs-serv9531 Modified Files: rc32300.h Log Message: H/W PCI byte-swapping on the RC32334 does not work - disable and use s/w swapping instead (CONFIG_SWAP_IO_SPACE). Index: rc32300.h =================================================================== RCS file: /cvsroot/linux-mips/linux/include/asm-mips/rc32300/rc32300.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- rc32300.h 2002/01/17 21:06:46 1.2 +++ rc32300.h 2002/01/24 20:13:54 1.3 @@ -59,6 +59,44 @@ } /* + * Macros to access internal RC32300 registers. No byte + * swapping should be done when accessing the internal + * registers. + */ +static inline u8 rc32300_inb(unsigned long pa) +{ + return *((volatile u8 *)(mips_io_port_base + pa)); +} +static inline u16 rc32300_inw(unsigned long pa) +{ + return *((volatile u16 *)(mips_io_port_base + pa)); +} +static inline u32 rc32300_inl(unsigned long pa) +{ + return *((volatile u32 *)(mips_io_port_base + pa)); +} +static inline void rc32300_outb(u8 val, unsigned long pa) +{ + *((volatile u8 *)(mips_io_port_base + pa)) = val; +} +static inline void rc32300_outw(u16 val, unsigned long pa) +{ + *((volatile u16 *)(mips_io_port_base + pa)) = val; +} +static inline void rc32300_outl(u32 val, unsigned long pa) +{ + *((volatile u32 *)(mips_io_port_base + pa)) = val; +} +static inline u32 rc32300_readl(unsigned long va) +{ + return *((volatile u32 *)va); +} +static inline void rc32300_writel(u32 val, unsigned long va) +{ + *((volatile u32 *)va) = val; +} + +/* * C access to CLZ and CLO instructions * (count leading zeroes/ones). */ |