Bug#495267: Upstream commit which causes this

Florian Weimer fw at deneb.enyo.de
Sat Aug 16 00:33:40 PDT 2008


tag 495267 upstream
thanks

Upstream HEAD is still affected.

commit 55e4469f59c82bb5762673de5f3f27d18b0bd9a3
Author: Alex Deucher <alex at botch2.com>
Date:   Tue May 20 17:46:58 2008 -0400

    RADEON: enable cloning on multi-crtc cards

diff --git a/src/radeon_output.c b/src/radeon_output.c
index 59bc990..72cd5c9 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -2684,16 +2684,12 @@ static int
 radeon_output_clones (ScrnInfoPtr pScrn, xf86OutputPtr output)
 {
     RADEONOutputPrivatePtr radeon_output = output->driver_private;
-    RADEONEntPtr pRADEONEnt = RADEONEntPriv(output->scrn);
+    RADEONInfoPtr info       = RADEONPTR(pScrn);
     xf86CrtcConfigPtr	config = XF86_CRTC_CONFIG_PTR (pScrn);
     int			o;
     int			index_mask = 0;
 
-    /*
-     * cards without a CRTC2 really need cloning enabled
-     * for cards with 2 CRTC this may need more testing
-     */
-    if (pRADEONEnt->HasCRTC2)
+    if (IS_DCE3_VARIANT)
 	return index_mask;
 
     /* LVDS is too wacky */
@@ -2707,8 +2703,11 @@ radeon_output_clones (ScrnInfoPtr pScrn, xf86OutputPtr output)
 	    continue;
 	else if (radeon_clone->type == OUTPUT_LVDS) /* LVDS */
 	    continue;
-	else if ((radeon_output->DACType == DAC_TVDAC) &&
-		 (radeon_clone->DACType == DAC_TVDAC)) /* shared tvdac */
+	else if ((radeon_output->DACType != DAC_NONE) &&
+		 (radeon_output->DACType == radeon_clone->DACType)) /* shared dac */
+	    continue;
+	else if ((radeon_output->TMDSType != TMDS_NONE) &&
+		 (radeon_output->TMDSType == radeon_clone->TMDSType)) /* shared tmds */
 	    continue;
 	else
 	    index_mask |= (1 << o);





More information about the xorg-driver-ati mailing list