All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Cody Kang" <codykang.hk@gmail.com>
Cc: neil.armstrong@linaro.org, linux-phy@lists.infradead.org,
	olteanv@gmail.com, dri-devel@lists.freedesktop.org,
	vkoul@kernel.org, robh@kernel.org, conor+dt@kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 14/17] riscv: dts: spacemit: k3: add display nodes
Date: Sat, 25 Jul 2026 05:20:10 +0000	[thread overview]
Message-ID: <20260725052010.AA5FD1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260724-k3-display-v1-14-f22a10a52867@gmail.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Cyclic DT dependency between DP controllers, their child PHY nodes, and the APMU syscon will cause a fw_devlink warning and a potential -EPROBE_DEFER deadlock.
- [Medium] Fragile array override of `syscon_apmu` clocks creates a severe maintenance hazard.
--

--- Patch [14]: [PATCH 14/17] riscv: dts: spacemit: k3: add display nodes ---
commit c12c6ab932374f52bfc3ce3d04640d8193a9bfea
Author: Cody Kang <codykang.hk@gmail.com>

riscv: dts: spacemit: k3: add display nodes

Add the SoC-level display nodes: the two Saturn DPUs, the two DP/eDP
controllers with their PHY children.

> diff --git a/arch/riscv/boot/dts/spacemit/k3-display.dtsi b/arch/riscv/boot/dts/spacemit/k3-display.dtsi
> new file mode 100644
> index 0000000000000..4892ee6acda22
> --- /dev/null
> +++ b/arch/riscv/boot/dts/spacemit/k3-display.dtsi

[ ... ]

> +	edp0: edp@cac84000 {
> +		compatible = "spacemit,k3-inno-dp";
> +		reg = <0x0 0xcac84000 0x0 0x4000>;
> +		interrupts = <132 IRQ_TYPE_LEVEL_HIGH>;
> +		clocks = <&syscon_apmu CLK_APMU_EDP0_PXCLK>, <&edp0_phy>;

[Severity: High]
Does this create a cyclical dependency that could cause a fw_devlink warning
or a permanent probe deadlock?

edp0 depends on syscon_apmu here, while syscon_apmu depends on the edp0_phy
child node below. Since edp0_phy is a child of edp0, it won't be populated
until edp0 probes. If fw_devlink breaks the cycle by dropping the edp0 ->
syscon_apmu link, edp0 will attempt to probe first, fail to get its clock, and
defer forever because it will not proceed to populate the child PHY.

> +		clock-names = "pxclk", "pll";
> +		resets = <&syscon_apmu RESET_APMU_EDP0>;
> +		phys = <&edp0_phy>;
> +		phy-names = "dp";
> +		status = "disabled";
> +
> +		edp0_phy: phy {
> +			compatible = "spacemit,k3-inno-dp-phy";
> +			#phy-cells = <0>;
> +			#clock-cells = <0>;
> +			clock-output-names = "edp0_pll_pxclk";
> +		};

[ ... ]

> +/*
> + * Feed the PHY PLL pixel clocks back in as the APMU mux parents. This lives
> + * here, not in k3.dtsi: the PHYs only exist where this file is included.
> + */
> +&syscon_apmu {
> +	clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>,
> +		 <&edp0_phy>, <&dp1_phy>;
> +	clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m",
> +		      "edp0_pll_pxclk", "edp1_pll_pxclk";

[Severity: Medium]
Will overriding the clocks property completely drop any future additions made to
the syscon_apmu node in the base k3.dtsi?

Device tree doesn't support appending to array properties, so if any new clocks
are added to the base syscon_apmu node later, this file will silently override
them and break other subsystems relying on those clocks.

> +};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260724-k3-display-v1-0-f22a10a52867@gmail.com?part=14

WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: "Cody Kang" <codykang.hk@gmail.com>
Cc: neil.armstrong@linaro.org, linux-phy@lists.infradead.org,
	olteanv@gmail.com, dri-devel@lists.freedesktop.org,
	vkoul@kernel.org, robh@kernel.org, conor+dt@kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH 14/17] riscv: dts: spacemit: k3: add display nodes
Date: Sat, 25 Jul 2026 05:20:10 +0000	[thread overview]
Message-ID: <20260725052010.AA5FD1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260724-k3-display-v1-14-f22a10a52867@gmail.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Cyclic DT dependency between DP controllers, their child PHY nodes, and the APMU syscon will cause a fw_devlink warning and a potential -EPROBE_DEFER deadlock.
- [Medium] Fragile array override of `syscon_apmu` clocks creates a severe maintenance hazard.
--

--- Patch [14]: [PATCH 14/17] riscv: dts: spacemit: k3: add display nodes ---
commit c12c6ab932374f52bfc3ce3d04640d8193a9bfea
Author: Cody Kang <codykang.hk@gmail.com>

riscv: dts: spacemit: k3: add display nodes

Add the SoC-level display nodes: the two Saturn DPUs, the two DP/eDP
controllers with their PHY children.

> diff --git a/arch/riscv/boot/dts/spacemit/k3-display.dtsi b/arch/riscv/boot/dts/spacemit/k3-display.dtsi
> new file mode 100644
> index 0000000000000..4892ee6acda22
> --- /dev/null
> +++ b/arch/riscv/boot/dts/spacemit/k3-display.dtsi

[ ... ]

