aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/radeon/radeon_encoders.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c
index 8e058f1f46d6..aa2450ba0ff8 100644
--- a/drivers/gpu/drm/radeon/radeon_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_encoders.c
@@ -1521,26 +1521,29 @@ radeon_atom_encoder_dpms(struct drm_encoder *encoder, int mode)
1521 } 1521 }
1522 1522
1523 if (ext_encoder) { 1523 if (ext_encoder) {
1524 int action;
1525
1526 switch (mode) { 1524 switch (mode) {
1527 case DRM_MODE_DPMS_ON: 1525 case DRM_MODE_DPMS_ON:
1528 default: 1526 default:
1529 if (ASIC_IS_DCE41(rdev)) 1527 if (ASIC_IS_DCE41(rdev)) {
1530 action = EXTERNAL_ENCODER_ACTION_V3_ENABLE_OUTPUT; 1528 atombios_external_encoder_setup(encoder, ext_encoder,
1531 else 1529 EXTERNAL_ENCODER_ACTION_V3_ENABLE_OUTPUT);
1532 action = ATOM_ENABLE; 1530 atombios_external_encoder_setup(encoder, ext_encoder,
1531 EXTERNAL_ENCODER_ACTION_V3_ENCODER_BLANKING_OFF);
1532 } else
1533 atombios_external_encoder_setup(encoder, ext_encoder, ATOM_ENABLE);
1533 break; 1534 break;
1534 case DRM_MODE_DPMS_STANDBY: 1535 case DRM_MODE_DPMS_STANDBY:
1535 case DRM_MODE_DPMS_SUSPEND: 1536 case DRM_MODE_DPMS_SUSPEND:
1536 case DRM_MODE_DPMS_OFF: 1537 case DRM_MODE_DPMS_OFF:
1537 if (ASIC_IS_DCE41(rdev)) 1538 if (ASIC_IS_DCE41(rdev)) {
1538 action = EXTERNAL_ENCODER_ACTION_V3_DISABLE_OUTPUT; 1539 atombios_external_encoder_setup(encoder, ext_encoder,
1539 else 1540 EXTERNAL_ENCODER_ACTION_V3_ENCODER_BLANKING);
1540 action = ATOM_DISABLE; 1541 atombios_external_encoder_setup(encoder, ext_encoder,
1542 EXTERNAL_ENCODER_ACTION_V3_DISABLE_OUTPUT);
1543 } else
1544 atombios_external_encoder_setup(encoder, ext_encoder, ATOM_DISABLE);
1541 break; 1545 break;
1542 } 1546 }
1543 atombios_external_encoder_setup(encoder, ext_encoder, action);
1544 } 1547 }
1545 1548
1546 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); 1549 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false);