Skip to content
Snippets Groups Projects
Commit b4fa0800 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

drm/vc4: hdmi: stop rereading EDID in get_modes()


The vc4_hdmi_connector_detect_ctx() via vc4_hdmi_handle_hotplug()
already reads EDID and propagates it to the drm_connector. Stop
rereading EDID as a part of the .get_modes() callback and just update
the list of modes. This matches the behaviour of the i915 driver.

Acked-by: Maxime Ripard's avatarMaxime Ripard <mripard@kernel.org>
Tested-by: default avatarDave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241224-drm-bridge-hdmi-connector-v10-9-dc89577cd438@linaro.org


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent 9640f143
No related merge requests found
......@@ -471,31 +471,10 @@ static int vc4_hdmi_connector_detect_ctx(struct drm_connector *connector,
static int vc4_hdmi_connector_get_modes(struct drm_connector *connector)
{
struct vc4_hdmi *vc4_hdmi = connector_to_vc4_hdmi(connector);
struct vc4_dev *vc4 = to_vc4_dev(connector->dev);
const struct drm_edid *drm_edid;
int ret = 0;
/*
* NOTE: This function should really take vc4_hdmi->mutex, but doing so
* results in reentrancy issues since cec_s_phys_addr() might call
* .adap_enable, which leads to that funtion being called with our mutex
* held.
*
* Concurrency isn't an issue at the moment since we don't share
* any state with any of the other frameworks so we can ignore
* the lock for now.
*/
drm_edid = drm_edid_read_ddc(connector, vc4_hdmi->ddc);
drm_edid_connector_update(connector, drm_edid);
cec_s_phys_addr(vc4_hdmi->cec_adap,
connector->display_info.source_physical_address, false);
if (!drm_edid)
return 0;
ret = drm_edid_connector_add_modes(connector);
drm_edid_free(drm_edid);
if (!vc4->hvs->vc5_hdmi_enable_hdmi_20) {
struct drm_device *drm = connector->dev;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment