From 4f1d9df2b807835c4c977392abcb0e65b2f51f46 Mon Sep 17 00:00:00 2001 From: Mykola Lysenko Date: Tue, 1 Dec 2015 18:26:31 +0800 Subject: [PATCH 0542/1110] drm/amd/dal: small refactoring in DP related code Reuse regular DP code in MST case instead of duplication Ident properly few places in link training code Signed-off-by: Harry Wentland Acked-by: Harry Wentland --- drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c | 16 ++++++++-------- drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c | 12 ++---------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c index 9214aec..71e6f8c 100644 --- a/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c +++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link_dp.c @@ -1315,9 +1315,9 @@ static bool hpd_rx_irq_check_link_loss_status( */ dpcd_result = core_link_read_dpcd(link, - DPCD_ADDRESS_POWER_STATE, - &irq_reg_rx_power_state, - sizeof(irq_reg_rx_power_state)); + DPCD_ADDRESS_POWER_STATE, + &irq_reg_rx_power_state, + sizeof(irq_reg_rx_power_state)); if (dpcd_result != DC_OK) { irq_reg_rx_power_state = DP_PWR_STATE_D0; @@ -1333,15 +1333,15 @@ static bool hpd_rx_irq_check_link_loss_status( /*2. Check that Link Status changed, before re-training.*/ /*parse lane status*/ - for (lane = 0; lane < - (uint32_t)(link->cur_link_settings.lane_count) && - !sink_status_changed; lane++) { + for (lane = 0; + lane < link->cur_link_settings.lane_count; + lane++) { /* check status of lanes 0,1 * changed DpcdAddress_Lane01Status (0x202)*/ lane_status.raw = get_nibble_at_index( - &hpd_irq_dpcd_data->bytes.lane01_status.raw, - lane); + &hpd_irq_dpcd_data->bytes.lane01_status.raw, + lane); if (!lane_status.bits.CHANNEL_EQ_DONE_0 || !lane_status.bits.CR_DONE_0 || diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c index e7673ed..8ef4674 100644 --- a/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c +++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link_hwss.c @@ -95,18 +95,10 @@ void dp_disable_link_phy_mst(struct core_link *link, struct core_stream *stream) } } /* MST disable link only when no stream use the link */ - if (link->enabled_stream_count > 0) { + if (link->enabled_stream_count > 0) return; - } - - if (!link->dp_wa.bits.KEEP_RECEIVER_POWERED) - dp_receiver_power_ctrl(link, false); - link->dc->hwss.encoder_disable_output(link->link_enc, stream->signal); - - /* Clear current link setting.*/ - dc_service_memset(&link->cur_link_settings, 0, - sizeof(link->cur_link_settings)); + dp_disable_link_phy(link, stream->signal); } bool dp_set_hw_training_pattern( -- 2.7.4