diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-02-03 03:52:07 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2010-02-03 03:52:07 -0500 |
commit | ecbc26431914216a8b207e81451282ea07c8b92f (patch) | |
tree | 8916f8e276af785cbc943c4206eddf3f46198164 | |
parent | 710a2fd07235349f084ec40626cc28fbae523d27 (diff) |
evergreen: blank/unblank DP in dpms calls
-rw-r--r-- | src/atombios_output.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/atombios_output.c b/src/atombios_output.c index d7c396bf..547cd139 100644 --- a/src/atombios_output.c +++ b/src/atombios_output.c @@ -1417,7 +1417,9 @@ atombios_output_dpms(xf86OutputPtr output, int mode) if (((radeon_output->ConnectorType == CONNECTOR_DISPLAY_PORT) || (radeon_output->ConnectorType == CONNECTOR_EDP)) && (radeon_output->MonType == MT_DP)) { - do_displayport_link_train(output); + do_displayport_link_train(output); + if (IS_DCE4_VARIANT) + atombios_dce4_output_dig_encoder_setup(output, ATOM_ENCODER_CMD_DP_VIDEO_ON); } } else { @@ -1442,9 +1444,15 @@ atombios_output_dpms(xf86OutputPtr output, int mode) case DPMSModeOff: radeon_encoder->devices &= ~(radeon_output->active_device); if (!radeon_encoder->devices) { - if (is_dig) + if (is_dig) { + if (((radeon_output->ConnectorType == CONNECTOR_DISPLAY_PORT) || + (radeon_output->ConnectorType == CONNECTOR_EDP)) && + (radeon_output->MonType == MT_DP)) { + if (IS_DCE4_VARIANT) + atombios_dce4_output_dig_encoder_setup(output, ATOM_ENCODER_CMD_DP_VIDEO_OFF); + } atombios_output_dig_transmitter_setup(output, ATOM_TRANSMITTER_ACTION_DISABLE_OUTPUT, 0, 0); - else { + } else { disp_data.ucAction = ATOM_DISABLE; data.exec.index = index; data.exec.dataSpace = (void *)&space; |