RE: [EXT] Re: [PATCH v6 5/8] drm: bridge: Cadence: Add MHDP8501 HDMI driver

From: Alexander Stein
Date: Mon Jun 19 2023 - 01:36:07 EST


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/