comparison vidix/drivers/mach64_vid.c @ 7996:e81526dfe3d8

INREG now static inline instead of a define, to avoid unnecessary GETREG calls while byteswapping.
author colin
date Thu, 31 Oct 2002 10:57:07 +0000
parents 9ec1e707f736
children f6d2772efca3
comparison
equal deleted inserted replaced
7995:04f386daac34 7996:e81526dfe3d8
128 #define GETREG(TYPE,PTR,OFFZ) (*((volatile TYPE*)((PTR)+(OFFZ)))) 128 #define GETREG(TYPE,PTR,OFFZ) (*((volatile TYPE*)((PTR)+(OFFZ))))
129 #define SETREG(TYPE,PTR,OFFZ,VAL) (*((volatile TYPE*)((PTR)+(OFFZ))))=VAL 129 #define SETREG(TYPE,PTR,OFFZ,VAL) (*((volatile TYPE*)((PTR)+(OFFZ))))=VAL
130 130
131 #define INREG8(addr) GETREG(uint8_t,(uint32_t)mach64_mmio_base,((addr)^0x100)<<2) 131 #define INREG8(addr) GETREG(uint8_t,(uint32_t)mach64_mmio_base,((addr)^0x100)<<2)
132 #define OUTREG8(addr,val) SETREG(uint8_t,(uint32_t)mach64_mmio_base,((addr)^0x100)<<2,val) 132 #define OUTREG8(addr,val) SETREG(uint8_t,(uint32_t)mach64_mmio_base,((addr)^0x100)<<2,val)
133 #define INREG(addr) le2me_32(GETREG(uint32_t,(uint32_t)mach64_mmio_base,((addr)^0x100)<<2)) 133
134 static inline uint32_t INREG (uint32_t addr) {
135 uint32_t tmp = GETREG(uint32_t,(uint32_t)mach64_mmio_base,((addr)^0x100)<<2);
136 return le2me_32(tmp);
137 }
134 #define OUTREG(addr,val) SETREG(uint32_t,(uint32_t)mach64_mmio_base,((addr)^0x100)<<2,le2me_32(val)) 138 #define OUTREG(addr,val) SETREG(uint32_t,(uint32_t)mach64_mmio_base,((addr)^0x100)<<2,le2me_32(val))
135 139
136 #define OUTREGP(addr,val,mask) \ 140 #define OUTREGP(addr,val,mask) \
137 do { \ 141 do { \
138 unsigned int _tmp = INREG(addr); \ 142 unsigned int _tmp = INREG(addr); \