From 55e4469f59c82bb5762673de5f3f27d18b0bd9a3 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Tue, 20 May 2008 17:46:58 -0400 Subject: RADEON: enable cloning on multi-crtc cards --- src/radeon_output.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/radeon_output.c') diff --git a/src/radeon_output.c b/src/radeon_output.c index 59bc9904..72cd5c9a 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); -- cgit v1.2.3