[PATCH v4 4/7] drm/bridge-connector: Pass supported colorspaces to the HDMI helpers

From: Jan Claußen

Date: Sun Oct 18 2026 - 10:34:04 EST


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 <javierm@xxxxxxxxxx>
Signed-off-by: Jan Claußen <jan.claussen10@xxxxxx>
---
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