[PATCH] r128 DRM module -- hardware bug

Gareth Hughes (gareth@valinux.com)
Thu, 01 Mar 2001 00:05:35 +1100


The following patch addresses a serious problem with older Rage 128
chipsets, up to and including at least the Rage 128 RF chipset found on
the Xpert 2000. The workaround should be classed as a critical fix, as
without it such cards will lock almost immediately.

-- Gareth

--- linux/drivers/char/drm/r128_drv.h Fri Jan 5 08:03:20 2001
+++ linux.gh/drivers/char/drm/r128_drv.h Thu Mar 1 00:03:35 2001
@@ -447,6 +447,11 @@
DRM_INFO( "ADVANCE_RING() tail=0x%06x wr=0x%06x\n", \
write, dev_priv->ring.tail ); \
} \
+ if ( write < 32 ) { \
+ memcpy( dev_priv->ring.end, \
+ dev_priv->ring.start, \
+ write * sizeof(u32) ); \
+ } \
r128_flush_write_combine(); \
dev_priv->ring.tail = write; \
R128_WRITE( R128_PM4_BUFFER_DL_WPTR, write ); \
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/