On Sat, 9 Mar 2024 at 12:31, Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote: > > In order to let bridge chains implement HDMI connector infrastructure, > add necessary glue code to the drm_bridge_connector. In case there is a > bridge that sets DRM_BRIDGE_OP_HDMI, drm_bridge_connector will register > itself as a HDMI connector and provide proxy drm_connector_hdmi_funcs > implementation. > > Note, to simplify implementation, there can be only one bridge in a > chain that sets DRM_BRIDGE_OP_HDMI. Setting more than one is considered > an error. This limitation can be lifted later, if the need arises. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > --- > drivers/gpu/drm/drm_bridge_connector.c | 118 ++++++++++++++++++++++++++++++++- > include/drm/drm_bridge.h | 82 +++++++++++++++++++++++ > 2 files changed, 197 insertions(+), 3 deletions(-) > > [skipped] > @@ -705,6 +753,16 @@ enum drm_bridge_ops { > * this flag shall implement the &drm_bridge_funcs->get_modes callback. > */ > DRM_BRIDGE_OP_MODES = BIT(3), > + /** > + * @DRM_BRIDGE_OP_HDMI: The bridge provides HDMI connector operations, > + * including infoframes support. Bridges that set this flag must > + * implement the &drm_bridge_funcs->write_infoframe callback. > + * > + * Note: currently there can be at most one bridge in a chain that sets > + * this bit. This is to simplify corresponding glue code in connector > + * drivers. > + */ > + DRM_BRIDGE_OP_HDMI = BIT(4), Note for myself: before v3, handle this bit in drm_debugfs.c / bridges_show. > }; -- With best wishes Dmitry