[PATCH v7 16/23] drm: bridge: dw_hdmi: Update EDID and CEC phys addr in bridge detect()
Neil Armstrong
neil.armstrong at linaro.org
Wed May 20 02:17:15 PDT 2026
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 <jonas at kwiboo.se>
> ---
> 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/20260426-dw-hdmi-qp-scramb-v5-3-d778e70c317b@collabora.com/
> ---
> 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 <neil.armstrong at linaro.org>
Thanks,
Neil
More information about the Linux-rockchip
mailing list