Hi Sandor, Am Montag, 19. Juni 2023, 05:11:02 CEST schrieb Sandor Yu: > 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. Ah, I see. The new parameter is/will be part of v6.3. > And those connector init functions will be remove in > the next version according Sam's comments, because they are not really > needed. Okay, nice. Please put me on cc as well. Thanks. Best regards, Alexander > 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 > > > > > > -- 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/