> -----Original Message-----
> From: Intel-xe <[email protected]> On Behalf Of Imre Deak
> Sent: Monday, 1 June 2026 12.38
> To: [email protected]; [email protected]
> Subject: [PATCH v2 08/22] drm/i915/dp_link_training: Prevent repeated 
> autoretrain attempts
> 
> After a regular modeset link training failure, the driver attempts to recover 
> the link via an autoretrain using the same link parameters as the
> modeset.
> 
> If the autoretrain fails as well, the set of allowed link configurations is 
> reduced via a fallback mechanism. For further link training, the modeset
> parameters will likely need to change. This lowers the required link 
> bandwidth and allows selecting a link configuration from the fallback-
> reduced set. Only userspace can perform such a modeset change.
> Therefore, the driver notifies userspace to take over link recovery.
> 
> Userspace is expected to continue with the recovery attempt via a modeset 
> with updated parameters. The driver must not interfere with
> these modesets.
> 
> link_training->seq_train_failures is set to MAX_SEQ_TRAIN_FAILURES after the 
> autoretrain fails. If a fallback selection also fails after this, as
> no link configurations remain, retrain_disabled is set as well.
> 
> retrain_disabled is therefore somewhat misnamed: it indicates that no 
> fallback is available, not that autoretraining is disabled. This will be
> addressed in a follow-up change by renaming the flag. For now, prevent 
> further autoretrain attempts based on the correct condition:
> seq_train_failures == MAX_SEQ_TRAIN_FAILURES.
> 
> This also prepares for replacing the counter with an enum in a follow-up 
> change.
> 

Reviewed-by: Mika Kahola <[email protected]>

> Signed-off-by: Imre Deak <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_dp_link_training.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 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 154caecacecb2..e766f7c323f72 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
> @@ -2002,7 +2002,7 @@ intel_dp_needs_link_retrain(struct intel_dp *intel_dp)
>                                       intel_dp->lane_count))
>               return false;
> 
> -     if (link_training->retrain_disabled)
> +     if (link_training->seq_train_failures >= MAX_SEQ_TRAIN_FAILURES)
>               return false;
> 
>       if (link_training->seq_train_failures)
> --
> 2.49.1

Reply via email to