1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-15 04:42:02 +00:00
openmptcprouter/root/target/linux/bcm27xx/patches-5.15/950-0715-dtoverlay-Reduce-size-of-PCIE-IB-window-in-pcie-32-d.patch
Ycarus (Yannick Chabanois) 07d07219be Update bcm27xx 5.15 patches
2022-04-22 17:00:47 +02:00

51 lines
1.5 KiB
Diff

From 4612495fdf28d10224c4f713626a480e99e7f5da Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Thu, 3 Feb 2022 11:17:16 +0000
Subject: [PATCH 715/828] dtoverlay: Reduce size of PCIE IB window in
pcie-32-dma overlay
The PCIE inbound window is rounded up to a power of 2, so the default
of 3GB rounds up to 4GB starting at 0. This prohibits the MSI vector
sitting at 0x0_fffffffc, and causes warnings from some subsystems
(eg ahci) of a 64bit address on a 32bit configuration.
Reduce the window down to 2GB to avoid this issue.
https://github.com/raspberrypi/linux/issues/4848
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
.../dts/overlays/pcie-32bit-dma-overlay.dts | 20 +++++++++++++++++++
1 file changed, 20 insertions(+)
--- a/arch/arm/boot/dts/overlays/pcie-32bit-dma-overlay.dts
+++ b/arch/arm/boot/dts/overlays/pcie-32bit-dma-overlay.dts
@@ -11,8 +11,28 @@
fragment@0 {
target-path = "/aliases";
__overlay__ {
+ /*
+ * Removing this alias stops the firmware patching the
+ * PCIE DT dma-ranges based on the detected chip
+ * revision.
+ */
pcie0 = "";
};
};
+ fragment@1 {
+ target = <&pcie0>;
+ __overlay__ {
+ /*
+ * The size of the range is rounded up to a power of 2,
+ * so the range ends up being 0-4GB, and the MSI vector
+ * gets pushed beyond 4GB.
+ */
+ #address-cells = <3>;
+ #size-cells = <2>;
+ dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000
+ 0x0 0x80000000>;
+ };
+ };
+
};