[PATCH v4 6/8] drm/msm: dp: handle the IRQ_HPD events reported by USB-C
Dmitry Baryshkov
dmitry.baryshkov at oss.qualcomm.com
Sun Jun 7 14:33:07 PDT 2026
The DisplayPort standard defines a special kind of HPD events called
IRQ_HPD. These events are used to notify DP Source about the events on
the Sink side, for example DP MST events.
Let the MSM DisplayPort driver properly track and handle IRQ_HPD
delivered over the OOB events (e.g. from the USB-C AltMode handler).
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at oss.qualcomm.com>
---
drivers/gpu/drm/msm/dp/dp_display.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index c0f6a8ff9b99..743d8fa40dc6 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1533,11 +1533,12 @@ void msm_dp_bridge_hpd_notify(struct drm_bridge *bridge,
msm_dp_display->connector_type, hpd_link_status, status);
if (status == connector_status_connected) {
- if (hpd_link_status == ISR_HPD_REPLUG_COUNT) {
+ if (hpd_link_status == ISR_IRQ_HPD_PULSE_COUNT ||
+ extra_status == DRM_CONNECTOR_DP_IRQ_HPD) {
+ msm_dp_irq_hpd_handle(dp);
+ } else if (hpd_link_status == ISR_HPD_REPLUG_COUNT) {
msm_dp_hpd_unplug_handle(dp);
msm_dp_hpd_plug_handle(dp);
- } else if (hpd_link_status == ISR_IRQ_HPD_PULSE_COUNT) {
- msm_dp_irq_hpd_handle(dp);
} else {
msm_dp_hpd_plug_handle(dp);
}
--
2.47.3
More information about the linux-arm-kernel
mailing list