]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/amd/display: check for repeater when setting aux_rd_interval.
authorabdoulaye berthe <abdoulaye.berthe@amd.com>
Tue, 12 Nov 2019 16:07:24 +0000 (11:07 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 Dec 2019 21:31:10 +0000 (16:31 -0500)
[Why]
When training with repeater the aux read interval must be set to
repeater specific aux_red_interval. This value is always 100us for CR.

[How]
Check for repeater when setting the aux_rd_interval in channel
equalization.
Use the right offset in the aux_rd_interval array

Signed-off-by: abdoulaye berthe <abdoulaye.berthe@amd.com>
Reviewed-by: Wenjing Liu <Wenjing.Liu@amd.com>
Acked-by: George Shen <George.Shen@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c

index 015fa0c52746dca67778be18997331c5a00dcf09..dfcd6421ee0124efe7ecdf5cac0d45091a99090d 100644 (file)
@@ -906,10 +906,10 @@ static enum link_training_result perform_channel_equalization_sequence(
                /* 3. wait for receiver to lock-on*/
                wait_time_microsec = lt_settings->eq_pattern_time;
 
-               if (!link->is_lttpr_mode_transparent)
+               if (is_repeater(link, offset))
                        wait_time_microsec =
                                        translate_training_aux_read_interval(
-                                               link->dpcd_caps.lttpr_caps.aux_rd_interval[offset]);
+                                               link->dpcd_caps.lttpr_caps.aux_rd_interval[offset - 1]);
 
                wait_for_training_aux_rd_interval(
                                link,