diff options
author | Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> | 2016-09-07 14:28:00 -0400 |
---|---|---|
committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2016-09-09 17:53:18 -0400 |
commit | 7bfaddf057f3ae774fa355cb7d87324ca67add94 (patch) | |
tree | 7e8d8d834bb557152ab3e1e4ed99fbefe5460cd0 /drivers/gpu/drm | |
parent | f169660ed4e57a03e6f6ed07fe192dbcb7687a0d (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.c | 17 |
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 | ||
115 | static 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 */ |
116 | static void | 128 | static void |
117 | intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp) | 129 | intel_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"); |