[PATCH v3 1/4] drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props

Dmitry Baryshkov posted 4 patches 1 year, 5 months ago
There is a newer version of this series
[PATCH v3 1/4] drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props
Posted by Dmitry Baryshkov 1 year, 5 months ago
Document that DRM_MODE_PROP_IMMUTABLE must be set for the properties
that are immutable by definition - e.g. ranges with min == max or enums
with a single value. This matches the behaviour of the IGT tests, see
kms_properties.c / validate_range_prop(), validate_enum_prop(),
validate_bitmask_prop().

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 include/drm/drm_property.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/drm/drm_property.h b/include/drm/drm_property.h
index 082f29156b3e..7d0f793f50ca 100644
--- a/include/drm/drm_property.h
+++ b/include/drm/drm_property.h
@@ -162,6 +162,9 @@ struct drm_property {
 	 *     userspace, e.g. the EDID, or the connector path property on DP
 	 *     MST sinks. Kernel can update the value of an immutable property
 	 *     by calling drm_object_property_set_value().
+	 *     This flag should be set for all properties that have only a
+	 *     single value (e.g. min == max or if enum has only a single
+	 *     value).
 	 */
 	uint32_t flags;
 

-- 
2.39.2
Re: [PATCH v3 1/4] drm/drm_property: require DRM_MODE_PROP_IMMUTABLE for single-value props
Posted by Maxime Ripard 1 year, 5 months ago
On Tue, Jul 02, 2024 at 12:48:52PM GMT, Dmitry Baryshkov wrote:
> Document that DRM_MODE_PROP_IMMUTABLE must be set for the properties
> that are immutable by definition - e.g. ranges with min == max or enums
> with a single value. This matches the behaviour of the IGT tests, see
> kms_properties.c / validate_range_prop(), validate_enum_prop(),
> validate_bitmask_prop().
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  include/drm/drm_property.h | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/include/drm/drm_property.h b/include/drm/drm_property.h
> index 082f29156b3e..7d0f793f50ca 100644
> --- a/include/drm/drm_property.h
> +++ b/include/drm/drm_property.h
> @@ -162,6 +162,9 @@ struct drm_property {
>  	 *     userspace, e.g. the EDID, or the connector path property on DP
>  	 *     MST sinks. Kernel can update the value of an immutable property
>  	 *     by calling drm_object_property_set_value().
> +	 *     This flag should be set for all properties that have only a
> +	 *     single value (e.g. min == max or if enum has only a single
> +	 *     value).

Given the IGT test, I think it should be a must, not a should.

Maxime