> -----Original Message----- > From: Intel-gfx <[email protected]> On Behalf Of Imre > Deak > Sent: Monday, 1 June 2026 12.38 > To: [email protected]; [email protected] > Cc: Nikula, Jani <[email protected]> > Subject: [PATCH v2 11/22] drm/i915/dp_link_training: Add helper to query > pending autoretrain > > Add link_recovery_autoretrain_pending() to make it clearer what the condition > is about at its callers: an autoretrain work has been queued. > > This also prepares for replacing the sequential link training failure counter > with an enum in a follow-up change. > > v2: Remove unnecessary function documentation. (Jani) > > Cc: Jani Nikula <[email protected]>
Reviewed-by: Mika Kahola <[email protected]> > Signed-off-by: Imre Deak <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_dp_link_training.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c > b/drivers/gpu/drm/i915/display/intel_dp_link_training.c > index cbac9a70e8d5b..f6a8102a300c1 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c > @@ -1264,6 +1264,12 @@ intel_dp_128b132b_intra_hop(struct intel_dp *intel_dp, > return sink_status & DP_INTRA_HOP_AUX_REPLY_INDICATION ? 1 : 0; } > > +static bool > +link_recovery_autoretrain_pending(struct intel_dp_link_training > +*link_training) { > + return link_training->seq_train_failures == 1; } > + > /** > * intel_dp_stop_link_train - stop link training > * @intel_dp: DP struct > @@ -1305,7 +1311,7 @@ void intel_dp_stop_link_train(struct intel_dp *intel_dp, > > if (!display->hotplug.ignore_long_hpd && > link_training->seq_train_failures < MAX_SEQ_TRAIN_FAILURES) { > - int delay_ms = link_training->seq_train_failures == 1 ? 0 : > 2000; > + int delay_ms = link_recovery_autoretrain_pending(link_training) > ? 0 : > +2000; > > intel_encoder_link_check_queue_work(encoder, delay_ms); > } > @@ -2006,7 +2012,7 @@ intel_dp_needs_link_retrain(struct intel_dp *intel_dp) > if (link_training->seq_train_failures >= MAX_SEQ_TRAIN_FAILURES) > return false; > > - if (link_training->seq_train_failures == 1) > + if (link_recovery_autoretrain_pending(link_training)) > return true; > > /* Retrain if link not ok */ > -- > 2.49.1
