[PATCH 0/8] drm/imx: Introduce i.MX8qxp DPU DRM

Liu Ying victor.liu at nxp.com
Thu Nov 19 21:23:03 EST 2020


Hi Laurentiu,

On Thu, 2020-11-19 at 19:30 +0200, Laurentiu Palcu wrote:
> Hi Liu Ying,
> 
> On Thu, Nov 19, 2020 at 05:22:17PM +0800, Liu Ying wrote:
> > Hi,
> > 
> > 
> > This patch set introduces i.MX8qxp Display Processing Unit(DPU) DRM support.
> 
> Glad to see this series out. However, something went wrong with it as
> patch 5/8 didn't make it to dri-devel mailing list... :/
> 
> https://lists.freedesktop.org/archives/dri-devel/2020-November/thread.html
> 
> So, people on to dri-devel may not be able to review it...

I think that patch was held for a moment, it appears on dri-devel
archive now:

https://lists.freedesktop.org/archives/dri-devel/2020-November/287958.html

I did receive an email from 'linux-arm-kernel' that says the msg body
of that patch is too big(> 100KB), thus being held for moderator's
review(I hope it pass now).
Maybe, dri-devel did sth similar.

Regards,
Liu Ying

> 
> However, it did make it to LKML:
> 
> https://lkml.org/lkml/2020/11/19/249
> 
> Not sure what happened here... :/
> 
> Thanks,
> laurentiu
> 
> 
> > DPU is comprised of a blit engine for 2D graphics, a display controller
> > and a command sequencer.  Outside of DPU, optional prefetch engines can
> > fetch data from memory prior to some DPU fetchunits of blit engine and
> > display controller.  The pre-fetchers support linear formats and Vivante
> > GPU tile formats.
> > 
> > Reference manual can be found at:
> > https://www.nxp.com/webapp/Download?colCode=IMX8DQXPRM
> > 
> > 
> > This patch set adds kernel modesetting support for the display controller part.
> > It supports two CRTCs per display controller, several planes, prefetch
> > engines and some properties of CRTC and plane.  Currently, the registers of
> > the controller is accessed without command sequencer involved, instead just by
> > using CPU.  DRM connectors would be created from the DPU KMS driver.
> > 
> > 
> > If people want to try this series, clock patches can be found at:
> > https://www.spinics.net/lists/arm-kernel/msg856137.html
> > 
> > and, power domain patches at:
> > https://www.spinics.net/lists/arm-kernel/msg856097.html
> > 
> > 
> > I will send other patch sets to add downstream bridges(embedded in i.MX8qxp)
> > to support LVDS displays.
> > 
> > A brief look at the pipe:
> > prefetch eng -> DPU -> pixel combiner -> pixel link -> pixel to DPI(pxl2dpi) ->
> > LVDS display bridge(LDB)
> > 
> > 
> > Patch 1 ~ 3 add dt-bindings for DPU and prefetch engines.
> > Patch 4 is a minor improvement of a macro to suppress warning as the KMS driver
> > uses it.
> > Patch 5 introduces the DPU DRM support.
> > Patch 6 updates MAINTAINERS.
> > Patch 7 & 8 add DPU and prefetch engines support in the device tree of
> > i.MX8qxp MEK platform.
> > 
> > 
> > Welcome comments, thanks.
> > 
> > 
> > Liu Ying (8):
> >   dt-bindings: display: imx: Add i.MX8qxp/qm DPU binding
> >   dt-bindings: display: imx: Add i.MX8qxp/qm PRG binding
> >   dt-bindings: display: imx: Add i.MX8qxp/qm DPR channel binding
> >   drm/atomic: Avoid unused-but-set-variable warning on
> >     for_each_old_plane_in_state
> >   drm/imx: Introduce i.MX8qxp DPU DRM
> >   MAINTAINERS: add maintainer for i.MX8qxp DPU DRM driver
> >   arm64: imx8qxp:dtsi: Introduce DC0 subsystem
> >   arm64: dts: imx8qxp-mek: Enable DPU and it's prefetch engines
> > 
> >  .../bindings/display/imx/fsl,imx8qxp-dprc.yaml     |  87 ++
> >  .../bindings/display/imx/fsl,imx8qxp-dpu.yaml      | 358 ++++++++
> >  .../bindings/display/imx/fsl,imx8qxp-prg.yaml      |  60 ++
> >  MAINTAINERS                                        |   9 +
> >  arch/arm64/boot/dts/freescale/imx8qxp-mek.dts      |  64 ++
> >  arch/arm64/boot/dts/freescale/imx8qxp.dtsi         | 313 +++++++
> >  drivers/gpu/drm/imx/Kconfig                        |   1 +
> >  drivers/gpu/drm/imx/Makefile                       |   1 +
> >  drivers/gpu/drm/imx/dpu/Kconfig                    |  10 +
> >  drivers/gpu/drm/imx/dpu/Makefile                   |  10 +
> >  drivers/gpu/drm/imx/dpu/dpu-constframe.c           | 170 ++++
> >  drivers/gpu/drm/imx/dpu/dpu-core.c                 | 880 ++++++++++++++++++++
> >  drivers/gpu/drm/imx/dpu/dpu-crtc.c                 | 926 +++++++++++++++++++++
> >  drivers/gpu/drm/imx/dpu/dpu-crtc.h                 |  62 ++
> >  drivers/gpu/drm/imx/dpu/dpu-disengcfg.c            | 114 +++
> >  drivers/gpu/drm/imx/dpu/dpu-dprc.c                 | 721 ++++++++++++++++
> >  drivers/gpu/drm/imx/dpu/dpu-dprc.h                 |  40 +
> >  drivers/gpu/drm/imx/dpu/dpu-drv.c                  | 296 +++++++
> >  drivers/gpu/drm/imx/dpu/dpu-drv.h                  |  28 +
> >  drivers/gpu/drm/imx/dpu/dpu-extdst.c               | 296 +++++++
> >  drivers/gpu/drm/imx/dpu/dpu-fetchdecode.c          | 291 +++++++
> >  drivers/gpu/drm/imx/dpu/dpu-fetcheco.c             | 221 +++++
> >  drivers/gpu/drm/imx/dpu/dpu-fetchlayer.c           | 151 ++++
> >  drivers/gpu/drm/imx/dpu/dpu-fetchunit.c            | 609 ++++++++++++++
> >  drivers/gpu/drm/imx/dpu/dpu-fetchunit.h            | 191 +++++
> >  drivers/gpu/drm/imx/dpu/dpu-fetchwarp.c            | 247 ++++++
> >  drivers/gpu/drm/imx/dpu/dpu-framegen.c             | 392 +++++++++
> >  drivers/gpu/drm/imx/dpu/dpu-gammacor.c             | 220 +++++
> >  drivers/gpu/drm/imx/dpu/dpu-hscaler.c              | 272 ++++++
> >  drivers/gpu/drm/imx/dpu/dpu-kms.c                  | 543 ++++++++++++
> >  drivers/gpu/drm/imx/dpu/dpu-kms.h                  |  23 +
> >  drivers/gpu/drm/imx/dpu/dpu-layerblend.c           | 345 ++++++++
> >  drivers/gpu/drm/imx/dpu/dpu-plane.c                | 703 ++++++++++++++++
> >  drivers/gpu/drm/imx/dpu/dpu-plane.h                |  56 ++
> >  drivers/gpu/drm/imx/dpu/dpu-prg.c                  | 389 +++++++++
> >  drivers/gpu/drm/imx/dpu/dpu-prg.h                  |  45 +
> >  drivers/gpu/drm/imx/dpu/dpu-prv.h                  | 203 +++++
> >  drivers/gpu/drm/imx/dpu/dpu-tcon.c                 | 249 ++++++
> >  drivers/gpu/drm/imx/dpu/dpu-vscaler.c              | 305 +++++++
> >  drivers/gpu/drm/imx/dpu/dpu.h                      | 389 +++++++++
> >  include/drm/drm_atomic.h                           |   4 +-
> >  41 files changed, 10293 insertions(+), 1 deletion(-)
> >  create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dprc.yaml
> >  create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dpu.yaml
> >  create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-prg.yaml
> >  create mode 100644 drivers/gpu/drm/imx/dpu/Kconfig
> >  create mode 100644 drivers/gpu/drm/imx/dpu/Makefile
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-constframe.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-core.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-crtc.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-crtc.h
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-disengcfg.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-dprc.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-dprc.h
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-drv.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-drv.h
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-extdst.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-fetchdecode.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-fetcheco.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-fetchlayer.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-fetchunit.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-fetchunit.h
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-fetchwarp.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-framegen.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-gammacor.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-hscaler.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-kms.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-kms.h
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-layerblend.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-plane.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-plane.h
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-prg.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-prg.h
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-prv.h
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-tcon.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu-vscaler.c
> >  create mode 100644 drivers/gpu/drm/imx/dpu/dpu.h
> > 
> > -- 
> > 2.7.4
> > 
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel




More information about the linux-arm-kernel mailing list