[PATCH 58/75] drm/meson: Convert to atomic_create_state
Maxime Ripard
mripard at kernel.org
Wed Oct 14 10:27:21 PDT 2026
The meson HDMI encoder calls drm_atomic_helper_connector_reset()
during connector creation to allocate an initial connector state
needed by drm_connector_attach_max_bpc_property(). However, the
driver only needs to allocate a pristine state, which is exactly
what atomic_create_state provides.
Convert to drm_atomic_helper_connector_create_state() with proper
error handling.
Signed-off-by: Maxime Ripard <mripard at kernel.org>
---
Cc: Jerome Brunet <jbrunet at baylibre.com>
Cc: Kevin Hilman <khilman at baylibre.com>
Cc: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
Cc: linux-amlogic at lists.infradead.org
---
drivers/gpu/drm/meson/meson_encoder_hdmi.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/meson/meson_encoder_hdmi.c b/drivers/gpu/drm/meson/meson_encoder_hdmi.c
index c4355c5cc340..c04e381b2c10 100644
--- a/drivers/gpu/drm/meson/meson_encoder_hdmi.c
+++ b/drivers/gpu/drm/meson/meson_encoder_hdmi.c
@@ -446,11 +446,21 @@ int meson_encoder_hdmi_probe(struct meson_drm *priv)
/*
* drm_connector_attach_max_bpc_property() requires the
* connector to have a state.
*/
- drm_atomic_helper_connector_reset(meson_encoder_hdmi->connector);
+ if (!meson_encoder_hdmi->connector->state) {
+ struct drm_connector_state *conn_state;
+
+ conn_state = drm_atomic_helper_connector_create_state(meson_encoder_hdmi->connector);
+ if (IS_ERR(conn_state)) {
+ ret = PTR_ERR(conn_state);
+ goto err_put_node;
+ }
+
+ meson_encoder_hdmi->connector->state = conn_state;
+ }
if (meson_vpu_is_compatible(priv, VPU_COMPATIBLE_GXL) ||
meson_vpu_is_compatible(priv, VPU_COMPATIBLE_GXM) ||
meson_vpu_is_compatible(priv, VPU_COMPATIBLE_G12A))
drm_connector_attach_hdr_output_metadata_property(meson_encoder_hdmi->connector);
--
2.55.0
More information about the linux-amlogic
mailing list