Lines 986-1018
inl(unsigned PORT_SIZE port)
Link Here
|
986 |
#endif |
986 |
#endif |
987 |
|
987 |
|
988 |
#ifdef __alpha__ |
988 |
#ifdef __alpha__ |
989 |
/* entry points for Mmio memory access routines */ |
989 |
static inline int |
990 |
extern _X_EXPORT int (*xf86ReadMmio8) (void *, unsigned long); |
990 |
xf86ReadMmio8(void *Base, unsigned long Offset) |
991 |
extern _X_EXPORT int (*xf86ReadMmio16) (void *, unsigned long); |
991 |
{ |
992 |
extern _X_EXPORT int (*xf86ReadMmio32) (void *, unsigned long); |
992 |
mem_barrier(); |
993 |
extern _X_EXPORT void (*xf86WriteMmio8) (int, void *, unsigned long); |
993 |
return *(CARD8 *) ((unsigned long) Base + (Offset)); |
994 |
extern _X_EXPORT void (*xf86WriteMmio16) (int, void *, unsigned long); |
994 |
} |
995 |
extern _X_EXPORT void (*xf86WriteMmio32) (int, void *, unsigned long); |
995 |
|
|
|
996 |
static inline int |
997 |
xf86ReadMmio16(void *Base, unsigned long Offset) |
998 |
{ |
999 |
mem_barrier(); |
1000 |
return *(CARD16 *) ((unsigned long) Base + (Offset)); |
1001 |
} |
1002 |
|
1003 |
static inline int |
1004 |
xf86ReadMmio32(void *Base, unsigned long Offset) |
1005 |
{ |
1006 |
mem_barrier(); |
1007 |
return *(CARD32 *) ((unsigned long) Base + (Offset)); |
1008 |
} |
1009 |
|
1010 |
static inline void |
1011 |
xf86WriteMmio8(int Value, void *Base, unsigned long Offset) |
1012 |
{ |
1013 |
write_mem_barrier(); |
1014 |
*(CARD8 *) ((unsigned long) Base + (Offset)) = Value; |
1015 |
} |
1016 |
|
1017 |
static inline void |
1018 |
xf86WriteMmio16(int Value, void *Base, unsigned long Offset) |
1019 |
{ |
1020 |
write_mem_barrier(); |
1021 |
*(CARD16 *) ((unsigned long) Base + (Offset)) = Value; |
1022 |
} |
1023 |
|
1024 |
static inline void |
1025 |
xf86WriteMmio32(int Value, void *Base, unsigned long Offset) |
1026 |
{ |
1027 |
write_mem_barrier(); |
1028 |
*(CARD32 *) ((unsigned long) Base + (Offset)) = Value; |
1029 |
} |
1030 |
|
996 |
extern _X_EXPORT void xf86SlowBCopyFromBus(unsigned char *, unsigned char *, |
1031 |
extern _X_EXPORT void xf86SlowBCopyFromBus(unsigned char *, unsigned char *, |
997 |
int); |
1032 |
int); |
998 |
extern _X_EXPORT void xf86SlowBCopyToBus(unsigned char *, unsigned char *, int); |
1033 |
extern _X_EXPORT void xf86SlowBCopyToBus(unsigned char *, unsigned char *, int); |
999 |
|
1034 |
|
1000 |
/* Some macros to hide the system dependencies for MMIO accesses */ |
1035 |
/* Some macros to hide the system dependencies for MMIO accesses */ |
1001 |
/* Changed to kill noise generated by gcc's -Wcast-align */ |
1036 |
/* Changed to kill noise generated by gcc's -Wcast-align */ |
1002 |
#define MMIO_IN8(base, offset) (*xf86ReadMmio8)(base, offset) |
1037 |
#define MMIO_IN8(base, offset) xf86ReadMmio8(base, offset) |
1003 |
#define MMIO_IN16(base, offset) (*xf86ReadMmio16)(base, offset) |
1038 |
#define MMIO_IN16(base, offset) xf86ReadMmio16(base, offset) |
1004 |
#define MMIO_IN32(base, offset) (*xf86ReadMmio32)(base, offset) |
1039 |
#define MMIO_IN32(base, offset) xf86ReadMmio32(base, offset) |
1005 |
|
|
|
1006 |
#define MMIO_OUT32(base, offset, val) \ |
1007 |
do { \ |
1008 |
write_mem_barrier(); \ |
1009 |
*(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val); \ |
1010 |
} while (0) |
1011 |
|
1040 |
|
1012 |
#define MMIO_OUT8(base, offset, val) \ |
1041 |
#define MMIO_OUT8(base, offset, val) \ |
1013 |
(*xf86WriteMmio8)((CARD8)(val), base, offset) |
1042 |
xf86WriteMmio8((CARD8)(val), base, offset) |
1014 |
#define MMIO_OUT16(base, offset, val) \ |
1043 |
#define MMIO_OUT16(base, offset, val) \ |
1015 |
(*xf86WriteMmio16)((CARD16)(val), base, offset) |
1044 |
xf86WriteMmio16((CARD16)(val), base, offset) |
|
|
1045 |
#define MMIO_OUT32(base, offset, val) \ |
1046 |
xf86WriteMmio32((CARD32)(val), base, offset) |
1016 |
|
1047 |
|
1017 |
#elif defined(__powerpc__) || defined(__sparc__) |
1048 |
#elif defined(__powerpc__) || defined(__sparc__) |
1018 |
/* |
1049 |
/* |