Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Liu Ying <victor.liu@nxp.com>
To: Marek Vasut <marek.vasut@mailbox.org>
Cc: Piyush Patle <piyushpatle228@gmail.com>,
	dri-devel@lists.freedesktop.org, imx@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org,
	devicetree@vger.kernel.org, Shawn Guo <shawnguo@kernel.org>,
	Fabio Estevam <festevam@gmail.com>, Peng Fan <peng.fan@nxp.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Lucas Stach <l.stach@pengutronix.de>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Abel Vesa <abelvesa@kernel.org>,
	Pengutronix Kernel Team <kernel@pengutronix.de>
Subject: Re: [PATCH 00/39] Add i.MX95 DPU/DSI/LVDS support
Date: Tue, 9 Jun 2026 16:26:42 +0800	[thread overview]
Message-ID: <aifOQtaAi_7F9hXt@raspi> (raw)
In-Reply-To: <9ece4e08-a77f-4410-ba16-a77b9bd0aace@mailbox.org>

On Mon, Jun 08, 2026 at 06:29:32PM +0200, Marek Vasut wrote:
> On 6/8/26 9:48 AM, Liu Ying wrote:
> 
> Hello everyone,
> 
> > > I brought this series up on the i.MX95 15x15 FRDM (IT6263 LVDS-to-HDMI on
> > > LVDS ch1). It mostly works, but I ran into a few issues around DI routing,
> > > LVDS format handling, and DC enable sequencing which needed rework before
> > > HDMI would come up reliably on the board.
> > > 
> > > I don't see a v2 of the series and things seem to have been quiet since
> > > November. Are you planning to post an updated version?
> > 
> > My plan was to enable prefetch engine support[1] for i.MX8QXP display
> > controller and add device tree for a whole i.MX8QXP LVDS display pipeline,
> > before adding i.MX95 display controller support.
> > 
> > Unfortunately, it seems that Marek is not a big fan of [1]
> 
> I am fine with [1] as long as it can be isolated and does not affect every
> SoC that might reuse this driver, which I think it can be done.

How can it be isolated?

> 
> > and I'm busy
> > with downstream development so the plan doesn't move forward well.  I still
> > think [1] makes sense(maybe I need to rebase it on latest drm-misc-next),
> > so I'd like to see review comments on [1] and hopefully people think that
> > the overall idea of [1] is ok.
> 
> My only concern is, to keep it isolated to MX8Q, so this driver can be
> reused by MX95.
> 
> > > I've accumulated a fair amount of rework while getting this running on the
> > > FRDM. If you're not planning a v2, I can clean things up and send one based
> > > on the current series.
> > 
> > I still think that i.MX95 display controller driver should be in a separate
> > driver, rather than sharing the same driver with i.MX8QXP display controller
> > like this patch series does, because the two display controllers are quite
> > different as I mentioned in comments on this patch series and in discussion
> > in [1].  Also, the common part between the two display controllers should
> > be extracted to a common helper library as I mentioned there too.
> Are they really? It seems this series adds support for the MX95 DC without
> that many changes, so are the DCs really that different ? It seems the MX95
> DC is simply a reuse/evolution of the MX8Q DC blocks, so duplicating the
> code seems like the wrong direction, it will only lead to disparate sets of
> bugs in two drivers, which isn't desired.

I pointed out a lot of H/W differences between the two display controllers
during the discussions for this patch series and my i.MX8QXP prefetch engine
patch series[1].  Please take a look at [1], which clearly shows that the
prefetch engine would considerably impact CRTC/plane atomic callback
implementations.  Display controller internal blocks would also impact
the implementations, e.g., DomainBlend block in i.MX95 display controller
doesn't present in i.MX8QXP display controller.  It makes sense to use
separate drivers for the two display controllers instead of adding 'if/else'
checks to a single driver's atomic callbacks or introducing two pairs of
atomic callbacks to that single driver.  I mentioned before, the code to
simply add a DRM driver(struct drm_driver) is fairly limited.

I also mentioned before that separate drivers make them easier to maintain:
we don't have to test both i.MX8QXP and i.MX95 if only one display controller
specific code is changed.

> 
> (I might not fully understand what you have in mind with the helper library
> though?)

I said this could be something like imx-ldb-helper.c and plus perhaps some
callbacks like fg->dc_fg_cfg_videomode().

-- 
Regards,
Liu Ying


  reply	other threads:[~2026-06-09  8:25 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-11 16:51 [PATCH 00/39] Add i.MX95 DPU/DSI/LVDS support Marek Vasut
2025-10-11 16:51 ` [PATCH 01/39] dt-bindings: display: imx: Document i.MX95 Display Controller DomainBlend Marek Vasut
2025-10-15 13:24   ` Rob Herring
2025-10-16  2:07     ` Liu Ying
2025-10-17 15:15       ` Marek Vasut
2025-10-18  6:09         ` Ying Liu
2025-11-02 16:41           ` Marek Vasut
2025-11-04  3:31             ` Liu Ying
2025-10-21  6:52       ` Krzysztof Kozlowski
2025-10-11 16:51 ` [PATCH 02/39] drm/imx: Add " Marek Vasut
2025-10-13 16:38   ` Frank Li
2025-10-14 11:50     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 03/39] dt-bindings: display: imx: Document i.MX95 Display Controller processing units Marek Vasut
2025-10-13 16:49   ` Frank Li
2025-10-14 11:52     ` Marek Vasut
2025-10-15  8:59       ` Liu Ying
2025-10-15 10:19         ` Marek Vasut
2025-10-16  2:28           ` Liu Ying
2025-10-16  2:58             ` Liu Ying
2025-10-17 15:18             ` Marek Vasut
2025-10-18  5:44               ` Ying Liu
2025-10-11 16:51 ` [PATCH 04/39] drm/imx: dc: Use bulk clock Marek Vasut
2025-10-13 16:54   ` Frank Li
2025-10-14 12:02     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 05/39] drm/imx: dc: Rework dc_subdev_get_id() to drop ARRAY_SIZE() use Marek Vasut
2025-10-13 16:56   ` Frank Li
2025-10-14 14:03     ` Marek Vasut
2025-10-14 15:11       ` Frank Li
2025-10-14 21:11         ` Marek Vasut
2025-10-15  9:14           ` Liu Ying
2025-10-15 14:31             ` Frank Li
2025-10-16  2:50               ` Liu Ying
2025-10-11 16:51 ` [PATCH 06/39] drm/imx: dc: Rename i.MX8QXP specific Link IDs Marek Vasut
2025-10-13 16:58   ` Frank Li
2025-10-11 16:51 ` [PATCH 07/39] drm/imx: dc: cf: Pass struct dc_subdev_info via OF match data Marek Vasut
2025-10-13 17:01   ` Frank Li
2025-10-11 16:51 ` [PATCH 08/39] drm/imx: dc: de: Pass struct dc_de_subdev_match_data " Marek Vasut
2025-10-13 17:05   ` Frank Li
2025-10-11 16:51 ` [PATCH 09/39] drm/imx: dc: ed: Rework dc_ed_pec_src_sel() to drop ARRAY_SIZE() use Marek Vasut
2025-10-13 18:24   ` Frank Li
2025-10-11 16:51 ` [PATCH 10/39] drm/imx: dc: ed: Pass struct dc_ed_subdev_match_data via OF match data Marek Vasut
2025-10-13 18:26   ` Frank Li
2025-10-11 16:51 ` [PATCH 11/39] drm/imx: dc: fg: Parametrize register access Marek Vasut
2025-10-13 18:29   ` Frank Li
2025-10-11 16:51 ` [PATCH 12/39] drm/imx: dc: ed: Pass struct dc_fg_subdev_match_data via OF match data Marek Vasut
2025-10-13 18:31   ` Frank Li
2025-10-11 16:51 ` [PATCH 13/39] drm/imx: dc: fu: Describe remaining register offsets Marek Vasut
2025-10-13 18:34   ` Frank Li
2025-10-11 16:51 ` [PATCH 14/39] drm/imx: dc: fu: Inline FRAC_OFFSET into FetchLayer and FetchWrap Marek Vasut
2025-10-13 18:39   ` Frank Li
2025-10-11 16:51 ` [PATCH 15/39] drm/imx: dc: fu: Pass struct dc_fu_subdev_match_data via OF match data Marek Vasut
2025-10-13 18:43   ` Frank Li
2025-10-11 16:51 ` [PATCH 16/39] drm/imx: dc: lb: Pass struct dc_lb_subdev_match_data " Marek Vasut
2025-10-13 18:45   ` Frank Li
2025-10-11 16:51 ` [PATCH 17/39] drm/imx: dc: tc: Pass struct dc_tc_subdev_match_data " Marek Vasut
2025-10-11 16:51 ` [PATCH 18/39] drm/imx: dc: ic: Pass struct dc_ic_subdev_match_data " Marek Vasut
2025-10-11 16:51 ` [PATCH 19/39] drm/imx: dc: ic: Use DT node as interrupt controller name Marek Vasut
2025-10-11 16:51 ` [PATCH 20/39] drm/imx: dc: Configure display CSR clock feed select Marek Vasut
2025-10-13 18:48   ` Frank Li
2025-10-17 15:20     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 21/39] drm/imx: dc: crtc: Do not check disabled CRTCs Marek Vasut
2025-10-13 18:50   ` Frank Li
2025-10-14 21:41     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 22/39] drm/imx: dc: Keep FU unit running on i.MX95 Marek Vasut
2025-10-13 18:52   ` Frank Li
2025-10-11 16:51 ` [PATCH 23/39] drm/imx: dc: Add OF match data for i.MX95 Marek Vasut
2025-10-13 18:54   ` Frank Li
2025-10-11 16:51 ` [PATCH 24/39] drm/imx: Add more RGB swizzling options Marek Vasut
2025-10-11 16:51 ` [PATCH 25/39] dt-bindings: display: bridge: Document NXP i.MX95 pixel interleaver support Marek Vasut
2025-10-13 18:57   ` Frank Li
2025-10-17 14:55     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 26/39] drm/bridge: imx: Add " Marek Vasut
2025-10-13 19:02   ` Frank Li
2025-10-11 16:51 ` [PATCH 27/39] dt-bindings: display: bridge: Document NXP i.MX95 pixel link support Marek Vasut
2025-10-13 19:08   ` Frank Li
2025-10-17 15:01     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 28/39] drm/bridge: imx: Add " Marek Vasut
2025-10-13 19:10   ` Frank Li
2025-10-11 16:51 ` [PATCH 29/39] dt-bindings: display: bridge: Document Freescale i.MX95 MIPI DSI Marek Vasut
2025-10-13 19:13   ` Frank Li
2025-10-17 15:37     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 30/39] drm/bridge: imx93-mipi-dsi: Add i.MX95 PLL initialization Marek Vasut
2025-10-11 16:51 ` [PATCH 31/39] dt-bindings: clock: Split support for i.MX95 LVDS CSR Marek Vasut
2025-10-13 19:17   ` Frank Li
2025-10-17 15:49     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 32/39] dt-bindings: display: bridge: Document i.MX95 LVDS display bridge binding Marek Vasut
2025-10-13 19:20   ` Frank Li
2025-10-17 15:04     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 33/39] drm: bridge: imx: Add i.MX95 LVDS Display Bridge (LDB) driver Marek Vasut
2025-10-11 16:51 ` [PATCH 34/39] dt-bindings: display: bridge: ldb: Add an i.MX95 entry Marek Vasut
2025-10-13 11:34   ` Rob Herring (Arm)
2025-10-11 16:51 ` [PATCH 35/39] drm/bridge: fsl-ldb: Parse register offsets from DT Marek Vasut
2025-10-13 19:23   ` Frank Li
2025-10-17 15:39     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 36/39] drm/bridge: fsl-ldb: Add i.MX95 support Marek Vasut
2025-10-13 19:24   ` Frank Li
2025-10-11 16:51 ` [PATCH 37/39] dt-bindings: interrupt-controller: fsl,irqsteer: " Marek Vasut
2025-10-13 19:25   ` Frank Li
2025-10-15 13:31   ` Rob Herring (Arm)
2025-10-11 16:51 ` [PATCH 38/39] dt-bindings: clock: support i.MX95 Display Stream CSR module Marek Vasut
2025-10-13 19:26   ` Frank Li
2025-10-17 15:05     ` Marek Vasut
2025-10-15 13:33   ` Rob Herring
2025-10-17 15:08     ` Marek Vasut
2025-10-11 16:51 ` [PATCH 39/39] arm64: dts: imx95: Describe display pipeline Marek Vasut
2025-10-14  8:51 ` [PATCH 00/39] Add i.MX95 DPU/DSI/LVDS support Liu Ying
2025-10-14 21:55   ` Marek Vasut
2025-10-15 10:00     ` Liu Ying
2025-10-15 16:18       ` Marek Vasut
2025-10-20  2:15         ` Ying Liu
2025-11-02 16:33           ` Marek Vasut
2025-11-04  7:00             ` Liu Ying
2025-10-14  9:13 ` Liu Ying
2025-10-14 22:09   ` Marek Vasut
2025-10-15 10:09     ` Liu Ying
2025-10-17 15:54       ` Marek Vasut
2025-10-20  2:35         ` Liu Ying
2026-06-05 12:11 ` Piyush Patle
2026-06-08  7:48   ` Liu Ying
2026-06-08  9:09     ` Piyush Patle
2026-06-08 16:29     ` Marek Vasut
2026-06-09  8:26       ` Liu Ying [this message]
2026-06-10 16:31         ` Marek Vasut
2026-06-11  8:01           ` 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=aifOQtaAi_7F9hXt@raspi \
    --to=victor.liu@nxp.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=abelvesa@kernel.org \
    --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=l.stach@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=marek.vasut@mailbox.org \
    --cc=peng.fan@nxp.com \
    --cc=piyushpatle228@gmail.com \
    --cc=robh@kernel.org \
    --cc=shawnguo@kernel.org \
    --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