Re: [PATCH v2] drm/bridge-connector: Prioritize supported_formats over ycbcr_420_allowed
From: Cristian Ciocaltea
Date: Mon Dec 16 2024 - 18:18:03 EST
Hi Dmitry,
On 12/10/24 3:12 AM, Dmitry Baryshkov wrote:
> On Fri, Dec 06, 2024 at 10:00:46PM +0200, Cristian Ciocaltea wrote:
>> Bridges having the DRM_BRIDGE_OP_HDMI flag set in drm_bridge->ops are
>> supposed to rely on drm_bridge->supported_formats bitmask to advertise
>> the supported colorspaces, including HDMI_COLORSPACE_YUV420. Therefore,
>> the newly introduced drm_bridge->ycbcr_420_allowed flag becomes
>> redundant in this particular context.
>>
>> Moreover, when drm_bridge_connector gets initialised, only
>> drm_bridge->ycbcr_420_allowed is considered in the process of adjusting
>> the equivalent property of the base drm_connector, which effectively
>> discards the formats advertised by the HDMI bridge.
>
> I think this should be handled in a different way: during HDMI connector
> init verify that HDMI_COLORSPACE_YUV420 matches the
> drm_connector->ycbcr_420_allowed value and rejects incompatible
> connectors.
I added a 2nd patch in v3 [1] to perform this verification on HDMI
connector init, but I think we still need a proper handling of the
inconsistency at bridge[-connector] level. I simplified a bit the initial
approach, hopefully that would bring us closer to an acceptable solution.
Thanks,
Cristian
[1] https://lore.kernel.org/lkml/20241217-bridge-conn-fmt-prio-v3-0-3ecb3c8fc06f@xxxxxxxxxxxxx/