summaryrefslogtreecommitdiff
path: root/src/atombios_output.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-11-22 12:56:45 -0500
committerAlex Deucher <alexdeucher@gmail.com>2010-11-22 18:05:52 -0500
commitfa0cec331e6c94cebf82270dcd6c179b15851c5e (patch)
treee8f23dd9aeb81d7a3b1b147d478be5b25d2e58ed /src/atombios_output.c
parent7ad1f01573e930aa6238eaeb0e11708ae548dfce (diff)
ontario: add UMS modesetting support
Accel not enabled yet. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/atombios_output.c')
-rw-r--r--src/atombios_output.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/atombios_output.c b/src/atombios_output.c
index 6bcc293f..006905be 100644
--- a/src/atombios_output.c
+++ b/src/atombios_output.c
@@ -731,9 +731,17 @@ atombios_output_dig_transmitter_setup(xf86OutputPtr output, int action, uint8_t
else
disp_data.v3.ucLaneNum = 4;
- if (radeon_output->linkb) {
- disp_data.v3.acConfig.ucLinkSel = 1;
- disp_data.v2.acConfig.ucEncoderSel = 1;
+ if (IS_DCE41_VARIANT) {
+ if (radeon_output->dig_encoder)
+ disp_data.v3.acConfig.ucEncoderSel = 1;
+
+ if (radeon_output->linkb)
+ disp_data.v3.acConfig.ucLinkSel = 1;
+ } else {
+ if (radeon_output->linkb) {
+ disp_data.v3.acConfig.ucLinkSel = 1;
+ disp_data.v2.acConfig.ucEncoderSel = 1;
+ }
}
// select the PLL for the UNIPHY
@@ -1630,6 +1638,12 @@ atombios_pick_dig_encoder(xf86OutputPtr output)
mode == ATOM_ENCODER_MODE_CV)
return;
+ if (IS_DCE41_VARIANT) {
+ RADEONCrtcPrivatePtr radeon_crtc = output->crtc->driver_private;
+ radeon_output->dig_encoder = radeon_crtc->crtc_id;
+ return;
+ }
+
if (IS_DCE4_VARIANT) {
radeon_encoder = radeon_get_encoder(output);