> +	edp0: edp@cac84000 {
> +		compatible = "spacemit,k3-inno-dp";
> +		reg = <0x0 0xcac84000 0x0 0x4000>;
> +		interrupts = <132 IRQ_TYPE_LEVEL_HIGH>;
> +		clocks = <&syscon_apmu CLK_APMU_EDP0_PXCLK>, <&edp0_phy>;

[Severity: High]
Does this create a cyclical dependency that could cause a fw_devlink warning
or a permanent probe deadlock?

edp0 depends on syscon_apmu here, while syscon_apmu depends on the edp0_phy
child node below. Since edp0_phy is a child of edp0, it won't be populated
until edp0 probes. If fw_devlink breaks the cycle by dropping the edp0 ->
syscon_apmu link, edp0 will attempt to probe first, fail to get its clock, and
defer forever because it will not proceed to populate the child PHY.

> +		clock-names = "pxclk", "pll";
> +		resets = <&syscon_apmu RESET_APMU_EDP0>;
> +		phys = <&edp0_phy>;
> +		phy-names = "dp";
> +		status = "disabled";
> +
> +		edp0_phy: phy {
> +			compatible = "spacemit,k3-inno-dp-phy";
> +			#phy-cells = <0>;
> +			#clock-cells = <0>;
> +			clock-output-names = "edp0_pll_pxclk";
> +		};

[ ... ]

> +/*
> + * Feed the PHY PLL pixel clocks back in as the APMU mux parents. This lives
> + * here, not in k3.dtsi: the PHYs only exist where this file is included.
> + */
> +&syscon_apmu {
> +	clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>,
> +		 <&edp0_phy>, <&dp1_phy>;
> +	clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m",
> +		      "edp0_pll_pxclk", "edp1_pll_pxclk";

[Severity: Medium]
Will overriding the clocks property completely drop any future additions made to
the syscon_apmu node in the base k3.dtsi?

Device tree doesn't support appending to array properties, so if any new clocks
are added to the base syscon_apmu node later, this file will silently override
them and break other subsystems relying on those clocks.

> +};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260724-k3-display-v1-0-f22a10a52867@gmail.com?part=14

-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  reply	other threads:[~2026-07-25  5:20 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-25  3:16 [PATCH 00/17] drm/spacemit: add SpacemiT K3 display support Cody Kang
2026-07-25  3:16 ` Cody Kang
2026-07-25  3:16 ` Cody Kang
2026-07-25  3:16 ` [PATCH 01/17] dt-bindings: display: spacemit: add K3 Saturn DPU controller Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16 ` [PATCH 02/17] dt-bindings: phy: add SpacemiT K3 Innosilicon DP PHY Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16 ` [PATCH 03/17] dt-bindings: display: spacemit: add K3 Innosilicon DP/eDP controller Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16 ` [PATCH 04/17] dt-bindings: soc: spacemit: allow eDP/DP PHY PLL pixel clocks on K3 APMU Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  5:16   ` sashiko-bot
2026-07-25  5:16     ` sashiko-bot
2026-07-25  3:16 ` [PATCH 05/17] phy: spacemit: add Innosilicon DP TX PHY driver Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  5:16   ` sashiko-bot
2026-07-25  5:16     ` sashiko-bot
2026-07-25  3:16 ` [PATCH 06/17] clk: spacemit: k3: parent eDP/DP pixel clock to the PHY PLL Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16 ` [PATCH 07/17] drm/spacemit: add Saturn DPU register model Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16 ` [PATCH 08/17] drm/spacemit: add Saturn DPU core types, cmdlist and display MMU Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  5:16   ` sashiko-bot
2026-07-25  5:16     ` sashiko-bot
2026-07-25  3:16 ` [PATCH 09/17] drm/spacemit: add Saturn DPU hardware backend Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  5:22   ` sashiko-bot
2026-07-25  5:22     ` sashiko-bot
2026-07-25  3:16 ` [PATCH 10/17] drm/spacemit: add Saturn DPU KMS pipeline Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  5:18   ` sashiko-bot
2026-07-25  5:18     ` sashiko-bot
2026-07-25  3:16 ` [PATCH 11/17] drm/spacemit: add Saturn DPU DRM device driver Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  5:17   ` sashiko-bot
2026-07-25  5:17     ` sashiko-bot
2026-07-25  3:16 ` [PATCH 12/17] drm/spacemit: add Innosilicon DP/eDP controller bridge driver Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  5:20   ` sashiko-bot
2026-07-25  5:20     ` sashiko-bot
2026-07-25  3:16 ` [PATCH 13/17] MAINTAINERS: add SpacemiT K3 display driver entry Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16 ` [PATCH 14/17] riscv: dts: spacemit: k3: add display nodes Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  5:20   ` sashiko-bot [this message]
2026-07-25  5:20     ` sashiko-bot
2026-07-25  3:16 ` [PATCH 15/17] riscv: dts: spacemit: k3-pico-itx: enable the DisplayPort output Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  5:23   ` sashiko-bot
2026-07-25  5:23     ` sashiko-bot
2026-07-25  3:16 ` [PATCH 16/17] riscv: dts: spacemit: k3-com260-ifx: " Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16 ` [PATCH 17/17] riscv: defconfig: spacemit: k3: enable display driver Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  3:16   ` Cody Kang
2026-07-25  6:36 ` [PATCH 00/17] drm/spacemit: add SpacemiT K3 display support Cody Kang
2026-07-25  6:36   ` Cody Kang
2026-07-25  6:36   ` Cody Kang

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=20260725052010.AA5FD1F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=codykang.hk@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=neil.armstrong@linaro.org \
    --cc=olteanv@gmail.com \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=vkoul@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.