diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2011-10-12 18:44:32 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-10-18 05:16:10 -0400 |
commit | 3a6dea31453a101bd5e9e9c89a79f4fcb6b0342e (patch) | |
tree | ff126d2bc67017199049ddba761979f3bda57eb9 | |
parent | e22469ca88a8f1f6fe47adbf5e5ce0906aec07cd (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.c | 13 |
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: |