diff options
author | Jimmy Kizito <[email protected]> | 2021-04-07 18:56:19 -0400 |
---|---|---|
committer | Alex Deucher <[email protected]> | 2021-10-06 15:51:34 -0400 |
commit | edfb2693471f593856df915cd24c1b62ffaf978c (patch) | |
tree | b0fe6fb3e619392d858fa7fa5c2df9b10d597219 | |
parent | 31cf79f05d34f4a8040bbeaaf7f03b0fb5fe117f (diff) |
drm/amd/display: Train DPIA links with fallback
[Why & How]
Conventional links are trained with fallback during sink detection.
Have DPIA links trained with fallback too.
Reviewed-by: Jun Lei <[email protected]>
Acked-by: Wayne Lin <[email protected]>
Acked-by: Nicholas Kazlauskas <[email protected]>
Acked-by: Harry Wentland <[email protected]>
Signed-off-by: Jimmy Kizito <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc_link.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 4 |
2 files changed, 8 insertions, 2 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 1c397d5551ba..6b5ddf0a29c1 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c @@ -1862,6 +1862,12 @@ static enum dc_status enable_link_dp(struct dc_state *state, /* get link settings for video mode timing */ decide_link_settings(stream, &link_settings); + /* Train with fallback when enabling DPIA link. Conventional links are + * trained with fallback during sink detection. + */ + if (link->ep_type == DISPLAY_ENDPOINT_USB4_DPIA) + do_fallback = true; + #if defined(CONFIG_DRM_AMD_DC_DCN) if (dp_get_link_encoding_format(&link_settings) == DP_128b_132b_ENCODING && pipe_ctx->stream->signal == SIGNAL_TYPE_DISPLAY_PORT) { diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c index 13bf1d5ffb25..eb320790523e 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c @@ -2406,9 +2406,9 @@ bool perform_link_training_with_retries( dc_link_dp_perform_link_training_skip_aux(link, ¤t_setting); return true; } else { - if (link->is_dig_mapping_flexible) + if (link->ep_type == DISPLAY_ENDPOINT_USB4_DPIA) status = dc_link_dpia_perform_link_training(link, - link_setting, + ¤t_setting, skip_video_pattern); else status = dc_link_dp_perform_link_training(link, |