[PATCH RFC v2 3/5] drm/bridge-connector: implement glue code for HDMI connector

Dmitry Baryshkov dmitry.baryshkov at linaro.org
Sat Mar 9 14:53:48 UTC 2024


On Sat, 9 Mar 2024 at 12:31, Dmitry Baryshkov
<dmitry.baryshkov at linaro.org> 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 at linaro.org>
> ---
>  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


More information about the Freedreno mailing list