]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/i915/hpd: Track HPD pins instead of ports for HPD pulse events
authorImre Deak <imre.deak@intel.com>
Tue, 4 Mar 2025 15:29:12 +0000 (17:29 +0200)
committerImre Deak <imre.deak@intel.com>
Mon, 10 Mar 2025 17:08:19 +0000 (19:08 +0200)
commit9f1e253d789649745db33a205969169033f078c9
tree0e5e6f50191f067bb5fb8f2bbc4b20270e3635ce
parenteb4796d8625902adfd0bc7226306afcde617f7c9
drm/i915/hpd: Track HPD pins instead of ports for HPD pulse events

Track the HPD pin instead of the corresponding encoder ports for pending
short/long HPD pulse events. This is how the pending hotplug events are
tracked and there is no reason for tracking the pulse events differently.

After this change intel_hpd_trigger_irq() will set the short pulse event
pending for all encoders using the given HPD pin. This doesn't change
the behavior, as atm in case of multiple (2) encoders sharing the same
pin only one will have a pulse handler, so for other encoders without a
pulse handler the event is ignored. Also setting the pulse event pending
for all encoders using the HPD pin is what happens after an actual HPD
IRQ, the effect of calling intel_hpd_trigger_irq() should match this.

In a following change this also makes it simpler to block the handling
of a short/long pulse event on an HPD pin for all the encoders using
this HPD pin.

Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250304152917.3407080-2-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_display_core.h
drivers/gpu/drm/i915/display/intel_hotplug.c