From: Liu Ying <victor.liu@nxp.com>
To: Philipp Zabel <p.zabel@pengutronix.de>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>,
Simona Vetter <simona@ffwll.ch>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
Dmitry Baryshkov <lumag@kernel.org>
Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 00/14] drm/imx: dc: Use prefetch engine
Date: Fri, 04 Jul 2025 17:03:47 +0800 [thread overview]
Message-ID: <20250704-imx8-dc-prefetch-v1-0-784c03fd645f@nxp.com> (raw)
Hi,
This patch series aims to use prefetch engine in imx8-dc KMS driver.
One prefetch engine consists of one DPR Channel(DPRC) and one or two
Display Prefetch Resolve Gaskets(PRGs). It prefetches data from
DDR, resolves data in tile formats if needed and outputs the result
data to FetchUnit(s). When one PRG is used, a prefetch engine supports
processing pixel formats with one planar, e.g., RGB formats. When two
are used, pixel formats with two planars are supported, e.g., NV12.
For now, this patch series only supports prefetch engines with one PRG
because it is enough for XRGB8888 which is the only pixel format
supported by imx8-dc plane driver. Two PRGs would be supported by
future patches.
Patch 1 and 2 add dt-bindings for DPRC and PRG. They were reviewed
by Rob[1][2]. I slightly modified the patches' commit message to use
imperative mood.
Patch 3 adds DPRC and PRG dt-binding files to MAINTAINERS.
Patch 4 fixes FetchUnit dimensions as related to prefetch engine function.
Patch 5 disables CRTC at boot if needed to support prefetch engine better.
Patch 6 and 7 add PRG and DPRC drivers.
Patch 8 to 13 do preparations before using prefetch engine in imx8-dc KMS
driver.
Patch 14 uses prefetch engine in imx8-dc KMS driver.
[1] https://lore.kernel.org/lkml/20201207165945.GA430214@robh.at.kernel.org/
[2] https://lore.kernel.org/lkml/20201207170206.GA434964@robh.at.kernel.org/
Signed-off-by: Liu Ying <victor.liu@nxp.com>
---
Liu Ying (14):
dt-bindings: display: imx: Add i.MX8qxp/qm PRG binding
dt-bindings: display: imx: Add i.MX8qxp/qm DPR channel binding
MAINTAINERS: Add i.MX8qxp prefetch engine DT binding files
drm/imx: dc-fu: Fix dimensions
drm/imx: dc-crtc: Disable at boot
drm/imx: dc: Add PRG support
drm/imx: dc: Add DPR channel support
drm/imx: dc: Use TCON operation mode
drm/imx: dc-ed: Support getting source selection
drm/imx: dc-lb: Support getting secondary input selection
drm/imx: dc-ed: Drop initial source selection
drm/imx: dc-lb: Drop initial primary and secondary input selections
drm/imx: dc-fu: Get DPR channel
drm/imx: dc: Use prefetch engine
.../bindings/display/imx/fsl,imx8qxp-dprc.yaml | 100 +++++
.../bindings/display/imx/fsl,imx8qxp-prg.yaml | 60 +++
MAINTAINERS | 2 +
drivers/gpu/drm/imx/dc/Kconfig | 1 +
drivers/gpu/drm/imx/dc/Makefile | 6 +-
drivers/gpu/drm/imx/dc/dc-crtc.c | 191 +++++++-
drivers/gpu/drm/imx/dc/dc-de.h | 2 +
drivers/gpu/drm/imx/dc/dc-dprc.c | 499 +++++++++++++++++++++
drivers/gpu/drm/imx/dc/dc-dprc.h | 35 ++
drivers/gpu/drm/imx/dc/dc-drv.c | 7 +
drivers/gpu/drm/imx/dc/dc-drv.h | 5 +
drivers/gpu/drm/imx/dc/dc-ed.c | 27 +-
drivers/gpu/drm/imx/dc/dc-fl.c | 7 +-
drivers/gpu/drm/imx/dc/dc-fu.c | 49 +-
drivers/gpu/drm/imx/dc/dc-fu.h | 11 +-
drivers/gpu/drm/imx/dc/dc-fw.c | 7 +-
drivers/gpu/drm/imx/dc/dc-kms.h | 7 +
drivers/gpu/drm/imx/dc/dc-lb.c | 23 +-
drivers/gpu/drm/imx/dc/dc-pe.h | 2 +
drivers/gpu/drm/imx/dc/dc-plane.c | 46 +-
drivers/gpu/drm/imx/dc/dc-prg.c | 335 ++++++++++++++
drivers/gpu/drm/imx/dc/dc-prg.h | 39 ++
drivers/gpu/drm/imx/dc/dc-tc.c | 114 ++++-
23 files changed, 1545 insertions(+), 30 deletions(-)
---
base-commit: 50c8770a42faf8b1c7abe93e7c114337f580a97d
change-id: 20250703-imx8-dc-prefetch-028e306591c6
Best regards,
--
Liu Ying <victor.liu@nxp.com>
next reply other threads:[~2025-07-04 9:02 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-04 9:03 Liu Ying [this message]
2025-07-04 9:03 ` [PATCH 01/14] dt-bindings: display: imx: Add i.MX8qxp/qm PRG binding Liu Ying
2025-07-04 9:03 ` [PATCH 02/14] dt-bindings: display: imx: Add i.MX8qxp/qm DPR channel binding Liu Ying
2025-07-04 9:03 ` [PATCH 03/14] MAINTAINERS: Add i.MX8qxp prefetch engine DT binding files Liu Ying
2025-07-04 9:03 ` [PATCH 04/14] drm/imx: dc-fu: Fix dimensions Liu Ying
2025-07-04 11:29 ` Alexander Stein
2025-07-04 9:03 ` [PATCH 05/14] drm/imx: dc-crtc: Disable at boot Liu Ying
2025-07-04 9:03 ` [PATCH 06/14] drm/imx: dc: Add PRG support Liu Ying
2025-07-04 9:03 ` [PATCH 07/14] drm/imx: dc: Add DPR channel support Liu Ying
2025-07-04 9:03 ` [PATCH 08/14] drm/imx: dc: Use TCON operation mode Liu Ying
2025-07-04 9:03 ` [PATCH 09/14] drm/imx: dc-ed: Support getting source selection Liu Ying
2025-07-04 9:03 ` [PATCH 10/14] drm/imx: dc-lb: Support getting secondary input selection Liu Ying
2025-07-04 9:03 ` [PATCH 11/14] drm/imx: dc-ed: Drop initial source selection Liu Ying
2025-07-04 9:03 ` [PATCH 12/14] drm/imx: dc-lb: Drop initial primary and secondary input selections Liu Ying
2025-07-04 9:04 ` [PATCH 13/14] drm/imx: dc-fu: Get DPR channel Liu Ying
2025-07-04 9:04 ` [PATCH 14/14] drm/imx: dc: Use prefetch engine Liu Ying
2025-08-12 8:29 ` [PATCH 00/14] " Liu Ying
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250704-imx8-dc-prefetch-v1-0-784c03fd645f@nxp.com \
--to=victor.liu@nxp.com \
--cc=airlied@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lumag@kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).