aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorDhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>2016-09-07 14:28:00 -0400
committerRodrigo Vivi <rodrigo.vivi@intel.com>2016-09-09 17:53:18 -0400
commit7bfaddf057f3ae774fa355cb7d87324ca67add94 (patch)
tree7e8d8d834bb557152ab3e1e4ed99fbefe5460cd0 /drivers/gpu/drm
parentf169660ed4e57a03e6f6ed07fe192dbcb7687a0d (diff)
drm/i915/dp: Move max. vswing check to it's own function
Wrap the max. vswing check in a separate function. This makes the clock recovery phase of DP link training cleaner v3: Fixed the paranthesis warning (Mika Kahola) v2: Fixed the Compiler warning (Mika Kahola) Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/i915/intel_dp_link_training.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_link_training.c b/drivers/gpu/drm/i915/intel_dp_link_training.c
index 0deebed71a26..b9880cf0ae6c 100644
--- a/drivers/gpu/drm/i915/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/intel_dp_link_training.c
@@ -112,6 +112,18 @@ intel_dp_update_link_train(struct intel_dp *intel_dp)
112 return ret == intel_dp->lane_count; 112 return ret == intel_dp->lane_count;
113} 113}
114 114
115static bool intel_dp_link_max_vswing_reached(struct intel_dp *intel_dp)
116{
117 int lane;
118
119 for (lane = 0; lane < intel_dp->lane_count; lane++)
120 if ((intel_dp->train_set[lane] &
121 DP_TRAIN_MAX_SWING_REACHED) == 0)
122 return false;
123
124 return true;
125}
126
115/* Enable corresponding port and start training pattern 1 */ 127/* Enable corresponding port and start training pattern 1 */
116static void 128static void
117intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp) 129intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp)
@@ -170,10 +182,7 @@ intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp)
170 } 182 }
171 183
172 /* Check to see if we've tried the max voltage */ 184 /* Check to see if we've tried the max voltage */
173 for (i = 0; i < intel_dp->lane_count; i++) 185 if (intel_dp_link_max_vswing_reached(intel_dp)) {
174 if ((intel_dp->train_set[i] & DP_TRAIN_MAX_SWING_REACHED) == 0)
175 break;
176 if (i == intel_dp->lane_count) {
177 ++loop_tries; 186 ++loop_tries;
178 if (loop_tries == 5) { 187 if (loop_tries == 5) {
179 DRM_ERROR("too many full retries, give up\n"); 188 DRM_ERROR("too many full retries, give up\n");