Both DisplayPort and HDMI standards define a way for the Sink / display to notify the Source / host about some kinds of events. In case of HDMI it's as simple as singnalling changes to the EDID. In case of DisplayPort it's more complicated and requires actual checking of the DPCD registers.
Currently USB-C drivers don't have a way to deliver the IRQ_HPD notifications, leading to missing MST notifications. Provide necessary plumbing to let IRQ_HPD events be passed to the DisplayPort drivers. Note: the Yoga C630 UCSI driver and Acer Aspire1 EC driver are not yet enabled to send the IRQ_HPD events. Both of them would need some more reverse engineering to find out how the event is being reported by the EC. Signed-off-by: Dmitry Baryshkov <[email protected]> --- Changes in v3: - Fixed build error if aux bridges are disabled (Intel GFX CI) - Link to v2: https://patch.msgid.link/[email protected] Changes in v2: - Change irq_hpd arg to be an enum, possibly desribing other uses (Toni) - Account for that, chaning the API accordingly (with_irq -> extra, etc.) - Wire up AUX bridge notifications - Link to v1: https://patch.msgid.link/[email protected] --- Dmitry Baryshkov (6): drm/connector: report IRQ_HPD events to drm_connector_oob_hotplug_event() drm/bridge: pass down IRQ_HPD to the drivers drm/bridge: aux-hpd: let drivers pass IRQ_HPD events drm/msm: dp: handle the IRQ_HPD events reported by USB-C soc: qcom: pmic-glink-altmode: pass down HPD_IRQ events usb: typec: ucsi: huawei-gaokun: pass down HPD_IRQ events drivers/gpu/drm/bridge/aux-hpd-bridge.c | 11 +++++---- drivers/gpu/drm/bridge/chrontel-ch7033.c | 3 ++- drivers/gpu/drm/bridge/lontium-lt8912b.c | 3 ++- drivers/gpu/drm/bridge/lontium-lt9611uxc.c | 3 ++- drivers/gpu/drm/bridge/ti-tfp410.c | 4 ++-- drivers/gpu/drm/display/drm_bridge_connector.c | 22 ++++++++++-------- drivers/gpu/drm/drm_bridge.c | 20 ++++++++++------- drivers/gpu/drm/drm_connector.c | 7 ++++-- drivers/gpu/drm/i915/display/intel_dp.c | 3 ++- drivers/gpu/drm/meson/meson_encoder_hdmi.c | 3 ++- drivers/gpu/drm/msm/dp/dp_display.c | 6 ++++- drivers/gpu/drm/msm/dp/dp_drm.h | 3 ++- drivers/gpu/drm/omapdrm/dss/hdmi4.c | 3 ++- drivers/soc/qcom/pmic_glink_altmode.c | 6 ++++- drivers/usb/typec/altmodes/displayport.c | 15 +++++++++---- drivers/usb/typec/ucsi/ucsi_huawei_gaokun.c | 11 +++++---- include/drm/bridge/aux-bridge.h | 13 +++++++++-- include/drm/drm_bridge.h | 31 +++++++++++++++++++++----- include/drm/drm_connector.h | 22 ++++++++++++++++-- 19 files changed, 138 insertions(+), 51 deletions(-) --- base-commit: c7275b05bc428c7373d97aa2da02d3a7fa6b9f66 change-id: 20260414-hpd-irq-events-e72bc076a5f1 Best regards, -- With best wishes Dmitry -- With best wishes Dmitry
