OSDN Git Service

drm/amd/display: set lttpr mode before link settings
authorabdoulaye berthe <abdoulaye.berthe@amd.com>
Tue, 18 Feb 2020 22:05:05 +0000 (17:05 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 Mar 2020 05:31:46 +0000 (00:31 -0500)
[Why]
Some lttpr devices do not work properly when lttpr mode is configured
after link settings.

[How]
Move lttpr configuration before lane settings.

Signed-off-by: abdoulaye berthe <abdoulaye.berthe@amd.com>
Reviewed-by: Wenjing Liu <Wenjing.Liu@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c

index bf5406e..fc3664d 100644 (file)
@@ -1446,6 +1446,10 @@ enum link_training_result dc_link_dp_perform_link_training(
                        &link->preferred_training_settings,
                        &lt_settings);
 
+       /* Configure lttpr mode */
+       if (!link->is_lttpr_mode_transparent)
+               configure_lttpr_mode(link);
+
        if (link->ctx->dc->work_arounds.lt_early_cr_pattern)
                start_clock_recovery_pattern_early(link, &lt_settings, DPRX);
 
@@ -1460,8 +1464,6 @@ enum link_training_result dc_link_dp_perform_link_training(
        dp_set_fec_ready(link, fec_enable);
 
        if (!link->is_lttpr_mode_transparent) {
-               /* Configure lttpr mode */
-               configure_lttpr_mode(link);
 
                /* 2. perform link training (set link training done
                 *  to false is done as well)