Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > b1fb22ffa15a7d8d633eb47c378b338e > files > 11

libdrm-2.4.43-4.mga3.src.rpm

---
 xf86drm.h |   24 	23 +	1 -	0 !
 1 file changed, 23 insertions(+), 1 deletion(-)

Index: libdrm-2.4.9/xf86drm.h
===================================================================
--- libdrm-2.4.9.orig/xf86drm.h	2009-06-02 08:03:08.000000000 -0400
+++ libdrm-2.4.9/xf86drm.h	2009-06-02 08:10:38.000000000 -0400
@@ -422,6 +422,28 @@ do {	register unsigned int __old __asm("
 		: "cr0", "memory");			\
 	} while (0)
 
+#elif defined(__mips__)
+
+#define  DRM_CAS(lock, old, new, ret)				\
+	do {							\
+		__asm__ __volatile__(				\
+			"	.set mips3;.set noreorder;\n"	\
+			"	sync; \n"			\
+			"	ll	%1, %0;\n"		\
+			"	bne	%1, %2, 1f;\n"		\
+			"	li	%1, 1;\n"		\
+			"	move	%1, %3;\n"		\
+			"	sc	%1, %0;\n"		\
+			"	xori	%1, %1, 1;\n"		\
+			"1:\n"					\
+			"	.set mips0; .set reorder;\n"	\
+		: "=m" (__drm_dummy_lock(lock)),		\
+			"=&r" (ret)				\
+		: "r" (old),					\
+			"r" (new)				\
+		:"memory");					\
+	} while(0)
+
 #endif /* architecture */
 #endif /* __GNUC__ >= 2 */
 
@@ -431,7 +453,7 @@ do {	register unsigned int __old __asm("
 
 #if defined(__alpha__)
 #define DRM_CAS_RESULT(_result)		long _result
-#elif defined(__powerpc__)
+#elif defined(__powerpc__) || defined(__mips__)
 #define DRM_CAS_RESULT(_result)		int _result
 #else
 #define DRM_CAS_RESULT(_result)		char _result