From: sashiko-bot@kernel.org
To: "Varadarajan Narayanan" <varadarajan.narayanan@oss.qualcomm.com>
Cc: robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v6 01/11] arm64: dts: qcom: ipq5210: Add nodes for multiple peripherals
Date: Thu, 08 Oct 2026 09:31:54 +0000 [thread overview]
Message-ID: <sashiko-outbox-163941@kernel.org> (raw)
In-Reply-To: <20261008-08-dts-v6-1-f9c4ec8664d8@oss.qualcomm.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] arm64: dts: qcom: Inverted PCIe interconnect mapping
- [Medium] dts: pcie memory ranges mapped to child address 0x0 breaks identity mapping
--
commit 5d6163228edf9eef2412de146956df64b5bb5d49
Author: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
arm64: dts: qcom: ipq5210: Add nodes for multiple peripherals
Describe common IPQ5210 SoC peripherals in the base DTSI so board DTS files
can enable the hardware they use.
> diff --git a/arch/arm64/boot/dts/qcom/ipq5210.dtsi b/arch/arm64/boot/dts/qcom/ipq5210.dtsi
> index 20e8b240642c6..161b5bb5a7f74 100644
> --- a/arch/arm64/boot/dts/qcom/ipq5210.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq5210.dtsi
[ ... ]
> @@ -307,6 +619,287 @@ frame@b128000 {
> status = "disabled";
> };
> };
> +
> + pcie1: pcie@50000000 {
> + compatible = "qcom,pcie-ipq5210", "qcom,pcie-ipq9574";
[ ... ]
> + ranges = <0x01000000 0x0 0x0 0x0 0x50200000 0x0 0x00100000>,
> + <0x02000000 0x0 0x0 0x0 0x50300000 0x0 0x0fd00000>;
[Severity: Medium]
Does mapping the PCI outbound memory space (0x02000000) to a child address of
0x0 break identity mapping here?
This allows the Linux PCI core to allocate memory BARs starting at PCI
address 0x0 (since PCIBIOS_MIN_MEM is 0 on arm64). Many drivers evaluate a
BAR address of 0x0 as unassigned (!pci_resource_start(...)), which can lead
to failed driver probes. Furthermore, breaking identity mapping often
conflicts with bootloader expectations and endpoints that assume the PCI bus
address matches the CPU physical address.
Could the child address be set to match the parent CPU physical address
(e.g., 0x0 0x50300000) to enforce a 1:1 mapping, as is standard practice for
other Qualcomm IPQ SoCs?
[ ... ]
> + interconnects = <&gcc MASTER_CNOC_PCIE1 &gcc SLAVE_CNOC_PCIE1>,
> + <&gcc MASTER_SNOC_PCIE1 &gcc SLAVE_SNOC_PCIE1>;
> + interconnect-names = "pcie-mem", "cpu-pcie";
[Severity: Medium]
Are the interconnect-names inverted relative to the interconnects array?
The pcie-mem name is listed first, which binds it to the MASTER_CNOC_PCIE1
interconnect, while cpu-pcie binds to the MASTER_SNOC_PCIE1 interconnect.
CNOC typically governs CPU configuration accesses, while SNOC governs high
bandwidth DMA. This mismatch might cause interconnect bandwidth scaling and
power domain voting to apply to the wrong NoC paths during DMA or register
accesses.
[ ... ]
> + pcie0: pcie@70000000 {
> + compatible = "qcom,pcie-ipq5210", "qcom,pcie-ipq9574";
[ ... ]
> + ranges = <0x01000000 0x0 0x0 0x0 0x70200000 0x0 0x00100000>,
> + <0x02000000 0x0 0x0 0x0 0x70300000 0x0 0x0fd00000>;
[Severity: Medium]
Does mapping the PCI outbound memory space (0x02000000) to a child address of
0x0 break identity mapping here as well?
Similar to pcie1, mapping this to 0x0 allows the Linux PCI core to allocate
memory BARs starting at PCI address 0x0, which causes issues for drivers
checking for an unassigned BAR.
Could the child address be identical to the parent CPU physical address
(e.g., 0x0 0x70300000) to enforce a 1:1 mapping?
[ ... ]
> + interconnects = <&gcc MASTER_CNOC_PCIE0 &gcc SLAVE_CNOC_PCIE0>,
> + <&gcc MASTER_SNOC_PCIE0 &gcc SLAVE_SNOC_PCIE0>;
> + interconnect-names = "pcie-mem", "cpu-pcie";
[Severity: Medium]
Are the interconnect-names inverted relative to the interconnects array here
too?
The pcie-mem name is bound to CNOC and cpu-pcie is bound to SNOC, which
appears backwards and could lead to performance degradation or QoS failures
when NoC bandwidth scaling applies to the wrong paths.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261008-08-dts-v6-0-f9c4ec8664d8@oss.qualcomm.com?part=1
next prev parent reply other threads:[~2026-10-08 9:31 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-08 9:14 [PATCH v6 00/11] Enable mutliple peripherals in IPQ5210 Varadarajan Narayanan
2026-10-08 9:14 ` [PATCH v6 01/11] arm64: dts: qcom: ipq5210: Add nodes for multiple peripherals Varadarajan Narayanan
2026-10-08 9:31 ` sashiko-bot [this message]
2026-10-08 9:14 ` [PATCH v6 02/11] arm64: dts: qcom: ipq5210: Introduce RDP504 common DT file Varadarajan Narayanan
2026-10-08 9:21 ` sashiko-bot
2026-10-08 10:48 ` Dmitry Baryshkov
2026-10-08 9:14 ` [PATCH v6 03/11] arm64: dts: qcom: ipq5210: Introduce RDP504 NAND variant " Varadarajan Narayanan
2026-10-08 9:26 ` sashiko-bot
2026-10-08 9:14 ` [PATCH v6 04/11] arm64: dts: qcom: ipq5210: Add support for WPS button Varadarajan Narayanan
2026-10-08 9:14 ` [PATCH v6 05/11] arm64: dts: qcom: ipq5210: Add C3 CPU idle state Varadarajan Narayanan
2026-10-08 9:14 ` [PATCH v6 06/11] arm64: dts: qcom: ipq5210: Add ICE support to SDHCI Varadarajan Narayanan
2026-10-08 9:14 ` [PATCH v6 07/11] arm64: dts: qcom: ipq5210: Enable download mode support Varadarajan Narayanan
2026-10-08 9:14 ` [PATCH v6 08/11] arm64: dts: qcom: ipq5210: Enable the PWM block Varadarajan Narayanan
2026-10-08 9:14 ` [PATCH v6 09/11] arm64: dts: qcom: ipq5210: Add I2C nodes Varadarajan Narayanan
2026-10-08 9:14 ` [PATCH v6 10/11] arm64: dts: qcom: ipq5210: Add SPI node definitions Varadarajan Narayanan
2026-10-08 9:18 ` sashiko-bot
2026-10-08 9:14 ` [PATCH v6 11/11] arm64: dts: qcom: ipq5210: Add random number generator node Varadarajan Narayanan
2026-10-08 9:20 ` sashiko-bot
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-163941@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=varadarajan.narayanan@oss.qualcomm.com \
/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