xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Thu Aug 19 14:05:33 PDT 2010


 src/radeon_output.c |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit ad8ea1f6e5fcb4f163622cf5eab953ea812b5829
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Thu Aug 19 17:04:35 2010 -0400

    DCE3+: switch pads to ddc mode when doing i2c
    
    The pins for ddc and aux are shared so you need to switch the
    mode when doing ddc.  The ProcessAuxChannel table already sets
    the pin mode to DP.  This should fix unreliable ddc issues
    on DP ports using non-DP monitors.
    
    Signed-off-by: Alex Deucher <alexdeucher at gmail.com>

diff --git a/src/radeon_output.c b/src/radeon_output.c
index a0a682f..121be75 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -1874,6 +1874,13 @@ RADEONI2CDoLock(xf86OutputPtr output, I2CBusPtr b, int lock_state)
 					       R200_DVI_I2C_PIN_SEL(R200_SEL_DDC3)));
 	}
 
+	/* set the pad in ddc mode */
+	if (IS_DCE3_VARIANT) {
+	    temp = INREG(pRADEONI2CBus->mask_clk_reg);
+	    temp &= ~(1 << 16);
+	    OUTREG(pRADEONI2CBus->mask_clk_reg, temp);
+	}
+
 	temp = INREG(pRADEONI2CBus->a_clk_reg);
 	temp &= ~(pRADEONI2CBus->a_clk_mask);
 	OUTREG(pRADEONI2CBus->a_clk_reg, temp);


More information about the xorg-commit mailing list