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))