diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/atombios_crtc.c')
-rw-r--r-- | drivers/gpu/drm/radeon/atombios_crtc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c index 807b89b4933..891935271d3 100644 --- a/drivers/gpu/drm/radeon/atombios_crtc.c +++ b/drivers/gpu/drm/radeon/atombios_crtc.c | |||
@@ -518,6 +518,7 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc, | |||
518 | int encoder_mode = 0; | 518 | int encoder_mode = 0; |
519 | u32 dp_clock = mode->clock; | 519 | u32 dp_clock = mode->clock; |
520 | int bpc = 8; | 520 | int bpc = 8; |
521 | bool is_duallink = false; | ||
521 | 522 | ||
522 | /* reset the pll flags */ | 523 | /* reset the pll flags */ |
523 | pll->flags = 0; | 524 | pll->flags = 0; |
@@ -552,6 +553,7 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc, | |||
552 | if (connector && connector->display_info.bpc) | 553 | if (connector && connector->display_info.bpc) |
553 | bpc = connector->display_info.bpc; | 554 | bpc = connector->display_info.bpc; |
554 | encoder_mode = atombios_get_encoder_mode(encoder); | 555 | encoder_mode = atombios_get_encoder_mode(encoder); |
556 | is_duallink = radeon_dig_monitor_is_duallink(encoder, mode->clock); | ||
555 | if ((radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT | ATOM_DEVICE_DFP_SUPPORT)) || | 557 | if ((radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT | ATOM_DEVICE_DFP_SUPPORT)) || |
556 | (radeon_encoder_get_dp_bridge_encoder_id(encoder) != ENCODER_OBJECT_ID_NONE)) { | 558 | (radeon_encoder_get_dp_bridge_encoder_id(encoder) != ENCODER_OBJECT_ID_NONE)) { |
557 | if (connector) { | 559 | if (connector) { |
@@ -647,7 +649,7 @@ static u32 atombios_adjust_pll(struct drm_crtc *crtc, | |||
647 | if (dig->coherent_mode) | 649 | if (dig->coherent_mode) |
648 | args.v3.sInput.ucDispPllConfig |= | 650 | args.v3.sInput.ucDispPllConfig |= |
649 | DISPPLL_CONFIG_COHERENT_MODE; | 651 | DISPPLL_CONFIG_COHERENT_MODE; |
650 | if (mode->clock > 165000) | 652 | if (is_duallink) |
651 | args.v3.sInput.ucDispPllConfig |= | 653 | args.v3.sInput.ucDispPllConfig |= |
652 | DISPPLL_CONFIG_DUAL_LINK; | 654 | DISPPLL_CONFIG_DUAL_LINK; |
653 | } | 655 | } |