X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fcommon%2Fmmio.h;h=ce95d8c90759f56d8be6b7d02d782a1e66a1dc3e;hb=4b1cbfcbe66161a7b56d56cd9e2c35ce49b3a91d;hp=a9bdce42bf9b0c16cfc15fc80afb24ec38ef527a;hpb=38b317d508a2a3a4cc6d700ebca80c3b06c913e2;p=mesa.git diff --git a/src/mesa/drivers/dri/common/mmio.h b/src/mesa/drivers/dri/common/mmio.h index a9bdce42bf9..ce95d8c9075 100644 --- a/src/mesa/drivers/dri/common/mmio.h +++ b/src/mesa/drivers/dri/common/mmio.h @@ -33,26 +33,27 @@ #ifndef MMIO_H #define MMIO_H +#include "main/glheader.h" + #if defined( __powerpc__ ) -static __inline__ u_int32_t +static INLINE uint32_t read_MMIO_LE32( volatile void * base, unsigned long offset ) { - volatile void * p = ((volatile char *) base) + offset; - u_int32_t val; - + uint32_t val; + __asm__ __volatile__( "lwbrx %0, %1, %2 ; eieio" : "=r" (val) - : "b" (base), "r" (offset), "m" (p) ); + : "b" (base), "r" (offset) ); return val; } #else -static __inline__ u_int32_t +static INLINE uint32_t read_MMIO_LE32( volatile void * base, unsigned long offset ) { - volatile u_int32_t * p = (volatile u_int32_t *) (((volatile char *) base) + offset); + volatile uint32_t * p = (volatile uint32_t *) (((volatile char *) base) + offset); return LE32_TO_CPU( p[0] ); }