From: Michel Dänzer <[email protected]>

It was the same code as for RADEON_HOST_DATA_SWAP_32BIT. This caused bus errors
on FreeBSD/PPC, but I'm not sure how it could not cause problems anywhere...

Reported-by: Andreas Tobler <[email protected]>
Signed-off-by: Michel Dänzer <[email protected]>
---
 src/radeon_accel.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/radeon_accel.c b/src/radeon_accel.c
index 1cebcf6..784502d 100644
--- a/src/radeon_accel.c
+++ b/src/radeon_accel.c
@@ -982,10 +982,9 @@ void RADEONCopySwap(uint8_t *dst, uint8_t *src, unsigned 
int size, int swap)
 
            for (; nwords > 0; --nwords, ++d, ++s)
 #ifdef __powerpc__
-               asm volatile("stwbrx %0,0,%1" : : "r" (*s), "r" (d));
+               asm volatile("sthbrx %0,0,%1" : : "r" (*s), "r" (d));
 #else
-               *d = ((*s >> 24) & 0xff) | ((*s >> 8) & 0xff00)
-                       | ((*s & 0xff00) << 8) | ((*s & 0xff) << 24);
+               *d = (*s >> 8) | (*s << 8);
 #endif
            return;
        }
-- 
1.7.10

_______________________________________________
xorg-driver-ati mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-driver-ati

Reply via email to