Commit 84e541b1 authored by Dmitry Baryshkov's avatar Dmitry Baryshkov
Browse files

drm/sun4i: use drm_atomic_helper_connector_hdmi_check()



Replace sun4i_hdmi_connector_atomic_check(), which performs just TMDS
char rate check, with drm_atomic_helper_connector_hdmi_check(), which
performs additional checks basing on the HDMI Connector's state.

Suggested-by: default avatarMaxime Ripard <mripard@kernel.org>
Reviewed-by: default avatarMaxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20241130-hdmi-mode-valid-v5-10-742644ec3b1f@linaro.org


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent 2d7202c6
Loading
Loading
Loading
Loading
+1 −19
Original line number Diff line number Diff line
@@ -187,24 +187,6 @@ sun4i_hdmi_connector_clock_valid(const struct drm_connector *connector,
	return MODE_NOCLOCK;
}

static int sun4i_hdmi_connector_atomic_check(struct drm_connector *connector,
					     struct drm_atomic_state *state)
{
	struct drm_connector_state *conn_state =
		drm_atomic_get_new_connector_state(state, connector);
	struct drm_crtc *crtc = conn_state->crtc;
	struct drm_crtc_state *crtc_state = crtc->state;
	struct drm_display_mode *mode = &crtc_state->adjusted_mode;
	enum drm_mode_status status;

	status = sun4i_hdmi_connector_clock_valid(connector, mode,
						  conn_state->hdmi.tmds_char_rate);
	if (status != MODE_OK)
		return -EINVAL;

	return 0;
}

static int sun4i_hdmi_get_modes(struct drm_connector *connector)
{
	struct sun4i_hdmi *hdmi = drm_connector_to_sun4i_hdmi(connector);
@@ -258,7 +240,7 @@ static const struct drm_connector_hdmi_funcs sun4i_hdmi_hdmi_connector_funcs = {
};

static const struct drm_connector_helper_funcs sun4i_hdmi_connector_helper_funcs = {
	.atomic_check	= sun4i_hdmi_connector_atomic_check,
	.atomic_check	= drm_atomic_helper_connector_hdmi_check,
	.mode_valid	= drm_hdmi_connector_mode_valid,
	.get_modes	= sun4i_hdmi_get_modes,
};