diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-01-06 14:59:22 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-01-06 14:59:22 -0500 |
commit | ee6310174c44809c761dbdb423e56e61392a0e10 (patch) | |
tree | 22fe284335f60e131022a35d1f110e1d225a7454 /src | |
parent | 690999b682c0f954e27d9f1b3a3d8db4ef865c21 (diff) |
ATOM: handle cases where TMDS uses linkb
fixes bug 18564
Diffstat (limited to 'src')
-rw-r--r-- | src/atombios_output.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/atombios_output.c b/src/atombios_output.c index eb52f5c9..e4e06041 100644 --- a/src/atombios_output.c +++ b/src/atombios_output.c @@ -312,6 +312,8 @@ atombios_output_digital_setup(xf86OutputPtr output, int device, DisplayModePtr m if (radeon_output->lvds_misc & (1 << 1)) disp_data.ucMisc |= (1 << 1); } else { + if (radeon_output->linkb) + disp_data.ucMisc |= PANEL_ENCODER_MISC_TMDS_LINKB; if (mode->Clock > 165000) disp_data.ucMisc |= PANEL_ENCODER_MISC_DUAL; if (pScrn->rgbBits == 8) @@ -352,6 +354,8 @@ atombios_output_digital_setup(xf86OutputPtr output, int device, DisplayModePtr m disp_data2.ucTemporal |= PANEL_ENCODER_TEMPORAL_LEVEL_4; } } else { + if (radeon_output->linkb) + disp_data2.ucMisc |= PANEL_ENCODER_MISC_TMDS_LINKB; if (mode->Clock > 165000) disp_data2.ucMisc |= PANEL_ENCODER_MISC_DUAL; } @@ -441,7 +445,10 @@ atombios_output_dig_encoder_setup(xf86OutputPtr output, int device, DisplayModeP disp_data.ucConfig |= ATOM_ENCODER_CONFIG_LINKA_B; disp_data.ucLaneNum = 8; } else { - disp_data.ucConfig |= ATOM_ENCODER_CONFIG_LINKA; + if (radeon_output->linkb) + disp_data.ucConfig |= ATOM_ENCODER_CONFIG_LINKB; + else + disp_data.ucConfig |= ATOM_ENCODER_CONFIG_LINKA; disp_data.ucLaneNum = 4; } |