Re: [PATCH 00/14] drm/imx: dc: Use prefetch engine

Liu Ying
2025-08-12T12:37:25Z

On 07/04/2025, Liu Ying wrote:
> 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,

Gentle ping.

--
Regards,
Liu Ying