xf86-video-ati: Branch 'master'

Dave Airlie airlied at kemper.freedesktop.org
Wed Nov 25 21:45:22 PST 2009


 src/atombios_output.c |   25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)

New commits:
commit 8195385d3cedf70d89ca576371af6bca5045bbd2
Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Nov 26 15:43:54 2009 +1000

    dce3: no CV1 or TV1 Output Control tables anymore.
    
    According to the DCE3 docs we should only use DAC1/2 not
    CV1/TV OutputControl, also my rv730 bios doesn't have any
    CV1/TV tables.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

diff --git a/src/atombios_output.c b/src/atombios_output.c
index ac30fa3..af6d68c 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -1256,19 +1256,26 @@ atombios_output_dpms(xf86OutputPtr output, int mode)
 	break;
     case ENCODER_OBJECT_ID_INTERNAL_DAC1:
     case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1:
-	if (radeon_output->active_device & (ATOM_DEVICE_TV_SUPPORT))
-	    index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl);
-	else if (radeon_output->active_device & (ATOM_DEVICE_CV_SUPPORT))
-	    index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl);
-	else
+	if (!IS_DCE3_VARIANT) {
+	    if (radeon_output->active_device & (ATOM_DEVICE_TV_SUPPORT))
+		index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl);
+	    else if (radeon_output->active_device & (ATOM_DEVICE_CV_SUPPORT))
+		index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl);
+	    else
+		index = GetIndexIntoMasterTable(COMMAND, DAC1OutputControl);
+	}  else
 	    index = GetIndexIntoMasterTable(COMMAND, DAC1OutputControl);
 	break;
     case ENCODER_OBJECT_ID_INTERNAL_DAC2:
     case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2:
-	if (radeon_output->active_device & (ATOM_DEVICE_TV_SUPPORT))
-	    index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl);
-	else if (radeon_output->active_device & (ATOM_DEVICE_CV_SUPPORT))
-	    index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl);
+	if (!IS_DCE3_VARIANT) {
+	    if (radeon_output->active_device & (ATOM_DEVICE_TV_SUPPORT))
+		index = GetIndexIntoMasterTable(COMMAND, TV1OutputControl);
+	    else if (radeon_output->active_device & (ATOM_DEVICE_CV_SUPPORT))
+		index = GetIndexIntoMasterTable(COMMAND, CV1OutputControl);
+	    else
+		index = GetIndexIntoMasterTable(COMMAND, DAC2OutputControl);
+	}
 	else
 	    index = GetIndexIntoMasterTable(COMMAND, DAC2OutputControl);
 	break;


More information about the xorg-commit mailing list