Commit 2ea9ec5d authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

drm/vc4: hdmi: use drm_atomic_helper_connector_hdmi_hotplug()



Use the helper function to update the connector's information. This
makes sure that HDMI-related events are handled in a generic way.
Currently it is limited to the HDMI state reporting to the sound system.

Acked-by: default 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-10-dc89577cd438@linaro.org


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent b4fa0800
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -384,7 +384,6 @@ static void vc4_hdmi_handle_hotplug(struct vc4_hdmi *vc4_hdmi,
				    enum drm_connector_status status)
{
	struct drm_connector *connector = &vc4_hdmi->connector;
	const struct drm_edid *drm_edid;
	int ret;

	/*
@@ -406,17 +405,14 @@ static void vc4_hdmi_handle_hotplug(struct vc4_hdmi *vc4_hdmi,
		return;
	}

	drm_edid = drm_edid_read_ddc(connector, vc4_hdmi->ddc);
	drm_atomic_helper_connector_hdmi_hotplug(connector, status);

	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)
	if (status != connector_status_connected)
		return;

	drm_edid_free(drm_edid);

	for (;;) {
		ret = vc4_hdmi_reset_link(connector, ctx);
		if (ret == -EDEADLK) {
@@ -550,6 +546,7 @@ static void vc4_hdmi_connector_reset(struct drm_connector *connector)
}

static const struct drm_connector_funcs vc4_hdmi_connector_funcs = {
	.force = drm_atomic_helper_connector_hdmi_force,
	.fill_modes = drm_helper_probe_single_connector_modes,
	.reset = vc4_hdmi_connector_reset,
	.atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,