[PATCH v4 3/5] drm/connector: automatically set immutable flag for max_bpc property

From: Dmitry Baryshkov
Date: Mon Jul 15 2024 - 02:33:55 EST


With the introduction of the HDMI Connector framework the driver might
end up creating the max_bpc property with min = max = 8. IGT insists
that such properties carry the 'immutable' flag. Automatically set the
flag if the driver asks for the max_bpc property with min == max.

Fixes: aadb3e16b8f3 ("drm/connector: hdmi: Add output BPC to the connector state")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
---
drivers/gpu/drm/drm_connector.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
index ab6ab7ff7ea8..33847fd63628 100644
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
@@ -2610,7 +2610,12 @@ int drm_connector_attach_max_bpc_property(struct drm_connector *connector,

prop = connector->max_bpc_property;
if (!prop) {
- prop = drm_property_create_range(dev, 0, "max bpc", min, max);
+ u32 flags = 0;
+
+ if (min == max)
+ flags |= DRM_MODE_PROP_IMMUTABLE;
+
+ prop = drm_property_create_range(dev, flags, "max bpc", min, max);
if (!prop)
return -ENOMEM;


--
2.39.2