Hi Alexander, Thanks for your comments, > -----Original Message----- > From: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > Sent: 2023年6月16日 17:30 > To: andrzej.hajda@xxxxxxxxx; neil.armstrong@xxxxxxxxxx; > robert.foss@xxxxxxxxxx; Laurent.pinchart@xxxxxxxxxxxxxxxx; > jonas@xxxxxxxxx; jernej.skrabec@xxxxxxxxx; airlied@xxxxxxxxx; > daniel@xxxxxxxx; robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx; > shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; festevam@xxxxxxxxx; > vkoul@xxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; > devicetree@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > linux-kernel@xxxxxxxxxxxxxxx; linux-phy@xxxxxxxxxxxxxxxxxxx > Cc: Oliver Brown <oliver.brown@xxxxxxx>; Sandor Yu <sandor.yu@xxxxxxx>; > dl-linux-imx <linux-imx@xxxxxxx>; kernel@xxxxxxxxxxxxxx; Sandor Yu > <sandor.yu@xxxxxxx> > Subject: [EXT] Re: [PATCH v6 5/8] drm: bridge: Cadence: Add MHDP8501 > HDMI driver > > Caution: This is an external email. Please take care when clicking links or > opening attachments. When in doubt, report the message using the 'Report > this email' button > > > Hi Sandor, > > thanks for sending a new version. > > Am Donnerstag, 15. Juni 2023, 03:38:15 CEST schrieb Sandor Yu: > > Add a new DRM HDMI bridge driver for Cadence MHDP8501 that used in > > Freescale i.MX8MQ SoC. > > MHDP8501 could support HDMI or DisplayPort standards according > > embedded Firmware running in the uCPU. > > > > For iMX8MQ SoC, the HDMI FW was loaded and activated by SOC ROM > code. > > Bootload binary included HDMI FW was required for the driver. > > > > Signed-off-by: Sandor Yu <Sandor.yu@xxxxxxx> > > --- > > drivers/gpu/drm/bridge/cadence/Kconfig | 12 + > > drivers/gpu/drm/bridge/cadence/Makefile | 1 + > > .../drm/bridge/cadence/cdns-mhdp8501-hdmi.c | 1024 > +++++++++++++++++ > > 3 files changed, 1037 insertions(+) > > create mode 100644 > > drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-hdmi.c > > > > diff --git a/drivers/gpu/drm/bridge/cadence/Kconfig > > b/drivers/gpu/drm/bridge/cadence/Kconfig index > > 5b7ec4e49aa1..bee05e834055 > > 100644 > > --- a/drivers/gpu/drm/bridge/cadence/Kconfig > > +++ b/drivers/gpu/drm/bridge/cadence/Kconfig > > @@ -59,3 +59,15 @@ config DRM_CDNS_MHDP8501_DP > > Support Cadence MHDP8501 DisplayPort driver. > > Cadence MHDP8501 Controller support one or more protocols, > > DisplayPort firmware is required for this driver. > > + > > +config DRM_CDNS_MHDP8501_HDMI > > + tristate "Cadence MHDP8501 HDMI DRM driver" > > + select DRM_KMS_HELPER > > + select DRM_PANEL_BRIDGE > > + select DRM_DISPLAY_HELPER > > + select DRM_CDNS_AUDIO > > + depends on OF > > + help > > + Support Cadence MHDP8501 HDMI driver. > > + Cadence MHDP8501 Controller support one or more protocols, > > + HDMI firmware is required for this driver. > > diff --git a/drivers/gpu/drm/bridge/cadence/Makefile > > b/drivers/gpu/drm/bridge/cadence/Makefile index > > 5842e4540c62..8a129c14ac14 > > 100644 > > --- a/drivers/gpu/drm/bridge/cadence/Makefile > > +++ b/drivers/gpu/drm/bridge/cadence/Makefile > > @@ -7,3 +7,4 @@ cdns-mhdp8546-y := cdns-mhdp8546-core.o > > cdns-mhdp8546-hdcp.o > > cdns-mhdp8546-$(CONFIG_DRM_CDNS_MHDP8546_J721E) += > > cdns-mhdp8546-j721e.o > > > > obj-$(CONFIG_DRM_CDNS_MHDP8501_DP) += cdns-mhdp8501-dp.o > > +obj-$(CONFIG_DRM_CDNS_MHDP8501_HDMI) += cdns-mhdp8501-hdmi.o > > diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-hdmi.c > > b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-hdmi.c new file mode > > 100644 index 000000000000..43673f1b50f6 > > --- /dev/null > > +++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-hdmi.c > [...] > > +static int cdns_hdmi_bridge_attach(struct drm_bridge *bridge, > > + enum drm_bridge_attach_flags flags) > { > > + struct cdns_mhdp_device *mhdp = bridge->driver_private; > > + struct drm_mode_config *config = &bridge->dev->mode_config; > > + struct drm_encoder *encoder = bridge->encoder; > > + struct drm_connector *connector = &mhdp->connector; > > + > > + if (!(flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)) { > > + connector->interlace_allowed = 0; > > + connector->polled = DRM_CONNECTOR_POLL_HPD; > > + > > + drm_connector_helper_add(connector, > &cdns_hdmi_connector_helper_funcs); > > + > > + drm_connector_init(bridge->dev, connector, > &cdns_hdmi_connector_funcs, > > + > DRM_MODE_CONNECTOR_HDMIA); > > + > > + drm_object_attach_property(&connector->base, > > + config- > >hdr_output_metadata_property, 0); > > + > > + if > > + (!drm_mode_create_hdmi_colorspace_property(connector)) > > This is missing a 2nd parameter. I have not found function drm_mode_create_hdmi_colorspace_property need 2nd parameter in L6.1. And those connector init functions will be remove in the next version according Sam's comments, because they are not really needed. B.R Sandor > > > + > drm_object_attach_property(&connector->base, > > + connector- > >colorspace_property, 0); > > + > > + drm_connector_attach_encoder(connector, encoder); > > + } > > + > > + return 0; > > +} > [...] > > Best regards, > Alexander > -- > TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany > Amtsgericht München, HRB 105018 > Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider > http://www.tq/ > -group.com%2F&data=05%7C01%7CSandor.yu%40nxp.com%7C77fbaace052c > 4ccf338c08db6e4c40cb%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C > 0%7C638225046010817530%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4w > LjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C > %7C%7C&sdata=JJjeV2InXzHyefL4uiK9%2BRtSVjoBYd%2FwIqSbIQhDH90%3D > &reserved=0 >