On Fri, 2023-05-05 at 23:46 +0300, Imre Deak wrote: > Prevent downgrading the link training maximum lane count/rate if the > sink is disconnected - and so the link training failure is expected. In > such cases modeset failures due to the reduced max link params would be > just confusing for user space (instead of which the correct thing it > should act on is the sink disconnect signaled by a hotplug event, > requiring a disabling modeset). > > v2: > - Check the actual HPD state to handle the forced connector state case. > (Vinod) > > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Cc: Vinod Govindapillai <vinod.govindapillai@xxxxxxxxx> > Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> (v1) > Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> > --- Thanks. Looks good. Reviewed-by: Vinod Govindapillai <vinod.govindapillai@xxxxxxxxx> > drivers/gpu/drm/i915/display/intel_dp_link_training.c | 5 +++++ > 1 file changed, 5 insertions(+) > > 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 51d1e4b4b2f19..0952a707358c1 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c > @@ -1065,6 +1065,11 @@ static void intel_dp_schedule_fallback_link_training(struct intel_dp > *intel_dp, > { > struct intel_connector *intel_connector = intel_dp->attached_connector; > > + if (!intel_digital_port_connected(&dp_to_dig_port(intel_dp)->base)) { > + lt_dbg(intel_dp, DP_PHY_DPRX, "Link Training failed on disconnected sink.\n"); > + return; > + } > + > if (intel_dp->hobl_active) { > lt_dbg(intel_dp, DP_PHY_DPRX, > "Link Training failed with HOBL active, not enabling it from now on\n");