]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/connector: hdmi: Evaluate limited range after computing format
authorCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Tue, 27 May 2025 12:11:09 +0000 (15:11 +0300)
committerMaxime Ripard <mripard@kernel.org>
Mon, 2 Jun 2025 09:02:30 +0000 (11:02 +0200)
Evaluating the requirement to use a limited RGB quantization range
involves a verification of the output format, among others, but this is
currently performed before actually computing the format, hence relying
on the old connector state.

Move the call to hdmi_is_limited_range() after hdmi_compute_config() to
ensure the verification is done on the updated output format.

Fixes: 027d43590649 ("drm/connector: hdmi: Add RGB Quantization Range to the connector state")
Reviewed-by: Dmitry Baryshkov <lumag@kernel.org>
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Acked-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20250527-hdmi-conn-yuv-v5-1-74c9c4a8ac0c@collabora.com
Signed-off-by: Maxime Ripard <mripard@kernel.org>
drivers/gpu/drm/display/drm_hdmi_state_helper.c

index bae7aa624f7db61cc7d5ff7a86a413938963543f..97cb4f29c4b5d88f4b6288bd93c6abb33bb7c17a 100644 (file)
@@ -799,12 +799,12 @@ int drm_atomic_helper_connector_hdmi_check(struct drm_connector *connector,
        if (!new_conn_state->crtc || !new_conn_state->best_encoder)
                return 0;
 
-       new_conn_state->hdmi.is_limited_range = hdmi_is_limited_range(connector, new_conn_state);
-
        ret = hdmi_compute_config(connector, new_conn_state, mode);
        if (ret)
                return ret;
 
+       new_conn_state->hdmi.is_limited_range = hdmi_is_limited_range(connector, new_conn_state);
+
        ret = hdmi_generate_infoframes(connector, new_conn_state);
        if (ret)
                return ret;