| From 1cbcca302a318499f20a512847c5d6a510c08c35 Mon Sep 17 00:00:00 2001 |
| From: Alex Deucher <alexander.deucher@amd.com> |
| Date: Mon, 3 Jun 2013 10:32:40 -0400 |
| Subject: drm/radeon: don't allow audio on DCE6 |
| |
| From: Alex Deucher <alexander.deucher@amd.com> |
| |
| commit 1cbcca302a318499f20a512847c5d6a510c08c35 upstream. |
| |
| It's not supported yet. Fixes display issues when |
| users force it on. |
| |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/radeon/atombios_encoders.c | 11 ++++++++--- |
| 1 file changed, 8 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/gpu/drm/radeon/atombios_encoders.c |
| +++ b/drivers/gpu/drm/radeon/atombios_encoders.c |
| @@ -667,6 +667,8 @@ atombios_digital_setup(struct drm_encode |
| int |
| atombios_get_encoder_mode(struct drm_encoder *encoder) |
| { |
| + struct drm_device *dev = encoder->dev; |
| + struct radeon_device *rdev = dev->dev_private; |
| struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); |
| struct drm_connector *connector; |
| struct radeon_connector *radeon_connector; |
| @@ -693,7 +695,8 @@ atombios_get_encoder_mode(struct drm_enc |
| case DRM_MODE_CONNECTOR_DVII: |
| case DRM_MODE_CONNECTOR_HDMIB: /* HDMI-B is basically DL-DVI; analog works fine */ |
| if (drm_detect_hdmi_monitor(radeon_connector->edid) && |
| - radeon_audio) |
| + radeon_audio && |
| + !ASIC_IS_DCE6(rdev)) /* remove once we support DCE6 */ |
| return ATOM_ENCODER_MODE_HDMI; |
| else if (radeon_connector->use_digital) |
| return ATOM_ENCODER_MODE_DVI; |
| @@ -704,7 +707,8 @@ atombios_get_encoder_mode(struct drm_enc |
| case DRM_MODE_CONNECTOR_HDMIA: |
| default: |
| if (drm_detect_hdmi_monitor(radeon_connector->edid) && |
| - radeon_audio) |
| + radeon_audio && |
| + !ASIC_IS_DCE6(rdev)) /* remove once we support DCE6 */ |
| return ATOM_ENCODER_MODE_HDMI; |
| else |
| return ATOM_ENCODER_MODE_DVI; |
| @@ -718,7 +722,8 @@ atombios_get_encoder_mode(struct drm_enc |
| (dig_connector->dp_sink_type == CONNECTOR_OBJECT_ID_eDP)) |
| return ATOM_ENCODER_MODE_DP; |
| else if (drm_detect_hdmi_monitor(radeon_connector->edid) && |
| - radeon_audio) |
| + radeon_audio && |
| + !ASIC_IS_DCE6(rdev)) /* remove once we support DCE6 */ |
| return ATOM_ENCODER_MODE_HDMI; |
| else |
| return ATOM_ENCODER_MODE_DVI; |