[arch-commits] CVS update of extra/x11-drivers/xf86-video-ati (2 files)

Alexander Baldeck alexander at archlinux.org
Fri Nov 9 13:35:14 UTC 2007


    Date: Friday, November 9, 2007 @ 08:35:14
  Author: alexander
    Path: /home/cvs-extra/extra/x11-drivers/xf86-video-ati

   Added: radeon-dualhead-mouse.patch (1.1)
Modified: PKGBUILD (1.24 -> 1.25)

* revert change according to https://bugs.freedesktop.org/show_bug.cgi?id=13005
  * should fix FS#8573


-----------------------------+
 PKGBUILD                    |   14 ++++++---
 radeon-dualhead-mouse.patch |   62 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 71 insertions(+), 5 deletions(-)


Index: extra/x11-drivers/xf86-video-ati/PKGBUILD
diff -u extra/x11-drivers/xf86-video-ati/PKGBUILD:1.24 extra/x11-drivers/xf86-video-ati/PKGBUILD:1.25
--- extra/x11-drivers/xf86-video-ati/PKGBUILD:1.24	Wed Oct 10 12:16:00 2007
+++ extra/x11-drivers/xf86-video-ati/PKGBUILD	Fri Nov  9 08:35:13 2007
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD,v 1.24 2007/10/10 16:16:00 alexander Exp $
+# $Id: PKGBUILD,v 1.25 2007/11/09 13:35:13 alexander Exp $
 # Maintainer: Alexander Baldeck <alexander at archlinux.org>
 # Contributor: Jan de Groot <jgc at archlinux.org>
 pkgname=xf86-video-ati
 pkgver=6.7.195
-pkgrel=1
+pkgrel=2
 _mesaver="7.0.1"
 pkgdesc="X.org ati video driver"
 arch=(i686 x86_64)
@@ -11,12 +11,15 @@
 depends=('libdrm>=2.3.0')
 makedepends=('pkgconfig' 'xorg-server>=1.4' 'imake' 'mesa>=7.0.1' 'xf86driproto')
 groups=('xorg-video-drivers')
-options=(!libtool)
+options=('!libtool')
+license=('custom')
 source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
-	http://dl.sourceforge.net/mesa3d/MesaLib-${_mesaver}.tar.bz2)
+	http://dl.sourceforge.net/mesa3d/MesaLib-${_mesaver}.tar.bz2
+	radeon-dualhead-mouse.patch)
 
 build() {
   cd ${startdir}/src/${pkgname}-${pkgver}
+  patch -Np1 -i ${startdir}/src/radeon-dualhead-mouse.patch || return 1
   ./configure --prefix=/usr \
               --enable-dri
   make || return 1
@@ -49,4 +52,5 @@
 }
 
 md5sums=('2f11b8e699fadd93e6932b07cc01bc64'
-         'c056abd763e899114bf745c9eedbf9ad')
+         'c056abd763e899114bf745c9eedbf9ad'
+         '7d3d5de7effe85120076f86e4d28a242')
Index: extra/x11-drivers/xf86-video-ati/radeon-dualhead-mouse.patch
diff -u /dev/null extra/x11-drivers/xf86-video-ati/radeon-dualhead-mouse.patch:1.1
--- /dev/null	Fri Nov  9 08:35:14 2007
+++ extra/x11-drivers/xf86-video-ati/radeon-dualhead-mouse.patch	Fri Nov  9 08:35:13 2007
@@ -0,0 +1,62 @@
+From: Michel Dänzer <michel at tungstengraphics.com>
+Date: Mon, 5 Nov 2007 09:30:23 +0000 (+0100)
+Subject: Revert "radeon: Reinstate sync in radeon_crtc_show/hide_cursor."
+X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-ati.git;a=commitdiff;h=d41d73f5f9d8baee7137e94da2c7852ea0412180
+
+Revert "radeon: Reinstate sync in radeon_crtc_show/hide_cursor."
+
+This reverts commit 0241cac643fa1c08a45ea44f5c670b290e760ad8.
+
+Taking the DRI lock in paths called from the SIGIO handler isn't safe. For
+example, the SIGIO handler may be called while the lock is held by an AIGLX
+context, resulting in deadlock. See e.g.
+https://bugs.freedesktop.org/show_bug.cgi?id=13005 .
+---
+
+--- a/src/radeon_cursor.c
++++ b/src/radeon_cursor.c
+@@ -98,22 +98,12 @@ radeon_crtc_show_cursor (xf86CrtcPtr crt
+     RADEONInfoPtr      info       = RADEONPTR(pScrn);
+     unsigned char     *RADEONMMIO = info->MMIO;
+ 
+-#ifdef XF86DRI
+-    if (info->CPStarted && pScrn->pScreen) DRILock(pScrn->pScreen, 0);
+-#endif
+-
+-    RADEON_SYNC(info, pScrn);
+-
+     if (crtc_id == 0) 
+ 	OUTREGP(RADEON_CRTC_GEN_CNTL, RADEON_CRTC_CUR_EN | 2 << 20, 
+ 		~(RADEON_CRTC_CUR_EN | RADEON_CRTC_CUR_MODE_MASK));
+     else if (crtc_id == 1)
+ 	OUTREGP(RADEON_CRTC2_GEN_CNTL, RADEON_CRTC2_CUR_EN | 2 << 20,
+ 		~(RADEON_CRTC2_CUR_EN | RADEON_CRTC2_CUR_MODE_MASK));
+-
+-#ifdef XF86DRI
+-    if (info->CPStarted && pScrn->pScreen) DRIUnlock(pScrn->pScreen);
+-#endif
+ }
+ 
+ void
+@@ -125,20 +115,12 @@ radeon_crtc_hide_cursor (xf86CrtcPtr crt
+     RADEONInfoPtr      info       = RADEONPTR(pScrn);
+     unsigned char     *RADEONMMIO = info->MMIO;
+ 
+-#ifdef XF86DRI
+-    if (info->CPStarted && pScrn->pScreen) DRILock(pScrn->pScreen, 0);
+-#endif
+-
+-    RADEON_SYNC(info, pScrn);
+-
+     if (crtc_id == 0)
+ 	OUTREGP(RADEON_CRTC_GEN_CNTL, 0, ~RADEON_CRTC_CUR_EN);
+     else if (crtc_id == 1)
+ 	OUTREGP(RADEON_CRTC2_GEN_CNTL, 0, ~RADEON_CRTC2_CUR_EN);
+ 
+-#ifdef XF86DRI
+-    if (info->CPStarted && pScrn->pScreen) DRIUnlock(pScrn->pScreen);
+-#endif
++
+ }
+ 
+ void




More information about the arch-commits mailing list