[Intel-gfx] [PATCH] drm/i915/dp: Fix the channel equalization failure condition during Link Training

Manasi Navare manasi.d.navare at intel.com
Fri Aug 18 03:03:04 UTC 2017


In the channel EQ retry loop, we break from the loop in case
of failure to get link status or failure in clock recovery or
failure to update link training. In these cases channel_eq_status
is still false even though the retry loop has not reached max retries.
So we need to consider this as a failure condition.

Signed-off-by: Manasi Navare <manasi.d.navare at intel.com>
Cc: Jim Bride <jim.bride at linux.intel.com>
Cc: Jani Nikula <jani.nikula at linux.intel.com>
Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
---
 drivers/gpu/drm/i915/intel_dp_link_training.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp_link_training.c b/drivers/gpu/drm/i915/intel_dp_link_training.c
index 05907fa..3fef219 100644
--- a/drivers/gpu/drm/i915/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/intel_dp_link_training.c
@@ -294,9 +294,9 @@ intel_dp_link_training_channel_equalization(struct intel_dp *intel_dp)
 	}
 
 	/* Try 5 times, else fail and try at lower BW */
-	if (tries == 5) {
+	if (tries == 5 || !intel_dp->channel_eq_status) {
 		intel_dp_dump_link_status(link_status);
-		DRM_DEBUG_KMS("Channel equalization failed 5 times\n");
+		DRM_DEBUG_KMS("Channel equalization failed\n");
 	}
 
 	intel_dp_set_idle_link_train(intel_dp);
-- 
2.1.4



More information about the Intel-gfx mailing list