Message ID | 1473207238-3490-1-git-send-email-manasi.d.navare@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 2016-09-06 at 17:13 -0700, Manasi Navare wrote: > From: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> > > Wrap the max. vswing check in a separate function. > This makes the clock recovery phase of DP link training cleaner > > 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> > --- > drivers/gpu/drm/i915/intel_dp_link_training.c | 17 +++++++++++++---- > 1 file 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 0deebed..b1eee5b 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) > return ret == intel_dp->lane_count; > } > > +static bool intel_dp_link_max_vswing_reached(struct intel_dp > *intel_dp) > +{ > + int lane; > + > + for (lane = 0; lane < intel_dp->lane_count; lane++) > + if (intel_dp->train_set[lane] & > + (DP_TRAIN_MAX_SWING_REACHED == 0)) > + return false; It seems that the parenthesis a misplaced here. I think you meant if ((intel_dp->train_set[lane] & DP_TRAIN_MAX_SWING_REACHED) == 0) > + > + return true; > +} > + > /* Enable corresponding port and start training pattern 1 */ > static void > 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) > } > > /* Check to see if we've tried the max voltage */ > - for (i = 0; i < intel_dp->lane_count; i++) > - if ((intel_dp->train_set[i] & > DP_TRAIN_MAX_SWING_REACHED) == 0) > - break; > - if (i == intel_dp->lane_count) { > + if (intel_dp_link_max_vswing_reached(intel_dp)) { > ++loop_tries; > if (loop_tries == 5) { > DRM_ERROR("too many full retries, > give up\n");
diff --git a/drivers/gpu/drm/i915/intel_dp_link_training.c b/drivers/gpu/drm/i915/intel_dp_link_training.c index 0deebed..b1eee5b 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) return ret == intel_dp->lane_count; } +static bool intel_dp_link_max_vswing_reached(struct intel_dp *intel_dp) +{ + int lane; + + for (lane = 0; lane < intel_dp->lane_count; lane++) + if (intel_dp->train_set[lane] & + (DP_TRAIN_MAX_SWING_REACHED == 0)) + return false; + + return true; +} + /* Enable corresponding port and start training pattern 1 */ static void 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) } /* Check to see if we've tried the max voltage */ - for (i = 0; i < intel_dp->lane_count; i++) - if ((intel_dp->train_set[i] & DP_TRAIN_MAX_SWING_REACHED) == 0) - break; - if (i == intel_dp->lane_count) { + if (intel_dp_link_max_vswing_reached(intel_dp)) { ++loop_tries; if (loop_tries == 5) { DRM_ERROR("too many full retries, give up\n");