[PATCH 0/5] drm/dp: Fix link training interrupted by HPD pulse

Jani Nikula jani.nikula at linux.intel.com
Wed Feb 26 12:55:32 UTC 2025


On Mon, 24 Feb 2025, Imre Deak <imre.deak at intel.com> wrote:
> This patchset fixes a problem during Display Port link training, where
> the link training is interrupted by a short HPD pulse generated by the
> sink. Generally the sink signals a bad link state via such short pulses,
> but the sink should prevent such signaling during link training.
>
> Some sinks do generate a short pulse as above during link training, or a
> pulse generated before the link training started may be handled from a
> scheduled work during link training. Such a handling may interfere with
> the link training (see patch 3 for the reason), so this patchset
> prevents the handling of pulses during link training.

I'm wondering if this series is made unnecessarily complicated by
blocking the hotplug handling at the hpd pin level, while what is
actually needed is blocking at the encoder level. I believe that would
be simpler too.

Thoughts?

BR,
Jani.

>
> Imre Deak (5):
>   drm/i915/hpd: Let an HPD pin be in the disabled state when handling
>     missed IRQs
>   drm/i915/hpd: Add support for suspending the IRQ handling on an HPD
>     pin
>   drm/i915/dp: Fix link training interrupted by a short HPD pulse
>   drm/i915/dp: Queue a link check after link training is complete
>   drm/i915/crt: Use intel_hpd_suspend/resume() instead of
>     intel_hpd_disable/enable()
>
>  drivers/gpu/drm/i915/display/intel_crt.c      |   7 +-
>  .../gpu/drm/i915/display/intel_display_core.h |   2 +
>  .../drm/i915/display/intel_dp_link_training.c |  23 +-
>  drivers/gpu/drm/i915/display/intel_hotplug.c  | 264 ++++++++++++++----
>  drivers/gpu/drm/i915/display/intel_hotplug.h  |   5 +-
>  5 files changed, 237 insertions(+), 64 deletions(-)

-- 
Jani Nikula, Intel


More information about the Intel-gfx mailing list