Re: [PATCH v6 2/4] drm/imx: Add initial support for DCSS on iMX8MQ

Sam Ravnborg
2020-07-18T11:57:43Z

On Sat, Jul 18, 2020 at 01:05:25PM +0200, Guido Günther wrote:
> Hi,
> On Fri, Jul 17, 2020 at 09:48:49PM +0200, Sam Ravnborg wrote:
> > Hi Laurentiu.
> >
> > On Fri, Jul 17, 2020 at 05:41:27PM +0300, Laurentiu Palcu wrote:
> > > From: Laurentiu Palcu <laurentiu.palcu@nxp.com>
> > >
> > > This adds initial support for iMX8MQ's Display Controller Subsystem (DCSS).
> > > Some of its capabilities include:
> > > * 4K@60fps;
> > > * HDR10;
> > > * one graphics and 2 video pipelines;
> > > * on-the-fly decompression of compressed video and graphics;
> > >
> > > The reference manual can be found here:
> > > https://www.nxp.com/webapp/Download?colCode=IMX8MDQLQRM
> > >
> > > The current patch adds only basic functionality: one primary plane for
> > > graphics, linear, tiled and super-tiled buffers support (no graphics
> > > decompression yet), no HDR10 and no video planes.
> > >
> > > Video planes support and HDR10 will be added in subsequent patches once
> > > per-plane de-gamma/CSC/gamma support is in.
> > >
> > > Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
> > > Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
> > > ---
> >
> > ....
> > return drm_bridge_attach(encoder, bridge, NULL, 0);
> > ....
> >
> > The above code-snippet tells that the display-driver rely on the bridge
> > to create the connector.
> > Could this by any chance be updated to the new way where the display
> > driver creates the connector - and thus passing DRM_BRIDGE_ATTACH_NO_CONNECTOR
> > as the flags argument?
> >
> > What bridges would be relevant?
> > To check that the reelvant bridges are already ported.
>
> I think that's mostly NWL atm since MHDP isn't mainline yet. Can you
> recommend a bridge driver to look at that does this right?

Hi Guido.

The following is from my notes:

bridge/adv7511 done
bridge/simple-bridge done
bridge/synopsys/dw-hdmi done
bridge/display-connector.c done
bridge/lvds-codec done
bridge/cdns-dsi done
bridge/panel.c done
bridge/parade-ps8640 done
bridge/sil-sii8620 done
bridge/synopsys/dw-mipi-dsi done
bridge/tc358768 done
bridge/thc63lvd1024 done
bridge/ti-tfp410 done

This is a list of bridge drivers which are converted and in
drm-misc-next now.
I have a patch set that converts some more but they needs a bit more
polishing before they are done.

Laurent has written about is in a very comprehensive way several times.
The short variant is that we needed to support chained bridges where
the individual bridges implemented the functions required by the
connector - and creating the connector was pushed back to the display
driver.
So the bridges now announce their support of for example hot-plug detect
and reading edid. Then the connector, created by the display driver, can
use the operations exported by the bridge drivers.

Sam