On 5/18/26 20:01, Jonas Karlman wrote:
Update EDID and CEC phys addr in the bridge detect() func to closely
match the behavior of a bridge connector with a HDMI bridge attached
and the dw-hdmi connector.
This change introduce a slight delay to the bridge connector detect()
and get_modes() funcs due to multiple EDID reads. This is an acceptable
added delay to help ensure EDID and CEC phys addr always are correct.
Signed-off-by: Jonas Karlman <[email protected]>
---
v7: Update commit message
v6: New patch
This is a temporary change until dw-hdmi is fully converted into a
HDMI bridge in a future part of this multi-series effort.
The patch "drm/bridge-connector: Use cached connector status in
.get_modes()" [1] can help remove one unnecessary EDID read until
dw-hdmi is fully converted into a HDMI bridge.
[1]
https://lore.kernel.org/dri-devel/[email protected]/
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 37406555af7b..0c4388e7aa5e 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -2947,8 +2947,17 @@ static enum drm_connector_status
dw_hdmi_bridge_detect(struct drm_bridge *bridge, struct drm_connector
*connector)
{
struct dw_hdmi *hdmi = bridge->driver_private;
+ enum drm_connector_status status;
- return dw_hdmi_detect(hdmi);
+ status = dw_hdmi_detect(hdmi);
+
+ /*
+ * Update EDID and CEC phys addr to match the behavior of a bridge
+ * connector with a HDMI bridge attached and the dw-hdmi connector.
+ */
+ dw_hdmi_connector_status_update(hdmi, connector, status);
+
+ return status;
}
static const struct drm_edid *dw_hdmi_bridge_edid_read(struct drm_bridge *bridge,
Reviewed-by: Neil Armstrong <[email protected]>
Thanks,
Neil