[PATCH v2 2/2] drm/connector: automatically set immutable flag for max_bpc property
Abhinav Kumar
quic_abhinavk at quicinc.com
Mon Jun 24 22:55:56 UTC 2024
On 6/24/2024 3:46 PM, Dmitry Baryshkov wrote:
> On Tue, 25 Jun 2024 at 01:39, Abhinav Kumar <quic_abhinavk at quicinc.com> wrote:
>>
>> + IGT dev
>>
>> On 6/22/2024 10:40 PM, Dmitry Baryshkov wrote:
>>> 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.
>>>
>>
>> This change does not look right to me.
>>
>> I wonder why we need this check because DRM_MODE_PROP_IMMUTABLE means
>> that as per the doc, userspace cannot change the property.
>>
>> * DRM_MODE_PROP_IMMUTABLE
>> * Set for properties whose values cannot be changed by
>> * userspace. The kernel is allowed to update the value of
>> these
>> * properties. This is generally used to expose probe state to
>> * 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().
>> */
>>
>> Here we are allowing userspace to change max_bpc
>>
>>
>> drm_atomic_connector_set_property()
>> {
>> **********
>>
>> } else if (property == connector->max_bpc_property) {
>> state->max_requested_bpc = val;
>>
>> **********
>> }
>>
>> I believe you are referring to this IGT check right?
>>
>> https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/tests/kms_properties.c#L428
>
> Yes
>
>>
>> I think we should fix IGT in this case unless there is some reason we
>> are missing. Because just because it has the same min and max does not
>> mean its immutable by the doc of the IMMUTABLE flag.
>
> Well, having the same min and max means that it is impossible to
> change the property. So the property is immutable, but doesn't have
> the flag.
>
True, then does DRM_MODE_PROP_IMMUTABLE need a doc update too indicating
that even if the min and max is same, property will be interpreted as
immutable.
>>
>>
>>> Fixes: aadb3e16b8f3 ("drm/connector: hdmi: Add output BPC to the connector state")
>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
>>> ---
>>> drivers/gpu/drm/drm_connector.c | 7 ++++++-
>>> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> With best wishes
> Dmitry
More information about the igt-dev
mailing list