The Fixed: commit below overlooked the fact that
intel_dp_link_train_all_phys() is only used for non-UHBR link rates, but
intel_dp_stop_link_train() is used for both non-UHBR and UHBR link
rates. Hence, after removing the disabling of the training pattern from
intel_dp_stop_link_train(), the commit missed adding this back to the
end of UHBR link training in intel_dp_128b132b_link_train(). This left
the sink in link training mode at the end of an UHBR rate link training.

Fix things by disabling the training pattern at the end of UHBR link
training as well.

Cc: Ville Syrjälä <ville.syrj...@linux.intel.com>
Fixes: 11fab5a2a1ad ("drm/i915/dp: Clear DPCD training pattern before 
transmitting the idle pattern")
Signed-off-by: Imre Deak <imre.d...@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp_link_training.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c 
b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
index 344b74109a830..9d14b4e595456 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
@@ -1609,6 +1609,8 @@ intel_dp_128b132b_link_train(struct intel_dp *intel_dp,
                intel_dp_program_link_training_pattern(intel_dp, crtc_state,
                                                       DP_PHY_DPRX, 
DP_TRAINING_PATTERN_2);
 
+       intel_dp_disable_dpcd_training_pattern(intel_dp, DP_PHY_DPRX);
+
        return passed;
 }
 
-- 
2.49.1

Reply via email to