Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Richard Zhu" <hongxing.zhu@nxp.com>
Cc: Frank.Li@kernel.org, conor+dt@kernel.org, robh@kernel.org,
	devicetree@vger.kernel.org, imx@lists.linux.dev
Subject: Re: [PATCH v6] arm64: dts: imx95: Correct PCIe outbound address space configuration
Date: Tue, 19 May 2026 07:21:41 +0000	[thread overview]
Message-ID: <20260519072142.0D8C0C2BCB3@smtp.kernel.org> (raw)
In-Reply-To: <20260519070223.361106-1-hongxing.zhu@nxp.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Expanding the 32-bit PCIe outbound memory window to cover 3.84GB (from 0x00000000 to 0xefffffff) intercepts and blackholes inbound 32-bit DMA transactions, breaking device DMA.
--

commit d83be49665e8cce20876ad202979b5eb76f6a536
Author: Richard Zhu <hongxing.zhu@nxp.com>

arm64: dts: imx95: Correct PCIe outbound address space configuration

This commit expands the PCIe outbound memory ranges from 256MB to ~3840MB
for both pcie0 and pcie1 controllers on i.MX95. It also relocates the 1MB
I/O region to offset 0xf0000000 within each window.

> diff --git a/arch/arm64/boot/dts/freescale/imx95.dtsi b/arch/arm64/boot/dts/freescale/imx95.dtsi
> index 71394871d8dd0..074f8865eb2d3 100644
> --- a/arch/arm64/boot/dts/freescale/imx95.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx95.dtsi
> @@ -1852,8 +1852,8 @@ pcie0: pcie@4c300000 {
>  			      <0 0x4c360000 0 0x10000>,
>  			      <0 0x4c340000 0 0x4000>;
>  			reg-names = "dbi", "config", "atu", "app";
> -			ranges = <0x81000000 0x0 0x00000000 0x0 0x6ff00000 0 0x00100000>,
> -				 <0x82000000 0x0 0x10000000 0x9 0x10000000 0 0x10000000>;
> +			ranges = <0x82000000 0x0 0x00000000 0x9 0x00000000 0x0 0xf0000000>,
> +				 <0x81000000 0x0 0x00000000 0x9 0xf0000000 0x0 0x00100000>;

Will mapping this 3.84GB window into the 32-bit PCI address space intercept
inbound 32-bit DMA transactions?

Because this uses the 0x82000000 flag (32-bit memory space), it covers the
PCI address range from 0x00000000 to 0xEFFFFFFF. A Root Port will typically
not forward memory requests from the PCIe link to the system bus if the
target address falls within its programmed downstream memory base and limit.

This means inbound DMA from a PCIe endpoint using an address in this 3.84GB
range might be treated as a peer-to-peer transaction and dropped or routed
downstream, failing to reach system memory.

If the IOMMU is enabled, the PCI core will reserve this 3.84GB window in the
IOMMU allocator to prevent overlap. Will this leave only 256MB of 32-bit IOVA
space available, potentially exhausting it and breaking drivers with 32-bit
DMA masks?

Could this outbound window either be kept small, or mapped into the 64-bit PCI
address space (using the 0x83000000 flag) at an address above 4GB to preserve
the 32-bit PCI address space for inbound DMA?

[ ... ]

> @@ -1927,8 +1927,8 @@ pcie1: pcie@4c380000 {
>  			      <0 0x4c3e0000 0 0x10000>,
>  			      <0 0x4c3c0000 0 0x4000>;
>  			reg-names = "dbi", "config", "atu", "app";
> -			ranges = <0x81000000 0 0x00000000 0x8 0x8ff00000 0 0x00100000>,
> -				 <0x82000000 0 0x10000000 0xa 0x10000000 0 0x10000000>;
> +			ranges = <0x82000000 0x0 0x00000000 0xa 0x00000000 0x0 0xf0000000>,
> +				 <0x81000000 0x0 0x00000000 0xa 0xf0000000 0x0 0x00100000>;

Does the same 32-bit DMA mapping limitation apply to this pcie1 configuration
as well?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260519070223.361106-1-hongxing.zhu@nxp.com?part=1

      reply	other threads:[~2026-05-19  7:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-19  7:02 [PATCH v6] arm64: dts: imx95: Correct PCIe outbound address space configuration Richard Zhu
2026-05-19  7:21 ` sashiko-bot [this message]

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=20260519072142.0D8C0C2BCB3@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=Frank.Li@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=hongxing.zhu@nxp.com \
    --cc=imx@lists.linux.dev \
    --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