diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2011-10-05 18:36:50 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-10-06 06:45:30 -0400 |
commit | cb7cf41961fe10773c491c75ae73539ad4bbed66 (patch) | |
tree | 0a080c6dcb200e0df5c17efdddce82aec9fd7c61 /drivers/gpu | |
parent | 6777a4f6898a53974ef7fe7ce09ec41fae0f32db (diff) |
drm/radeon/kms: use hardcoded dig encoder to transmitter mapping for DCE4.1
The encoders are supposedly fully routeable, but changing the mapping
doesn't always seem to take. Using a hardcoded mapping is much more
reliable.
Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=41366
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Tested-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_encoders.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c index 13690f3eb4a4..8a171b21b453 100644 --- a/drivers/gpu/drm/radeon/radeon_encoders.c +++ b/drivers/gpu/drm/radeon/radeon_encoders.c | |||
@@ -1755,9 +1755,12 @@ static int radeon_atom_pick_dig_encoder(struct drm_encoder *encoder) | |||
1755 | /* DCE4/5 */ | 1755 | /* DCE4/5 */ |
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 | return radeon_crtc->crtc_id; | 1759 | if (dig->linkb) |
1760 | else { | 1760 | return 1; |
1761 | else | ||
1762 | return 0; | ||
1763 | } else { | ||
1761 | switch (radeon_encoder->encoder_id) { | 1764 | switch (radeon_encoder->encoder_id) { |
1762 | case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: | 1765 | case ENCODER_OBJECT_ID_INTERNAL_UNIPHY: |
1763 | if (dig->linkb) | 1766 | if (dig->linkb) |