Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Manivannan Sadhasivam" <manivannan.sadhasivam@oss.qualcomm.com>
Cc: conor+dt@kernel.org, devicetree@vger.kernel.org, robh@kernel.org
Subject: Re: [PATCH 04/22] arm64: dts: qcom: sc8180x: Fix the PCIe iommu-map entries
Date: Thu, 30 Jul 2026 12:11:21 +0000	[thread overview]
Message-ID: <20260730121121.6EA651F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260730-iommu-map-fix-v1-4-83405d37ba41@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Fixing `iommu-map` to use 5 cells breaks rigid 4-cell parsing in the `pcie-qcom.c` driver, corrupting PCIe SID translation.
--

--- Patch [4]: [PATCH 04/22] arm64: dts: qcom: sc8180x: Fix the PCIe iommu-map entries ---
commit 2707161425e0efca5af00d7a068414771d8112e9
Author: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>

arm64: dts: qcom: sc8180x: Fix the PCIe iommu-map entries

This commit fixes the PCIe iommu-map entries to match the apps_smmu
provider's #iommu-cells = <2> property. It adds the missing SID mask cell to
prevent warnings from the OF core about 1-cell entries targeting 2-cell
outputs.

> diff --git a/arch/arm64/boot/dts/qcom/sc8180x.dtsi b/arch/arm64/boot/dts/qcom/sc8180x.dtsi
> --- a/arch/arm64/boot/dts/qcom/sc8180x.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8180x.dtsi
> @@ -1767,8 +1767,8 @@ pcie0: pcie@1c00000 {
>  			assigned-clocks = <&gcc GCC_PCIE_0_AUX_CLK>;
>  			assigned-clock-rates = <19200000>;
>  
> -			iommu-map = <0x0   &apps_smmu 0x1d80 0x1>,
> -				    <0x100 &apps_smmu 0x1d81 0x1>;
> +			iommu-map = <0x0   &apps_smmu 0x1d80 0x0 0x1>,
> +				    <0x100 &apps_smmu 0x1d81 0x0 0x1>;

[Severity: High]
Does this change break the manual iommu-map parsing in the PCIe driver?

Looking at qcom_pcie_config_sid_1_9_0() in
drivers/pci/controller/dwc/pcie-qcom.c, the driver assumes a rigid 4-cell
length for iommu-map entries:

drivers/pci/controller/dwc/pcie-qcom.c:qcom_pcie_config_sid_1_9_0() {
    ...
	struct {
		u32 bdf;
		u32 phandle;
		u32 smmu_sid;
		u32 smmu_sid_len;
	} *map;
    ...
	of_property_read_u32_array(dev->of_node, "iommu-map", (u32 *)map,
				   size / sizeof(u32));
    ...
}

By increasing the iommu-map property to 5 cells per entry, will this misalign
the array when the driver parses multiple entries?

For the second entry here, map[1].bdf would read the 5th cell of the first
entry (length), map[1].phandle would read the BDF of the second entry, and
map[1].smmu_sid would read the phandle pointer.

Does this corrupt the SID translation and lead to IOMMU faults for downstream
PCIe endpoints?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260730-iommu-map-fix-v1-0-83405d37ba41@oss.qualcomm.com?part=4

  reply	other threads:[~2026-07-30 12:11 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-30 11:55 [PATCH 00/22] arm64: dts: qcom: Fix the PCIe iommu-map entries Manivannan Sadhasivam via B4 Relay
2026-07-30 11:55 ` [PATCH 01/22] arm64: dts: qcom: kaanapali: " Manivannan Sadhasivam via B4 Relay
2026-07-30 11:55 ` [PATCH 02/22] arm64: dts: qcom: kodiak: " Manivannan Sadhasivam via B4 Relay
2026-07-30 12:08   ` sashiko-bot
2026-07-30 11:55 ` [PATCH 03/22] arm64: dts: qcom: sar2130p: " Manivannan Sadhasivam via B4 Relay
2026-07-30 11:55 ` [PATCH 04/22] arm64: dts: qcom: sc8180x: " Manivannan Sadhasivam via B4 Relay
2026-07-30 12:11   ` sashiko-bot [this message]
2026-07-30 11:55 ` [PATCH 05/22] arm64: dts: qcom: sdm845: " Manivannan Sadhasivam via B4 Relay
2026-07-30 11:55 ` [PATCH 06/22] arm64: dts: qcom: sm8150: " Manivannan Sadhasivam via B4 Relay
2026-07-30 11:55 ` [PATCH 07/22] arm64: dts: qcom: sm8250: " Manivannan Sadhasivam via B4 Relay
2026-07-30 12:06   ` sashiko-bot
2026-07-30 11:55 ` [PATCH 08/22] arm64: dts: qcom: sm8350: " Manivannan Sadhasivam via B4 Relay
2026-07-30 11:55 ` [PATCH 09/22] arm64: dts: qcom: sm8450: " Manivannan Sadhasivam via B4 Relay
2026-07-30 12:04   ` sashiko-bot
2026-07-30 11:55 ` [PATCH 10/22] arm64: dts: qcom: sm8550: " Manivannan Sadhasivam via B4 Relay
2026-07-30 13:39   ` Neil Armstrong
2026-07-30 11:55 ` [PATCH 11/22] arm64: dts: qcom: sm8650: " Manivannan Sadhasivam via B4 Relay
2026-07-30 13:39   ` Neil Armstrong
2026-07-30 11:55 ` [PATCH 12/22] arm64: dts: qcom: sm8750: " Manivannan Sadhasivam via B4 Relay
2026-07-30 11:55 ` [PATCH 13/22] arm64: dts: qcom: talos: " Manivannan Sadhasivam via B4 Relay
2026-07-30 12:07   ` sashiko-bot
2026-07-30 11:55 ` [PATCH 14/22] arm64: dts: qcom: lemans: " Manivannan Sadhasivam via B4 Relay
2026-07-30 11:55 ` [PATCH 15/22] arm64: dts: qcom: monaco: " Manivannan Sadhasivam via B4 Relay
2026-07-30 12:25   ` sashiko-bot
2026-07-30 11:55 ` [PATCH 16/22] arm64: dts: qcom: monaco-monza-som: " Manivannan Sadhasivam via B4 Relay
2026-07-30 11:55 ` [PATCH 17/22] arm64: dts: qcom: monaco-evk-ifp-mezzanine: " Manivannan Sadhasivam via B4 Relay
2026-07-30 12:09   ` sashiko-bot
2026-07-30 11:55 ` [PATCH 18/22] arm64: dts: qcom: lemans-evk-ifp-mezzanine: " Manivannan Sadhasivam via B4 Relay
2026-07-30 11:56 ` [PATCH 19/22] arm64: dts: qcom: qcs6490-radxa-dragon-q6a: " Manivannan Sadhasivam via B4 Relay
2026-07-30 11:56 ` [PATCH 20/22] arm64: dts: qcom: qcs6490-thundercomm-minipc-g1iot: " Manivannan Sadhasivam via B4 Relay
2026-07-30 12:29   ` sashiko-bot
2026-07-30 11:56 ` [PATCH 21/22] arm64: dts: qcom: qcs6490-rb3gen2: " Manivannan Sadhasivam via B4 Relay
2026-07-30 12:12   ` sashiko-bot
2026-07-30 11:56 ` [PATCH 22/22] arm64: dts: qcom: qcs6490-rb3gen2-industrial-mezzanine: " Manivannan Sadhasivam via B4 Relay
2026-07-30 12:23 ` [PATCH 00/22] arm64: dts: qcom: " Dmitry Baryshkov
2026-07-30 12:46 ` 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=20260730121121.6EA651F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=manivannan.sadhasivam@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox