X Strike Force XFree86 SVN commit: rev 657 - in branches/4.3.0/sid/debian: . patches
Author: daniel
Date: 2003-10-11 22:52:59 -0500 (Sat, 11 Oct 2003)
New Revision: 657
Added:
branches/4.3.0/sid/debian/patches/453_ia64_fix_radeon_dri_deadlock.diff
Modified:
branches/4.3.0/sid/debian/changelog
Log:
* debian/patches/453_ia64_fix_radeon_dri_deadlock.diff: new patch to resolve
constant ia64 DRI deadlocks. there are some indications that this is
Radeon-specific, and some that it's not, so I'm just going to leave it
as Radeon as not to give people false hope 'till I can confirm it. Are
there even any other cards DRI supports that are made for ia64 anyway?
Modified: branches/4.3.0/sid/debian/changelog
===================================================================
--- branches/4.3.0/sid/debian/changelog 2003-10-11 21:39:24 UTC (rev 656)
+++ branches/4.3.0/sid/debian/changelog 2003-10-12 03:52:59 UTC (rev 657)
@@ -11,6 +11,9 @@
* Add missing libXv to xlibs-dbg. [ISHIKAWA Mutsumi]
- debian/xlibs-dbg.install: add libXv.so.1.0
- debian/xlibs-dbg.links: add libXv link
+
+ * Fix regular DRI deadlocks on ia64.
+ - debian/patches/453_ia64_fix_radeon_dri_deadlock.diff: new
* Grab latest fixes to upstream CVS xf-4_3-branch.
- debian/patches/000_post430.diff:
Added: branches/4.3.0/sid/debian/patches/453_ia64_fix_radeon_dri_deadlock.diff
===================================================================
--- branches/4.3.0/sid/debian/patches/453_ia64_fix_radeon_dri_deadlock.diff 2003-10-11 21:39:24 UTC (rev 656)
+++ branches/4.3.0/sid/debian/patches/453_ia64_fix_radeon_dri_deadlock.diff 2003-10-12 03:52:59 UTC (rev 657)
@@ -0,0 +1,26 @@
+This patch fixes an incorrect locking primitive in ia64 DRI unlocking
+routines that would cause regular deadlocks; this patch is from John Dennis
+via http://bugs.xfree86.org/show_bug.cgi?id=778.
+
+--- xc/programs/Xserver/hw/xfree86/os-support/xf86drm.h.orig 2003-10-10 16:07:37.000000000 -0400
++++ xc/programs/Xserver/hw/xfree86/os-support/xf86drm.h 2003-10-10 16:09:27.000000000 -0400
+@@ -285,8 +285,8 @@
+
+ #define __drm_dummy_lock(lock) (*(__volatile__ unsigned int *)lock)
+
+-#define DRM_LOCK_HELD 0x80000000 /**< Hardware lock is held */
+-#define DRM_LOCK_CONT 0x40000000 /**< Hardware lock is contended */
++#define DRM_LOCK_HELD 0x80000000U /**< Hardware lock is held */
++#define DRM_LOCK_CONT 0x40000000U /**< Hardware lock is contended */
+
+ #if defined(__GNUC__) && (__GNUC__ >= 2)
+ # if defined(__i386) || defined(__AMD64__)
+@@ -378,7 +378,7 @@
+ ";;\n" \
+ "cmpxchg4.acq %0=%1,%3,ar.ccv" \
+ : "=r" (__result), "=m" (__drm_dummy_lock(lock)) \
+- : "r" (__old), "r" (new) \
++ : "r" ((unsigned long)__old), "r" (new) \
+ : "memory"); \
+ __ret = (__result) != (__old); \
+ } while (0)
Reply to: