diff mbox series

drm: xlnx: zynqmp_dpsub: also call drm_helper_hpd_irq_event

Message ID 20240923074803.10306-1-lists@steffen.cc (mailing list archive)
State New
Headers show
Series drm: xlnx: zynqmp_dpsub: also call drm_helper_hpd_irq_event | expand

Commit Message

lists@steffen.cc Sept. 23, 2024, 7:48 a.m. UTC
From: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>

With hpd going through the bridge as of commit eb2d64bfcc17
("drm: xlnx: zynqmp_dpsub: Report HPD through the bridge")
we don't get hotplug events in userspace on zynqmp hardware.
Also sending hotplug events with drm_helper_hpd_irq_event works.

Fixes: eb2d64bfcc17 ("drm: xlnx: zynqmp_dpsub: Report HPD through the bridge")
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
---
 drivers/gpu/drm/xlnx/zynqmp_dp.c | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox series

Patch

diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c
index 1846c4971fd8..cb823540a412 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dp.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dp.c
@@ -17,6 +17,7 @@ 
 #include <drm/drm_fourcc.h>
 #include <drm/drm_modes.h>
 #include <drm/drm_of.h>
+#include <drm/drm_probe_helper.h>
 
 #include <linux/clk.h>
 #include <linux/delay.h>
@@ -1614,6 +1615,9 @@  static void zynqmp_dp_hpd_work_func(struct work_struct *work)
 					    hpd_work.work);
 	enum drm_connector_status status;
 
+	if (dp->bridge.dev)
+		drm_helper_hpd_irq_event(dp->bridge.dev);
+
 	status = zynqmp_dp_bridge_detect(&dp->bridge);
 	drm_bridge_hpd_notify(&dp->bridge, status);
 }