All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Dmitry Baryshkov" <dmitry.baryshkov@oss.qualcomm.com>
Cc: devicetree@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH 1/8] dt-bindings: interconnect: add Qualcomm MSM8998 NoC
Date: Mon, 19 Oct 2026 15:36:42 +0000	[thread overview]
Message-ID: <sashiko-outbox-177768@kernel.org> (raw)
In-Reply-To: <20261019-msm8998-icc-v1-1-c2da3934b6c8@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [Medium] dt-bindings: interconnect: qcom,msm8998: require clocks for clocked NoCs
- [Medium] dt-bindings: interconnect: qcom,msm8998: disallow reg on mnoc-ahb child
- [Low] dt-bindings: interconnect: qcom,msm8998: require compatible on mnoc-ahb
--

commit 2b1f68f1df36a65ddbb7510a13783218c56291b7
Author: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>

dt-bindings: interconnect: add Qualcomm MSM8998 NoC

This patch adds the YAML device tree binding schema and header definitions
for the eight Qualcomm MSM8998 Network-On-Chip interconnect providers.

> diff --git a/Documentation/devicetree/bindings/interconnect/qcom,msm8998.yaml b/Documentation/devicetree/bindings/interconnect/qcom,msm8998.yaml
> new file mode 100644
> index 0000000000000..0a05dc620cfd4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/interconnect/qcom,msm8998.yaml
> @@ -0,0 +1,192 @@

[ ... ]

> +  - if:
> +      properties:
> +        compatible:
> +          const: qcom,msm8998-mnoc
> +
> +    then:
> +      properties:
> +        clocks:
> +          items:
> +            - description: CPU-NoC High-performance Bus Clock
> +            - description: MMSS NoC AXI Clock
> +
> +        clock-names:
> +          items:
> +            - const: iface
> +            - const: mnoc_bus
> +
> +        interconnect-mnoc-ahb:
> +          type: object
> +          additionalProperties: true
> +
> +          properties:
> +            compatible:
> +              const: qcom,msm8998-mnoc-ahb

[Severity: Low]
Should compatible be listed under required for the interconnect-mnoc-ahb
subschema here?

Because interconnect-mnoc-ahb sets additionalProperties: true and relies on
the top-level schema matching on compatible to validate the child node, an
interconnect-mnoc-ahb child node that omits compatible will pass validation
without its properties being checked, and will fail to bind a driver when
populated by devm_of_platform_populate() in qnoc_probe().

> +
> +  - if:
> +      properties:
> +        compatible:
> +          const: qcom,msm8998-mnoc-ahb
> +
> +    then:
> +      description:
> +        The MMSS AHB NoC shares its register space with the MMSS NoC, so it is
> +        described as a child of the latter and has no register range of its own.
> +
> +      properties:
> +        clocks:
> +          items:
> +            - description: MMSS AHB Clock
> +
> +        clock-names:
> +          const: bus
> +
> +      required:
> +        - clocks
> +        - clock-names
> +
> +    else:
> +      required:
> +        - reg

[Severity: Medium]
Should the then branch for qcom,msm8998-mnoc-ahb also set reg: false under
properties?

Since reg is defined at the top level of the schema, unevaluatedProperties:
false still allows reg to be present on a qcom,msm8998-mnoc-ahb child node.

In drivers/interconnect/qcom/icc-rpm.c:qnoc_probe(), the child device only
inherits its parent's regmap when IORESOURCE_MEM is absent:

	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (!res) {
		/* Try parent's regmap */
		qp->regmap = dev_get_regmap(dev->parent, NULL);
		if (qp->regmap)
			goto regmap_done;
		return -ENODEV;
	}

If a child node specifies reg, schema validation passes, but qnoc_probe()
attempts to claim and ioremap the memory resource instead of inheriting the
parent's regmap.

> +
> +  - if:
> +      properties:
> +        compatible:
> +          enum:
> +            - qcom,msm8998-bimc
> +            - qcom,msm8998-gnoc
> +
> +    then:
> +      properties:
> +        clocks: false
> +        clock-names: false

[Severity: Medium]
Should clocks and clock-names be required for all compatibles other than
qcom,msm8998-bimc and qcom,msm8998-gnoc (for instance, in an else branch
here instead of only under qcom,msm8998-mnoc-ahb)?

Currently, required: [clocks, clock-names] is only specified for
qcom,msm8998-mnoc-ahb. Nodes using qcom,msm8998-a1noc, qcom,msm8998-a2noc,
qcom,msm8998-cnoc, qcom,msm8998-mnoc, or qcom,msm8998-snoc without clocks or
clock-names will pass schema validation, but fail probe in
drivers/interconnect/qcom/icc-rpm.c:qnoc_probe():

	ret = devm_clk_bulk_get(dev, qp->num_intf_clks, qp->intf_clks);
	if (ret)
		goto err_disable_unprepare_clk;

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261019-msm8998-icc-v1-0-c2da3934b6c8@oss.qualcomm.com?part=1

  reply	other threads:[~2026-10-19 15:36 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-19 14:12 [PATCH 0/8] interconnect: qcom: implement support for MSM8998 Dmitry Baryshkov
2026-10-19 14:12 ` [PATCH 1/8] dt-bindings: interconnect: add Qualcomm MSM8998 NoC Dmitry Baryshkov
2026-10-19 15:36   ` sashiko-bot [this message]
2026-10-20  8:24   ` Krzysztof Kozlowski
2026-10-20 10:25     ` Dmitry Baryshkov
2026-10-19 14:12 ` [PATCH 2/8] soc: qcom: smd-rpm: Handle zero-length errors Dmitry Baryshkov
2026-10-19 14:12 ` [PATCH 3/8] interconnect: qcom: icc-rpm: depopulate SMD RPM child NoCs Dmitry Baryshkov
2026-10-19 15:41   ` sashiko-bot
2026-10-19 14:12 ` [PATCH 4/8] interconnect: qcom: icc-rpm: skip duplicate SMD RPM node votes Dmitry Baryshkov
2026-10-19 14:12 ` [PATCH 5/8] interconnect: qcom: icc-rpm: Allow negative QoS offset Dmitry Baryshkov
2026-10-19 15:46   ` sashiko-bot
2026-10-19 14:12 ` [PATCH 6/8] interconnect: qcom: add MSM8998 interconnect provider Dmitry Baryshkov
2026-10-19 14:12 ` [PATCH 7/8] arm64: dts: qcom: msm8998: add interconnect provider nodes Dmitry Baryshkov
2026-10-20  7:11   ` Konrad Dybcio
2026-10-19 14:12 ` [PATCH 8/8] arm64: dts: qcom: msm8998: wire up interconnect paths Dmitry Baryshkov
2026-10-19 16:08   ` sashiko-bot
2026-10-20  7:16   ` Konrad Dybcio

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=sashiko-outbox-177768@kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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.