[PATCH v1 2/3] drm/bridge: dw-hdmi: optionally ignore rxsense when detecting hotplug

From: Ian Ray

Date: Wed Sep 02 2026 - 09:14:54 EST


Commit da09daf88108 ("drm: bridge: dw_hdmi: only trigger hotplug event
on link change") changed the way hotplug is detected to take into
consideration rxsense.

That change is problematic for boards where rxsense is always detected,
such as when an HDMI to DP converter is used.

Introduce an optional property 'ignore-rxsense' to handle such boards.

Fixes: da09daf88108 ("drm: bridge: dw_hdmi: only trigger hotplug event on link change")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Ian Ray <ian.ray@xxxxxxxxxxxxxxxx>
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 34c5f583e910..a9337d1f4b88 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -171,6 +171,7 @@ struct dw_hdmi {
bool disabled; /* DRM has disabled our bridge */
bool bridge_is_on; /* indicates the bridge is on */
bool rxsense; /* rxsense state */
+ bool ignore_rxsense; /* use HPD only, ignore rxsense for detect */
u8 phy_mask; /* desired phy int mask settings */
u8 mc_clkdis; /* clock disable register */

@@ -3156,6 +3157,9 @@ static irqreturn_t dw_hdmi_irq(int irq, void *dev_id)
if (phy_stat & HDMI_PHY_HPD)
status = connector_status_connected;

+ if (hdmi->ignore_rxsense)
+ phy_stat &= ~HDMI_PHY_RX_SENSE;
+
if (!(phy_stat & (HDMI_PHY_HPD | HDMI_PHY_RX_SENSE)))
status = connector_status_disconnected;
}
@@ -3362,6 +3366,8 @@ struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev,
mutex_init(&hdmi->cec_notifier_mutex);
spin_lock_init(&hdmi->audio_lock);

+ hdmi->ignore_rxsense = of_property_read_bool(np, "ignore-rxsense");
+
ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
if (ddc_node) {
hdmi->ddc = of_get_i2c_adapter_by_node(ddc_node);
--
2.47.3