From: Josua Mayer Date: Wed, 10 Jun 2026 11:45:23 +0000 (+0200) Subject: arm64: dts: lx2160a-rev2: avoid 32-bit pcie window system ram overlap X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de8c602d5a2180c737e55dcd3dbcbf9dcc4af292;p=thirdparty%2Flinux.git arm64: dts: lx2160a-rev2: avoid 32-bit pcie window system ram overlap A 3GB non-prefetchable PCIe bus window can overlap with inbound DMA addresses for low system RAM, so DMA transactions may be routed to a BAR on the same host bridge instead of memory. Change the 32-bit non-prefetchable PCIe window back from 3GB to 1GB on all controllers, avoiding that overlap while keeping the added 64-bit prefetchable region. This partially reverts commit 9ed301397090 ("arm64: dts: lx2160a-rev2: extend 32-bit and add 64-bit pci regions"). Fixes: 9ed301397090 ("arm64: dts: lx2160a-rev2: extend 32-bit and add 64-bit pci regions") Reported-by: Arnd Bergmann Closes: https://lore.kernel.org/r/9e6326f6-dad1-4169-a63c-e62ee5b341f2@app.fastmail.com Signed-off-by: Josua Mayer Acked-by: Arnd Bergmann Signed-off-by: Frank Li --- diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi index 3570399f9b21..3d2637fee2d3 100644 --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi @@ -17,7 +17,7 @@ ranges = /* 16-Bit IO Window */ <0x81000000 0x00 0x00000000 0x80 0x00010000 0x00 0x00010000>, /* 32-Bit - non-prefetchable */ - <0x82000000 0x00 0x40000000 0x80 0x40000000 0x00 0xc0000000>, + <0x82000000 0x00 0x40000000 0x80 0x40000000 0x00 0x40000000>, /* 64-Bit - prefetchable - 16GB */ <0xC3000000 0x84 0x00000000 0x84 0x00000000 0x04 0x00000000>; @@ -37,7 +37,7 @@ ranges = /* 16-Bit IO Window */ <0x81000000 0x00 0x00000000 0x88 0x00010000 0x00 0x00010000>, /* 32-Bit - non-prefetchable */ - <0x82000000 0x00 0x40000000 0x88 0x40000000 0x00 0xc0000000>, + <0x82000000 0x00 0x40000000 0x88 0x40000000 0x00 0x40000000>, /* 64-Bit - prefetchable - 16GB */ <0xC3000000 0x8c 0x00000000 0x8c 0x00000000 0x04 0x00000000>; @@ -57,7 +57,7 @@ ranges = /* 16-Bit IO Window */ <0x81000000 0x00 0x00000000 0x90 0x00010000 0x00 0x00010000>, /* 32-Bit - non-prefetchable */ - <0x82000000 0x00 0x40000000 0x90 0x40000000 0x00 0xc0000000>, + <0x82000000 0x00 0x40000000 0x90 0x40000000 0x00 0x40000000>, /* 64-Bit - prefetchable - 16GB */ <0xC3000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; @@ -78,7 +78,7 @@ ranges = /* 16-Bit IO Window */ <0x81000000 0x00 0x00000000 0x98 0x00010000 0x00 0x00010000>, /* 32-Bit - non-prefetchable */ - <0x82000000 0x00 0x40000000 0x98 0x40000000 0x00 0xc0000000>, + <0x82000000 0x00 0x40000000 0x98 0x40000000 0x00 0x40000000>, /* 64-Bit - prefetchable - 16GB */ <0xC3000000 0x9c 0x00000000 0x9c 0x00000000 0x04 0x00000000>; @@ -98,7 +98,7 @@ ranges = /* 16-Bit IO Window */ <0x81000000 0x00 0x00000000 0xa0 0x00010000 0x00 0x00010000>, /* 32-Bit - non-prefetchable */ - <0x82000000 0x00 0x40000000 0xa0 0x40000000 0x00 0xc0000000>, + <0x82000000 0x00 0x40000000 0xa0 0x40000000 0x00 0x40000000>, /* 64-Bit - prefetchable - 16GB */ <0xC3000000 0xa4 0x00000000 0xa4 0x00000000 0x04 0x00000000>; @@ -118,7 +118,7 @@ ranges = /* 16-Bit IO Window */ <0x81000000 0x00 0x00000000 0xa8 0x00010000 0x00 0x00010000>, /* 32-Bit - non-prefetchable */ - <0x82000000 0x00 0x40000000 0xa8 0x40000000 0x00 0xc0000000>, + <0x82000000 0x00 0x40000000 0xa8 0x40000000 0x00 0x40000000>, /* 64-Bit - prefetchable - 16GB */ <0xC3000000 0xac 0x00000000 0xac 0x00000000 0x04 0x00000000>;