[PATCH v3 2/2] drm/connector: hdmi: Validate supported_formats matches ycbcr_420_allowed
Cristian Ciocaltea
cristian.ciocaltea at collabora.com
Tue Dec 24 18:35:49 UTC 2024
On 12/17/24 5:25 PM, Maxime Ripard wrote:
> On Tue, Dec 17, 2024 at 12:54:08AM +0200, Cristian Ciocaltea wrote:
>> Ensure HDMI connector initialization fails when the presence of
>> HDMI_COLORSPACE_YUV420 in the given supported_formats bitmask doesn't
>> match the value of drm_connector->ycbcr_420_allowed.
>>
>> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea at collabora.com>
>> ---
>> drivers/gpu/drm/drm_connector.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
>> index fc35f47e2849ed6786d6223ac9c69e1c359fc648..ca7f43c8d6f1b31ef9d3a1ee05f4df930ecffac4 100644
>> --- a/drivers/gpu/drm/drm_connector.c
>> +++ b/drivers/gpu/drm/drm_connector.c
>> @@ -507,6 +507,9 @@ int drmm_connector_hdmi_init(struct drm_device *dev,
>> if (!supported_formats || !(supported_formats & BIT(HDMI_COLORSPACE_RGB)))
>> return -EINVAL;
>>
>> + if (connector->ycbcr_420_allowed != !!(supported_formats & BIT(HDMI_COLORSPACE_YUV420)))
>> + return -EINVAL;
>> +
>> if (!(max_bpc == 8 || max_bpc == 10 || max_bpc == 12))
>> return -EINVAL;
>
> The patch looks fine to me, but we need to have unit tests to cover this case.
Unit tests added in v4:
https://lore.kernel.org/lkml/20241224-bridge-conn-fmt-prio-v4-4-a9ceb5671379@collabora.com/
Thanks,
Cristian
More information about the dri-devel
mailing list