On Mon, 24 Feb 2025, Imre Deak <imre.deak@xxxxxxxxx> 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