aboutsummaryrefslogtreecommitdiff
path: root/linux/radeon_cp.c
diff options
context:
space:
mode:
authorMichel Daenzer <michel@daenzer.net>2002-06-02 16:00:45 +0000
committerMichel Daenzer <michel@daenzer.net>2002-06-02 16:00:45 +0000
commit5676a2a6105afdfc343e7f36f3c87e528a9d14b3 (patch)
tree4113a8b728fcc73ad0841bb0a83ae1beac5e4d2b /linux/radeon_cp.c
parent6ac48cddd0a074c77de0ab3dfc1661352b6f0c26 (diff)
fixes for big endian in general and powerpc in particular
Diffstat (limited to 'linux/radeon_cp.c')
-rw-r--r--linux/radeon_cp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/linux/radeon_cp.c b/linux/radeon_cp.c
index 0823edd0..14901f59 100644
--- a/linux/radeon_cp.c
+++ b/linux/radeon_cp.c
@@ -40,7 +40,7 @@
#define RADEON_FIFO_DEBUG 0
-#if defined(__alpha__)
+#if defined(__alpha__) || defined(__powerpc__)
# define PCIGART_ENABLED
#else
# undef PCIGART_ENABLED
@@ -631,7 +631,11 @@ static void radeon_cp_init_ring_buffer( drm_device_t *dev,
}
/* Set ring buffer size */
+#ifdef __BIG_ENDIAN
+ RADEON_WRITE( RADEON_CP_RB_CNTL, dev_priv->ring.size_l2qw | RADEON_BUF_SWAP_32BIT );
+#else
RADEON_WRITE( RADEON_CP_RB_CNTL, dev_priv->ring.size_l2qw );
+#endif
radeon_do_wait_for_idle( dev_priv );