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@xxxxxxxxxxxxxxxxxxxxx > > https://lists.freedesktop.org/mailman/listinfo/dri-devel