aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2011-10-12 18:44:32 -0400
committerDave Airlie <airlied@redhat.com>2011-10-18 05:16:10 -0400
commit3a6dea31453a101bd5e9e9c89a79f4fcb6b0342e (patch)
treeff126d2bc67017199049ddba761979f3bda57eb9
parente22469ca88a8f1f6fe47adbf5e5ce0906aec07cd (diff)
drm/radeon/kms/DCE4.1: fix dig encoder to transmitter mapping
llano has fully routeable dig encoders similar to DCE3.2 while ontario has a hardcoded mapping similar to DCE4.0. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/radeon/radeon_encoders.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c
index 8a171b21b453..a90d9eeb96a3 100644
--- a/drivers/gpu/drm/radeon/radeon_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_encoders.c
@@ -1756,10 +1756,15 @@ static int radeon_atom_pick_dig_encoder(struct drm_encoder *encoder)
1756 if (ASIC_IS_DCE4(rdev)) { 1756 if (ASIC_IS_DCE4(rdev)) {
1757 dig = radeon_encoder->enc_priv; 1757 dig = radeon_encoder->enc_priv;
1758 if (ASIC_IS_DCE41(rdev)) { 1758 if (ASIC_IS_DCE41(rdev)) {
1759 if (dig->linkb) 1759 /* ontario follows DCE4 */
1760 return 1; 1760 if (rdev->family == CHIP_PALM) {
1761 else 1761 if (dig->linkb)
1762 return 0; 1762 return 1;
1763 else
1764 return 0;
1765 } else
1766 /* llano follows DCE3.2 */
1767 return radeon_crtc->crtc_id;
1763 } else { 1768 } else {
1764 switch (radeon_encoder->encoder_id) { 1769 switch (radeon_encoder->encoder_id) {
1765 case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: 1770 case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: