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@xxxxxxxxxxxx> > > Cheers, > Angelo > > > Regards, > > CK > > > > > > > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> > > > --- > > > 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 > > > > > > >