xf86-video-ati: Branch 'master' - 2 commits

Michel Daenzer daenzer at kemper.freedesktop.org
Mon Nov 5 01:59:53 PST 2007


 src/radeon_cursor.c |   20 +-------------------
 src/radeon_output.c |    6 ++++--
 2 files changed, 5 insertions(+), 21 deletions(-)

New commits:
commit 5659e2f1b08e44d0c4f21a403e91b4801ef78f62
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Mon Nov 5 10:32:04 2007 +0100

    radeon: Fix build warning on powerpc.

diff --git a/src/radeon_output.c b/src/radeon_output.c
index e9a709f..599a89c 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -668,8 +668,6 @@ void RADEONConnectorFindMonitor(ScrnInfoPtr pScrn, xf86OutputPtr output)
 
 static RADEONMonitorType RADEONPortCheckNonDDC(ScrnInfoPtr pScrn, xf86OutputPtr output)
 {
-    RADEONInfoPtr info       = RADEONPTR(pScrn);
-    unsigned char *RADEONMMIO = info->MMIO;
     RADEONOutputPrivatePtr radeon_output = output->driver_private;
     RADEONMonitorType MonType = MT_NONE;
 
@@ -677,7 +675,11 @@ static RADEONMonitorType RADEONPortCheckNonDDC(ScrnInfoPtr pScrn, xf86OutputPtr
 #if defined(__powerpc__)
 	/* not sure on ppc, OF? */
 #else
+	RADEONInfoPtr info       = RADEONPTR(pScrn);
+
 	if (!info->IsAtomBios) {
+	    unsigned char *RADEONMMIO = info->MMIO;
+
 	    /* see if the lid is closed -- only works at boot */
 	    if (INREG(RADEON_BIOS_6_SCRATCH) & 0x10)
 		MonType = MT_NONE;
commit d41d73f5f9d8baee7137e94da2c7852ea0412180
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Mon Nov 5 10:30:23 2007 +0100

    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 .

diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c
index 3e60d23..f19f2bc 100644
--- a/src/radeon_cursor.c
+++ b/src/radeon_cursor.c
@@ -98,22 +98,12 @@ radeon_crtc_show_cursor (xf86CrtcPtr crtc)
     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 crtc)
     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 xorg-commit mailing list