On Mon, Oct 05, 2015 at 10:01:13AM +0300, Ander Conselvan de Oliveira wrote: > The link training functions had confusing names. The start function > actually does the clock recovery phase of the link training, and the > complete function does the channel equalization. So call them that > instead. Also, every call to intel_dp_start_link_train() was followed > by a call to intel_dp_complete_link_train(), so add a new start > function that calls clock_recory and channel_equalization. > > Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> Queued for -next, thanks for the patch. -Daniel > --- > drivers/gpu/drm/i915/intel_ddi.c | 1 - > drivers/gpu/drm/i915/intel_dp.c | 22 +++++++++++++--------- > drivers/gpu/drm/i915/intel_dp_mst.c | 1 - > drivers/gpu/drm/i915/intel_drv.h | 1 - > 4 files changed, 13 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c > index 2d3cc82..220679d 100644 > --- a/drivers/gpu/drm/i915/intel_ddi.c > +++ b/drivers/gpu/drm/i915/intel_ddi.c > @@ -2317,7 +2317,6 @@ static void intel_ddi_pre_enable(struct intel_encoder *intel_encoder) > > intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); > intel_dp_start_link_train(intel_dp); > - intel_dp_complete_link_train(intel_dp); > if (port != PORT_A || INTEL_INFO(dev)->gen >= 9) > intel_dp_stop_link_train(intel_dp); > } else if (type == INTEL_OUTPUT_HDMI) { > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 97ed418..c420edf 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -2604,7 +2604,6 @@ static void intel_enable_dp(struct intel_encoder *encoder) > > intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); > intel_dp_start_link_train(intel_dp); > - intel_dp_complete_link_train(intel_dp); > intel_dp_stop_link_train(intel_dp); > > if (crtc->config->has_audio) { > @@ -3696,8 +3695,8 @@ static void intel_dp_set_idle_link_train(struct intel_dp *intel_dp) > } > > /* Enable corresponding port and start training pattern 1 */ > -void > -intel_dp_start_link_train(struct intel_dp *intel_dp) > +static void > +intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp) > { > struct drm_encoder *encoder = &dp_to_dig_port(intel_dp)->base.base; > struct drm_device *dev = encoder->dev; > @@ -3810,8 +3809,8 @@ intel_dp_start_link_train(struct intel_dp *intel_dp) > intel_dp->DP = DP; > } > > -void > -intel_dp_complete_link_train(struct intel_dp *intel_dp) > +static void > +intel_dp_link_training_channel_equalization(struct intel_dp *intel_dp) > { > struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); > struct drm_device *dev = dig_port->base.base.dev; > @@ -3864,7 +3863,7 @@ intel_dp_complete_link_train(struct intel_dp *intel_dp) > if (!drm_dp_clock_recovery_ok(link_status, > intel_dp->lane_count)) { > intel_dp->train_set_valid = false; > - intel_dp_start_link_train(intel_dp); > + intel_dp_link_training_clock_recovery(intel_dp); > intel_dp_set_link_train(intel_dp, &DP, > training_pattern | > DP_LINK_SCRAMBLING_DISABLE); > @@ -3881,7 +3880,7 @@ intel_dp_complete_link_train(struct intel_dp *intel_dp) > /* Try 5 times, then try clock recovery if that fails */ > if (tries > 5) { > intel_dp->train_set_valid = false; > - intel_dp_start_link_train(intel_dp); > + intel_dp_link_training_clock_recovery(intel_dp); > intel_dp_set_link_train(intel_dp, &DP, > training_pattern | > DP_LINK_SCRAMBLING_DISABLE); > @@ -3914,6 +3913,13 @@ void intel_dp_stop_link_train(struct intel_dp *intel_dp) > DP_TRAINING_PATTERN_DISABLE); > } > > +void > +intel_dp_start_link_train(struct intel_dp *intel_dp) > +{ > + intel_dp_link_training_clock_recovery(intel_dp); > + intel_dp_link_training_channel_equalization(intel_dp); > +} > + > static void > intel_dp_link_down(struct intel_dp *intel_dp) > { > @@ -4382,7 +4388,6 @@ go_again: > !drm_dp_channel_eq_ok(&esi[10], intel_dp->lane_count)) { > DRM_DEBUG_KMS("channel EQ not ok, retraining\n"); > intel_dp_start_link_train(intel_dp); > - intel_dp_complete_link_train(intel_dp); > intel_dp_stop_link_train(intel_dp); > } > > @@ -4473,7 +4478,6 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) > DRM_DEBUG_KMS("%s: channel EQ not ok, retraining\n", > intel_encoder->base.name); > intel_dp_start_link_train(intel_dp); > - intel_dp_complete_link_train(intel_dp); > intel_dp_stop_link_train(intel_dp); > } > } > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c > index ca4d022..1537259 100644 > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > @@ -188,7 +188,6 @@ static void intel_mst_pre_enable_dp(struct intel_encoder *encoder) > > > intel_dp_start_link_train(intel_dp); > - intel_dp_complete_link_train(intel_dp); > intel_dp_stop_link_train(intel_dp); > } > > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h > index dfd2d10..5366c9e 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -1215,7 +1215,6 @@ bool intel_dp_init_connector(struct intel_digital_port *intel_dig_port, > void intel_dp_set_link_params(struct intel_dp *intel_dp, > const struct intel_crtc_state *pipe_config); > void intel_dp_start_link_train(struct intel_dp *intel_dp); > -void intel_dp_complete_link_train(struct intel_dp *intel_dp); > void intel_dp_stop_link_train(struct intel_dp *intel_dp); > void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode); > void intel_dp_encoder_destroy(struct drm_encoder *encoder); > -- > 2.4.3 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx