[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4bc6a5e6-f2cf-43ab-8555-4f8aaf9f2cd0@linaro.org>
Date: Fri, 13 Sep 2024 10:02:12 +0200
From: Neil Armstrong <neil.armstrong@...aro.org>
To: Jonas Karlman <jonas@...boo.se>, Andrzej Hajda <andrzej.hajda@...el.com>,
Robert Foss <rfoss@...nel.org>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jernej Skrabec <jernej.skrabec@...il.com>
Cc: Christian Hewitt <christianshewitt@...il.com>,
Diederik de Haas <didi.debian@...ow.org>,
Christopher Obbard <chris.obbard@...labora.com>,
dri-devel@...ts.freedesktop.org, linux-rockchip@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 09/10] drm: bridge: dw_hdmi: Update EDID during hotplug
processing
On 08/09/2024 15:28, Jonas Karlman wrote:
> Update successfully read EDID during hotplug processing to ensure the
> connector diplay_info is always up-to-date.
>
> Signed-off-by: Jonas Karlman <jonas@...boo.se>
> ---
> v2: No change
> ---
> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> index c19307120909..7bd9f895f03f 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> @@ -2457,6 +2457,18 @@ dw_hdmi_connector_detect(struct drm_connector *connector, bool force)
>
> status = dw_hdmi_detect(hdmi);
>
> + /* Update EDID during hotplug processing (force=false) */
> + if (status == connector_status_connected && !force) {
> + const struct drm_edid *drm_edid;
> +
> + drm_edid = dw_hdmi_edid_read(hdmi, connector);
> + if (drm_edid)
> + drm_edid_connector_update(connector, drm_edid);
> + cec_notifier_set_phys_addr(hdmi->cec_notifier,
> + connector->display_info.source_physical_address);
> + drm_edid_free(drm_edid);
> + }
> +
> if (status == connector_status_disconnected)
> cec_notifier_phys_addr_invalidate(hdmi->cec_notifier);
>
I wonder why we should read edid at each dw_hdmi_connector_detect() call,
AFAIK it should only be when we have HPD pulses
Neil
Powered by blists - more mailing lists