Mercurial > mplayer.hg
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); \ |