On Wed, 2002-04-24 at 12:57, Peter Andersson wrote:
> >
> >Anyway, MACH64_{READ,WRITE} will likely have to be changed to use
> >{in,out}_le32 (in mach64_drv.h) for it to work on PPC.
> 
> You are probably right here because although the driver is loaded it 
> hangs when i try to use OpenGL applications, so far i have only tried 
> games prboom (doom clone) and quake. Quake won´t start at all and prboom 
> makes my X server lock and uses up all cpu. This is not the case when 
> using "indirect rendering".

Try the attached patch against mach64-0-0-4-branch.


-- 
Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member   /  CS student, Free Software enthusiast
Index: mach64_drv.h
===================================================================
RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/Attic/mach64_drv.h,v
retrieving revision 1.1.6.3.2.5
diff -u -r1.1.6.3.2.5 mach64_drv.h
--- mach64_drv.h	23 Apr 2002 23:47:09 -0000	1.1.6.3.2.5
+++ mach64_drv.h	24 Apr 2002 11:55:28 -0000
@@ -345,9 +345,8 @@
 
 #define MACH64_ADDR(reg)	(MACH64_BASE(reg) + reg)
 
-#define MACH64_DEREF(reg)	*(__volatile__ u32 *)MACH64_ADDR(reg)
-#define MACH64_READ(reg)	MACH64_DEREF(reg)
-#define MACH64_WRITE(reg,val)	do { MACH64_DEREF(reg) = val; } while (0)
+#define MACH64_READ(reg)	in_le32((volatile u32 *)MACH64_ADDR(reg))
+#define MACH64_WRITE(reg,val)	out_le32((volatile u32 *)MACH64_ADDR(reg), (val))
 
 
 

Reply via email to