Add a supported_colorspaces field to struct drm_bridge so HDMI bridges can declare the colorimetries they support, and pass it on to drmm_connector_hdmi_init() so the colorspace property gets created.
Suggested-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Jan Claußen <[email protected]> --- drivers/gpu/drm/display/drm_bridge_connector.c | 4 ++++ include/drm/drm_bridge.h | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/drivers/gpu/drm/display/drm_bridge_connector.c b/drivers/gpu/drm/display/drm_bridge_connector.c index 81f3e26f6fdf..40f50304c46f 100644 --- a/drivers/gpu/drm/display/drm_bridge_connector.c +++ b/drivers/gpu/drm/display/drm_bridge_connector.c @@ -1042,6 +1042,10 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm, bridge_connector->hdmi_funcs.supported_formats = bridge_connector->bridge_hdmi->supported_formats; + if (bridge_connector->bridge_hdmi->supported_colorspaces) + bridge_connector->hdmi_funcs.supported_colorspaces = + bridge_connector->bridge_hdmi->supported_colorspaces; + if (!connector->ycbcr_420_allowed) bridge_connector->hdmi_funcs.supported_formats &= ~BIT(DRM_OUTPUT_COLOR_FORMAT_YCBCR420); diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h index 1981d24a700d..b46d34040024 100644 --- a/include/drm/drm_bridge.h +++ b/include/drm/drm_bridge.h @@ -1129,6 +1129,13 @@ struct drm_bridge { */ unsigned int supported_formats; + /** + * @supported_colorspaces: Bitmask of &enum drm_colorspace listing + * supported color spaces. This is only relevant if @DRM_BRIDGE_OP_HDMI + * is set. + */ + unsigned int supported_colorspaces; + /** * @max_tmds_char_rate: Maximum TMDS character rate, in Hz, the HDMI * bridge supports. A value of 0 means the core should use the default -- 2.56.0
