On Wed, Jan 29, 2025 at 05:44:31PM +0100, Neil Armstrong wrote: > On 29/01/2025 00:44, Dmitry Baryshkov wrote: > > On Tue, Jan 28, 2025 at 05:14:06PM +0100, Maxime Ripard wrote: > > > On Sun, Jan 26, 2025 at 03:29:13PM +0200, Dmitry Baryshkov wrote: > > > > /* ----------------------------------------------------------------------------- > > > > * Bridge Connector Initialisation > > > > */ > > > > @@ -633,6 +711,21 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm, > > > > if (ret) > > > > return ERR_PTR(ret); > > > > } > > > > + > > > > + if (bridge->hdmi_cec_adapter_name) { > > > > + if (!bridge->funcs->hdmi_cec_enable || > > > > + !bridge->funcs->hdmi_cec_log_addr || > > > > + !bridge->funcs->hdmi_cec_transmit) > > > > + return ERR_PTR(-EINVAL); > > > > + > > > > + ret = drm_connector_hdmi_cec_register(connector, > > > > + &drm_bridge_connector_hdmi_cec_ops, > > > > + bridge->hdmi_cec_adapter_name, > > > > + bridge->hdmi_cec_available_las, > > > > + bridge->hdmi_dev); > > > > + if (ret) > > > > + return ERR_PTR(ret); > > > > + } > > > > > > Maybe we can use a different bridge feature flag to trigger the CEC code > > > support instead? > > > > it is possible, but what is the possible usecase? DP drivers should be > > using DP_AUX CEC instead. And I think there are no other kinds of > > bridges which implement CEC support. Meson driver does something strange > > by registering CEC notifier from meson_encoder_hdmi. I think instead > > this should be moved to the DW HDMI bridge itself > > It was done before bridge_connector has any support for CEC to keep the > functionnality, I'll be happy to switch to this. Well... Converting dw-hdmi to use all HDMI API is going to be interesting anyway: - iMX8, iMX6 attach with flags=0, so dw-hdmi creates connector (with all its fanciness). - Ingenic and RCAR-DU use simple drm_bridge_connector, so they will just get all new features. - Meson uses drm_bridge_connector + additional bits on top of it (like CEC, max_bpc, HDR). Either we end up with a monstruous commit that reworks dw-hdmi _and_ drop extra bits from meson driver at the same time or we need some well-thought plan. For example, first make some of the features of Meson optional and dependent on their generic counterparts being registered by drm_bridge_connector, then convert dw-hdmi _and_ use drm_bridge_connector internally, finally drop extra meson features now consumed by the core. -- With best wishes Dmitry