diff options
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_encoders.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c index cbc6fa20cf5a..52d6f96f274b 100644 --- a/drivers/gpu/drm/radeon/radeon_encoders.c +++ b/drivers/gpu/drm/radeon/radeon_encoders.c | |||
| @@ -1044,16 +1044,25 @@ radeon_atom_encoder_dpms(struct drm_encoder *encoder, int mode) | |||
| 1044 | if (is_dig) { | 1044 | if (is_dig) { |
| 1045 | switch (mode) { | 1045 | switch (mode) { |
| 1046 | case DRM_MODE_DPMS_ON: | 1046 | case DRM_MODE_DPMS_ON: |
| 1047 | atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT, 0, 0); | 1047 | if (atombios_get_encoder_mode(encoder) == ATOM_ENCODER_MODE_DP) { |
| 1048 | { | ||
| 1049 | struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); | 1048 | struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); |
| 1049 | |||
| 1050 | dp_link_train(encoder, connector); | 1050 | dp_link_train(encoder, connector); |
| 1051 | if (ASIC_IS_DCE4(rdev)) | ||
| 1052 | atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_DP_VIDEO_ON); | ||
| 1051 | } | 1053 | } |
| 1054 | if (!ASIC_IS_DCE4(rdev)) | ||
| 1055 | atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT, 0, 0); | ||
| 1052 | break; | 1056 | break; |
| 1053 | case DRM_MODE_DPMS_STANDBY: | 1057 | case DRM_MODE_DPMS_STANDBY: |
| 1054 | case DRM_MODE_DPMS_SUSPEND: | 1058 | case DRM_MODE_DPMS_SUSPEND: |
| 1055 | case DRM_MODE_DPMS_OFF: | 1059 | case DRM_MODE_DPMS_OFF: |
| 1056 | atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE_OUTPUT, 0, 0); | 1060 | if (!ASIC_IS_DCE4(rdev)) |
| 1061 | atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_DISABLE_OUTPUT, 0, 0); | ||
| 1062 | if (atombios_get_encoder_mode(encoder) == ATOM_ENCODER_MODE_DP) { | ||
| 1063 | if (ASIC_IS_DCE4(rdev)) | ||
| 1064 | atombios_dig_encoder_setup(encoder, ATOM_ENCODER_CMD_DP_VIDEO_OFF); | ||
| 1065 | } | ||
| 1057 | break; | 1066 | break; |
| 1058 | } | 1067 | } |
| 1059 | } else { | 1068 | } else { |
