Commit 4de0bfe6 authored by Jimmy Kizito's avatar Jimmy Kizito Committed by Alex Deucher

drm/amd/display: Fix link training fallback logic

[Why]
Link training should fail if stream bandwidth exceeds link bandwidth.

[How]
Correct fallback logic and use named variables to make intention clear.
Reviewed-by: default avatarMeenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com>
Reviewed-by: default avatarJun Lei <Jun.Lei@amd.com>
Acked-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: default avatarJimmy Kizito <Jimmy.Kizito@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 4b7786d8
...@@ -2462,12 +2462,16 @@ bool perform_link_training_with_retries( ...@@ -2462,12 +2462,16 @@ bool perform_link_training_with_retries(
if (type == dc_connection_none) if (type == dc_connection_none)
break; break;
} else if (do_fallback) { } else if (do_fallback) {
uint32_t req_bw;
uint32_t link_bw;
decide_fallback_link_setting(*link_setting, &current_setting, status); decide_fallback_link_setting(*link_setting, &current_setting, status);
/* Fail link training if reduced link bandwidth no longer meets /* Fail link training if reduced link bandwidth no longer meets
* stream requirements. * stream requirements.
*/ */
if (dc_bandwidth_in_kbps_from_timing(&stream->timing) < req_bw = dc_bandwidth_in_kbps_from_timing(&stream->timing);
dc_link_bandwidth_kbps(link, &current_setting)) link_bw = dc_link_bandwidth_kbps(link, &current_setting);
if (req_bw > link_bw)
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment