mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "CK Hu (胡俊光)" <ck.hu@mediatek.com>
To: AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	"chunkuang.hu@kernel.org" <chunkuang.hu@kernel.org>
Cc: "robh@kernel.org" <robh@kernel.org>,
	"tzimmermann@suse.de" <tzimmermann@suse.de>,
	"simona@ffwll.ch" <simona@ffwll.ch>,
	"mripard@kernel.org" <mripard@kernel.org>,
	"kernel@collabora.com" <kernel@collabora.com>,
	"linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
	"maarten.lankhorst@linux.intel.com"
	<maarten.lankhorst@linux.intel.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"conor+dt@kernel.org" <conor+dt@kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
	"p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
	"airlied@gmail.com" <airlied@gmail.com>,
	"Justin Yeh (葉英茂)" <Justin.Yeh@mediatek.com>,
	"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"Jason-JH Lin (林睿祥)" <Jason-JH.Lin@mediatek.com>
Subject: Re: [PATCH v2 17/46] drm/mediatek: Add support for hardware multi-stage layers
Date: Wed, 4 Nov 2026 09:46:38 +0000	[thread overview]
Message-ID: <10e114d1f682a24e5eeb29ef03980762fb9712ba.camel@mediatek.com> (raw)
In-Reply-To: <20260714114414.184512-18-angelogioacchino.delregno@collabora.com>

On Tue, 2026-07-14 at 13:43 +0200, AngeloGioacchino Del Regno wrote:
> In preparation for adding support for newer, more complex, display
> controllers like the ones found in the MediaTek Kompanio Ultra and
> Genio Pro 5100 (MT8196/MT8894), add support for multi-stage layers
> as in newer hardware, there is a special strategy using multiple
> hardware components of one (or multiple) display controller(s) to
> form one single layer.
> 
> Multi-stage layers are one more step towards extra flexibility of
> the Display Subsystem, making it possible to change capabilities
> of Display Controller Pipelines depending on the final application
> of a board: for example, one board may choose to use fewer layers
> per pipeline to achieve more pipelines (more concurrent outputs),
> or more layers to achieve less, but more capable (as in offloading
> and in achievable bandwidth) concurrent outputs.
> 
> This currently adds boilerplate to support this hardware, but does
> not yet implement the IP-specific support for MT8196/8894, which
> will be done after all preparation is done.

Could you add mt8196 support based on original layer architecture first then introduce this multi-stage architecture?
This series is so large and I would like to break it into multiple series.
For other upstreamed SoC, the hardware also has some flexibility to route display pipeline,
but we still implement the fixed pipeline first.
This suggestion just want to simplify the review process.

> 
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---

[snip]

> +static void mtk_crtc_config_layer(struct mtk_crtc *mtk_crtc,
> +				  struct mtk_plane_state *plane_state,
> +				  int layer_num, struct cmdq_pkt *cmdq_pkt)
> +{
> +	u8 *layer_stages = mtk_crtc->hwlayers[layer_num].layer_stages;
> +	u8 i = 0;

In mtk_ddp_comp_for_plane(), it consider mt8183 main path which two component has OVL layers: OVL0 and OVL_2L0.
That crtc has 6 planes.
When calling mtk_ddp_comp_layer_config() with OVL_2L0, the layer_num would be 0 or 1 not 4 or 5.
So add this adjustment like mtk_ddp_comp_for_plane().

I would not review rest part because you may base on a wrong assumption to implement.

Regards,
CK

> +
> +	do {
> +		mtk_ddp_comp_layer_config(mtk_crtc->ddp_comp[layer_stages[i]],
> +					  layer_num, plane_state, cmdq_pkt);
> +	} while (++i < mtk_crtc->hwlayers[layer_num].layer_stages_nr);
> +
> +	return;
> +}
> +

  reply	other threads:[~2026-11-04  9:47 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-14 11:43 [PATCH v2 00/46] drm/mediatek: The Huge Restructuring and MT8196 support AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 01/46] drm/mediatek: Rename OVL format naming AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 02/46] drm/mediatek: Export OVL formats definitions and format conversion API AngeloGioacchino Del Regno
2026-08-28  8:52   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 03/46] drm/mediatek: Export OVL Blend function AngeloGioacchino Del Regno
2026-08-28  9:04   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 04/46] drm/mediatek: Move mtk_ddp_comp_type enumeration to mtk-mmsys.h AngeloGioacchino Del Regno
2026-08-28  9:15   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 05/46] drm/mediatek: Add missing component types in mtk_ddp_comp_type AngeloGioacchino Del Regno
2026-08-28  9:18   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 06/46] drm/mediatek: Rename all display component type to have DISP_ prefix AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 07/46] drm/mediatek: Use hashtable for components discovery and registration AngeloGioacchino Del Regno
2026-10-27  7:42   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 08/46] drm/mediatek: ddp_comp: Move internal component register in function AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 09/46] drm/mediatek: De-duplicate internal component checks AngeloGioacchino Del Regno
2026-10-27  7:54   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 10/46] drm/mediatek: Introduce and use path/comp definition structures AngeloGioacchino Del Regno
2026-10-28  7:04   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 11/46] drm/mediatek: Create new mtk_drm_legacy and move deprecated code AngeloGioacchino Del Regno
2026-10-28  8:23   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 12/46] dt-bindings: soc: mediatek: mutex: Allow #trigger-source-cells AngeloGioacchino Del Regno
2026-07-22 15:45   ` Rob Herring
2026-07-22 16:39     ` AngeloGioacchino Del Regno
2026-07-22 15:46   ` Rob Herring (Arm)
2026-10-28  8:33   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 13/46] dt-bindings: display: mediatek: Allow trigger-sources on relevant HW AngeloGioacchino Del Regno
2026-10-28  8:35   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 14/46] drm/mediatek: Add support for MuteX trigger-sources parsing AngeloGioacchino Del Regno
2026-10-29  6:52   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 15/46] drm/mediatek: ovl_adaptor: Add special MERGE component check AngeloGioacchino Del Regno
2026-11-03  8:04   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 16/46] drm/mediatek: mtk_hdmi_v2: Don't warn on RPM active during detach AngeloGioacchino Del Regno
2026-11-04  5:57   ` CK Hu (胡俊光)
2026-07-14 11:43 ` [PATCH v2 17/46] drm/mediatek: Add support for hardware multi-stage layers AngeloGioacchino Del Regno
2026-11-04  9:46   ` CK Hu (胡俊光) [this message]
2026-11-04 10:19     ` AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 18/46] drm/mediatek: mtk_crtc: Complete documentation for struct mtk_crtc AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 19/46] drm/mediatek: mtk_crtc: Minimize spinlocked time in cmdq callback AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 20/46] drm/mediatek: mtk_crtc: Dynamically find vblank/cfg component indices AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 21/46] soc: mediatek: mtk-mutex: Add new functions to add/remove triggers AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 22/46] soc: mediatek: mtk-mmsys: Migrate to new Multimedia DDP HW indexing AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 23/46] drm/mediatek: Fully migrate to new Display Controller " AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 24/46] drm/mediatek: mtk_dpi: Pass parameters with new mtk_dpi_sync structure AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 25/46] drm/mediatek: mtk_dpi: Fully separate HW setup from common code AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 26/46] drm/mediatek: Create new mtk_dpi_common lib and move mtk_dpi code AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 27/46] dt-bindings: display: mediatek: Introduce Digital Video Output HW AngeloGioacchino Del Regno
2026-07-22 16:40   ` Rob Herring
2026-07-14 11:43 ` [PATCH v2 28/46] drm/mediatek: Add support for MediaTek Digital Video Output (DVO) AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 29/46] drm/mediatek: Pass mtk_ddp_comp in clk and config callbacks AngeloGioacchino Del Regno
2026-07-14 11:43 ` [PATCH v2 30/46] dt-bindings: display: mediatek: Introduce MT8196 Layer Blender AngeloGioacchino Del Regno
2026-07-22 16:42   ` Rob Herring
2026-07-14 11:43 ` [PATCH v2 31/46] drm/mediatek: Add support for Display Layer Blender component AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 32/46] dt-bindings: display: mediatek: Introduce MT8196 extended DMA Engine AngeloGioacchino Del Regno
2026-07-22 16:43   ` Rob Herring
2026-07-14 11:44 ` [PATCH v2 33/46] drm/mediatek: Add support for Display Controller exDMA component AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 34/46] dt-bindings: display: mediatek: Introduce MT8196 Output Processor AngeloGioacchino Del Regno
2026-07-22 16:45   ` Rob Herring
2026-07-14 11:44 ` [PATCH v2 35/46] drm/mediatek: Add support for Display Output Processor component AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 36/46] drm/mediatek: mtk_crtc: Dynamically find suitable CRTC DMA device AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 37/46] drm/mediatek: Prepare path builder for multi-controller architecture AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 38/46] drm/mediatek: Enable bring-up of multi-controller CRTC paths AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 39/46] drm/mediatek: Introduce MediaTek Asynchronous DirectLink Controller AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 40/46] drm/mediatek: Support registering disp controller device subnodes AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 41/46] soc: mediatek: mtk-mmsys: Populate multimedia subsystem subdevices AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 42/46] dt-bindings: display: mediatek: Introduce MT8196 2D Sharpness Processor AngeloGioacchino Del Regno
2026-07-28 13:40   ` Rob Herring
2026-07-28 13:49     ` AngeloGioacchino Del Regno
2026-08-04 18:19       ` Rob Herring
2026-08-05  3:48         ` Chen-Yu Tsai
2026-07-14 11:44 ` [PATCH v2 43/46] drm/mediatek: Add Two-Dimension Sharpness Processor (TDSHP) driver AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 44/46] dt-bindings: display: mediatek: Introduce MT8196 Image Resizer AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 45/46] drm/mediatek: Add support for Display Image Resizer (Scaler) AngeloGioacchino Del Regno
2026-07-14 11:44 ` [PATCH v2 46/46] drm/mediatek: mtk_drm_drv: Fail init only if all paths are invalid AngeloGioacchino Del Regno

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=10e114d1f682a24e5eeb29ef03980762fb9712ba.camel@mediatek.com \
    --to=ck.hu@mediatek.com \
    --cc=Jason-JH.Lin@mediatek.com \
    --cc=Justin.Yeh@mediatek.com \
    --cc=airlied@gmail.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=chunkuang.hu@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kernel@collabora.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=matthias.bgg@gmail.com \
    --cc=mripard@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@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

all inboxes | Powered by JetHome®