On 2021-10-05 03:51, Wayne Lin wrote:
> From: Jimmy Kizito <jimmy.kiz...@amd.com>
> 
> [Why & How]
> Add codes for commit "822536713066 drm/amd/display: Add fallback
> and abort paths for DP link training" to support USB4 DP tunneling
> feature
> 

Suggested title: "Train DPIA links with fallback"

Harry

> Reviewed-by: Jun Lei <jun....@amd.com>
> Acked-by: Wayne Lin <wayne....@amd.com>
> Acked-by: Nicholas Kazlauskas <nicholas.kazlaus...@amd.com>
> Signed-off-by: Jimmy Kizito <jimmy.kiz...@amd.com>
> ---
>  drivers/gpu/drm/amd/display/dc/core/dc_link.c    | 6 ++++++
>  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 dd1d0262ba40..d7dddc0998db 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
> @@ -2408,9 +2408,9 @@ bool perform_link_training_with_retries(
>                       dc_link_dp_perform_link_training_skip_aux(link, 
> &current_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,
> +                                                                         
> &current_setting,
>                                                                           
> skip_video_pattern);
>                       else
>                               status = dc_link_dp_perform_link_training(link,
> 

Reply via email to