[Intel-gfx] [PATCH v4 2/2] drm/i915/display: ignore link training failures in CI
Imre Deak
imre.deak at intel.com
Tue Mar 14 13:38:41 UTC 2023
On Wed, Feb 15, 2023 at 10:38:32AM +0200, Vinod Govindapillai wrote:
> If the ignore long HPD flag is set, ignore the link training
> failures as well. Because of spurious HPDs, some unexpected link
> training failures are happening while executing IGT test cases.
> Ignore the link training failures for the time being if the long
> HPDs are also ignored in the environments like CI.
>
> Signed-off-by: Vinod Govindapillai <vinod.govindapillai at intel.com>
Looks ok to me, on the patchset:
Reviewed-by: Imre Deak <imre.deak at intel.com>
> ---
> .../drm/i915/display/intel_dp_link_training.c | 24 +++++++++++++++++++
> 1 file changed, 24 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 3d3efcf02011..f90c627ab553 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
> @@ -1433,7 +1433,11 @@ intel_dp_128b132b_link_train(struct intel_dp *intel_dp,
> void intel_dp_start_link_train(struct intel_dp *intel_dp,
> const struct intel_crtc_state *crtc_state)
> {
> + struct drm_i915_private *i915 = dp_to_i915(intel_dp);
> + struct intel_connector *connector = intel_dp->attached_connector;
> + struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
> bool passed;
> +
> /*
> * TODO: Reiniting LTTPRs here won't be needed once proper connector
> * HW state readout is added.
> @@ -1451,6 +1455,26 @@ void intel_dp_start_link_train(struct intel_dp *intel_dp,
> else
> passed = intel_dp_link_train_all_phys(intel_dp, crtc_state, lttpr_count);
>
> + /*
> + * Ignore the link failure in CI
> + *
> + * In fixed enviroments like CI, sometimes unexpected long HPDs are
> + * generated by the displays. If ignore_long_hpd flag is set, such long
> + * HPDs are ignored. And probably as a consequence of these ignored
> + * long HPDs, subsequent link trainings are failed resulting into CI
> + * execution failures.
> + *
> + * For test cases which rely on the link training or processing of HPDs
> + * ignore_long_hpd flag can unset from the testcase.
> + */
> + if (!passed && i915->display.hotplug.ignore_long_hpd) {
> + drm_dbg_kms(&i915->drm,
> + "[CONNECTOR:%d:%s][ENCODER:%d:%s] Ignore the link failure\n",
> + connector->base.base.id, connector->base.name,
> + encoder->base.base.id, encoder->base.name);
> + return;
> + }
> +
> if (!passed)
> intel_dp_schedule_fallback_link_training(intel_dp, crtc_state);
> }
> --
> 2.34.1
>
More information about the Intel-gfx
mailing list