Message ID | 20241130-hdmi-conn-yuv-v1-1-254279a08671@collabora.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/connector: hdmi: Allow using the YUV420 output format | expand |
On Sat, Nov 30, 2024 at 01:56:32AM +0200, Cristian Ciocaltea wrote: > 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. > > Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> > --- > drivers/gpu/drm/display/drm_hdmi_state_helper.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Fixes: 027d43590649 ("drm/connector: hdmi: Add RGB Quantization Range to the connector state") > > diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/drm/display/drm_hdmi_state_helper.c > index feb7a3a759811aed70c679be8704072093e2a79b..0cbcee7e77cd8dff387044487ce28ee5748f5587 100644 > --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c > +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c > @@ -494,12 +494,12 @@ int drm_atomic_helper_connector_hdmi_check(struct drm_connector *connector, > connector_state_get_mode(new_conn_state); > int ret; > > - 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; > > -- > 2.47.0 >
diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/drm/display/drm_hdmi_state_helper.c index feb7a3a759811aed70c679be8704072093e2a79b..0cbcee7e77cd8dff387044487ce28ee5748f5587 100644 --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c @@ -494,12 +494,12 @@ int drm_atomic_helper_connector_hdmi_check(struct drm_connector *connector, connector_state_get_mode(new_conn_state); int ret; - 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;
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. Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com> --- drivers/gpu/drm/display/drm_hdmi_state_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)