Create and attach the 'link bpc' DRM property for every HDMI connector that's created through drmm_connector_hdmi_init.
Then, set the connector state's link_bpc member in the HDMI atomic check state helper to the connector state's HDMI output bpc. Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Nicolas Frattaroli <[email protected]> --- drivers/gpu/drm/display/drm_hdmi_state_helper.c | 2 ++ drivers/gpu/drm/drm_connector.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/drivers/gpu/drm/display/drm_hdmi_state_helper.c b/drivers/gpu/drm/display/drm_hdmi_state_helper.c index a1d16762ac7a..40648574f5e5 100644 --- a/drivers/gpu/drm/display/drm_hdmi_state_helper.c +++ b/drivers/gpu/drm/display/drm_hdmi_state_helper.c @@ -865,6 +865,8 @@ int drm_atomic_helper_connector_hdmi_check(struct drm_connector *connector, struct drm_crtc *crtc = new_conn_state->crtc; struct drm_crtc_state *crtc_state; + new_conn_state->link_bpc = new_conn_state->hdmi.output_bpc; + crtc_state = drm_atomic_get_crtc_state(state, crtc); if (IS_ERR(crtc_state)) return PTR_ERR(crtc_state); diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c index 878e9db2c895..572894dad4bf 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -693,6 +693,10 @@ int drmm_connector_hdmi_init(struct drm_device *dev, drm_connector_attach_max_bpc_property(connector, 8, max_bpc); connector->max_bpc = max_bpc; + ret = drm_connector_attach_link_bpc_property(connector, max_bpc); + if (ret) + return ret; + if (max_bpc > 8) drm_connector_attach_hdr_output_metadata_property(connector); -- 2.53.0
