[PATCH 28/36] drm/amd/display: Don't verify DP caps again

Rodrigo Siqueira Rodrigo.Siqueira at amd.com
Sun Apr 5 20:41:07 UTC 2020


From: Dale Zhao <dale.zhao at amd.com>

[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 at amd.com>
Reviewed-by: Jun Lei <Jun.Lei at amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
---
 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



More information about the amd-gfx mailing list