Re: [PATCH v2 14/15] drm/mediatek: mtk_hdmi_common: Add OP_HDMI, vendor and product strings

CK Hu (胡俊光)
2024-12-10T01:23:09Z

On Mon, 2024-12-09 at 10:56 +0100, AngeloGioacchino Del Regno wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
>
>
> Il 09/12/24 10:09, CK Hu (胡俊光) ha scritto:
> > Hi, Angelo:
> >
> > On Thu, 2024-12-05 at 12:45 +0100, AngeloGioacchino Del Regno wrote:
> > > External email : Please do not click links or open attachments until you have verified the sender or the content.
> > >
> > >
> > > In preparation for adding the HDMI TX v2 driver, and to allow
> > > a future modernization of the HDMI v1 one, perform changes
> > > that enable the usage of the HDMI Helpers provided by DRM.
> > >
> > > Check if the HDMI driver provides the function pointers to
> > > hdmi_{clear,write}_infoframe used by the HDMI Helper API and,
> > > if present, add DRM_BRIDGE_OP_HDMI to the drm_bridge ops,
> > > enabling the drm API to register the bridge as HDMI and to use
> > > the HDMI Helper functions.
> > >
> > > Moreover, as part of data exclusively used (in the context of
> > > HDMI bridges) by the helpers, assign the vendor "MediaTek" and
> > > product "On-Chip HDMI" strings to the drm_bridge struct.
> > >
> > > If the hdmi_{write,clear}_infoframe pointers are not assigned,
> > > vendor and product strings and HDMI helpers will not be used,
> > > hence this commit brings no functional changes to drivers that
> > > have not been refactored to use the new helpers.
> > >
> > > This also means that, in the current state, there is effectively
> > > no functional change to mtk_hdmi and its other components.
> >
> > OP_HDMI is for v2.
> > vendor and product strings is for both v1 and v2.
> > So separate this patch to two patches.
> >
>
> They're both for v2, because only v2 uses the HDMI helpers, while v1 does not.

Sorry, these two is required by DRM_BRIDGE_OP_HDMI.

/**
* @vendor: Vendor of the product to be used for the SPD InfoFrame
* generation. This is required if @DRM_BRIDGE_OP_HDMI is set.
*/
const char *vendor;

/**
* @product: Name of the product to be used for the SPD InfoFrame
* generation. This is required if @DRM_BRIDGE_OP_HDMI is set.
*/
const char *product;

So,

Reviewed-by: CK Hu <ck.hu@mediatek.com>

>
> Cheers,
> Angelo
>
> > Regards,
> > CK
> >
> > >
> > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> > > ---
> > > drivers/gpu/drm/mediatek/mtk_hdmi_common.c | 7 +++++++
> > > 1 file changed, 7 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_common.c b/drivers/gpu/drm/mediatek/mtk_hdmi_common.c
> > > index 4f708b04f5e8..0f60842462b0 100644
> > > --- a/drivers/gpu/drm/mediatek/mtk_hdmi_common.c
> > > +++ b/drivers/gpu/drm/mediatek/mtk_hdmi_common.c
> > > @@ -408,9 +408,16 @@ struct mtk_hdmi *mtk_hdmi_common_probe(struct platform_device *pdev)
> > >
> > > hdmi->bridge.funcs = ver_conf->bridge_funcs;
> > > hdmi->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_HPD;
> > > +
> > > + if (ver_conf->bridge_funcs->hdmi_write_infoframe &&
> > > + ver_conf->bridge_funcs->hdmi_clear_infoframe)
> > > + hdmi->bridge.ops |= DRM_BRIDGE_OP_HDMI;
> > > +
> > > hdmi->bridge.type = DRM_MODE_CONNECTOR_HDMIA;
> > > hdmi->bridge.of_node = pdev->dev.of_node;
> > > hdmi->bridge.ddc = hdmi->ddc_adpt;
> > > + hdmi->bridge.vendor = "MediaTek";
> > > + hdmi->bridge.product = "On-Chip HDMI";
> > >
> > > ret = devm_drm_bridge_add(dev, &hdmi->bridge);
> > > if (ret)
> > > --
> > > 2.47.0
> > >
> >
>
>