From: Dale Zhao <dale.zhao@xxxxxxx> [Why]: We will do deffer call back for display detection now. For S4/PM resuming case, if SST DP monitor has been lighted up, verify DP caps again and reenable stream during detection will black screen and light again. Which is a flash problem. [How]: Shoudn't do verify SST DP caps if link has been active, and skip reenable stream. Change-Id: I5267db502e5fab0102a0db4d520bfa9282aa050e Signed-off-by: Dale Zhao <dale.zhao@xxxxxxx> Reviewed-by: Jun Lei <Jun.Lei@xxxxxxx> Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@xxxxxxx> --- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c index ecbf165b5775..574612ddd5d2 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c @@ -987,11 +987,15 @@ static bool dc_link_detect_helper(struct dc_link *link, * two link trainings */ - // verify link cap for SST non-seamless boot - if (!perform_dp_seamless_boot) - dp_verify_link_cap_with_retries(link, - &link->reported_link_cap, - LINK_TRAINING_MAX_VERIFY_RETRY); + // verify link cap for SST non-seamless boot, skip re-verify if link is active + if (!perform_dp_seamless_boot) { + if (!link->link_status.link_active || + link->verified_link_cap.link_rate == LINK_RATE_UNKNOWN || + link->verified_link_cap.lane_count == LANE_COUNT_UNKNOWN) + dp_verify_link_cap_with_retries(link, + &link->reported_link_cap, + LINK_TRAINING_MAX_VERIFY_RETRY); + } } else { // If edid is the same, then discard new sink and revert back to original sink if (same_edid) { -- 2.26.0 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx