]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: tegra: Fix aspm-l1-entry-delay-ns L1 latency cells
authorManikanta Maddireddy <mmaddireddy@nvidia.com>
Fri, 15 May 2026 07:07:53 +0000 (12:37 +0530)
committerThierry Reding <treding@nvidia.com>
Thu, 28 May 2026 21:39:59 +0000 (23:39 +0200)
The Tegra194 PCIe driver converts aspm-l1-entry-delay-ns to whole ms
with ceiling division, then derives the Synopsys DesignWare PORT_AFR L1
entrance latency encoding as min(order_base_2(us), 7).

The nanosecond values from the Fixes tag below round up to 4, 8, and 16 us,
selecting PORT_AFR L1 entrance latency codes 2, 3, and 4 respectively.
Raise the programmed latency so the PORT_AFR codes are 3 / 4 / 5
(8 / 16 / 32 us buckets) instead of 2 / 3 / 4 (4 / 8 / 16 us).

- tegra194.dtsi: 4000 -> 8000 ns (all listed controllers)
- tegra234.dtsi: 8000 -> 16000 ns (Root Port), 16000 -> 32000 ns (Endpoint)

Fixes: d60ed99f1c9e ("arm64: tegra: Add aspm-l1-entry-delay-ns to PCIe nodes")
Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
arch/arm64/boot/dts/nvidia/tegra194.dtsi
arch/arm64/boot/dts/nvidia/tegra234.dtsi

index 1d659454a6f9feea0436c54f95b1f933da82a87d..7bbf0e892724d4d21c7e92f0fde2c6004a17e96a 100644 (file)
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <4000>;
+                       aspm-l1-entry-delay-ns = <8000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <4000>;
+                       aspm-l1-entry-delay-ns = <8000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <4000>;
+                       aspm-l1-entry-delay-ns = <8000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <4000>;
+                       aspm-l1-entry-delay-ns = <8000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <4000>;
+                       aspm-l1-entry-delay-ns = <8000>;
 
                        interconnects = <&mc TEGRA194_MEMORY_CLIENT_PCIE4R &emc>,
                                        <&mc TEGRA194_MEMORY_CLIENT_PCIE4W &emc>;
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <4000>;
+                       aspm-l1-entry-delay-ns = <8000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <4000>;
+                       aspm-l1-entry-delay-ns = <8000>;
 
                        interconnects = <&mc TEGRA194_MEMORY_CLIENT_PCIE0R &emc>,
                                        <&mc TEGRA194_MEMORY_CLIENT_PCIE0W &emc>;
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <4000>;
+                       aspm-l1-entry-delay-ns = <8000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <4000>;
+                       aspm-l1-entry-delay-ns = <8000>;
 
                        interconnects = <&mc TEGRA194_MEMORY_CLIENT_PCIE5R &emc>,
                                        <&mc TEGRA194_MEMORY_CLIENT_PCIE5W &emc>;
index 75bb9a0ad0279cc483a5ba5db80ccac68d82ae89..8e0c51e496e20d6510f0224b2486d7081c04b6bf 100644 (file)
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <16000>;
+                       aspm-l1-entry-delay-ns = <32000>;
 
                        interconnects = <&mc TEGRA234_MEMORY_CLIENT_PCIE10AR &emc>,
                                        <&mc TEGRA234_MEMORY_CLIENT_PCIE10AW &emc>;
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <16000>;
+                       aspm-l1-entry-delay-ns = <32000>;
 
                        interconnects = <&mc TEGRA234_MEMORY_CLIENT_PCIE4R &emc>,
                                      <&mc TEGRA234_MEMORY_CLIENT_PCIE4W &emc>;
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <16000>;
+                       aspm-l1-entry-delay-ns = <32000>;
 
                        interconnects = <&mc TEGRA234_MEMORY_CLIENT_PCIE5R &emc>,
                                        <&mc TEGRA234_MEMORY_CLIENT_PCIE5W &emc>;
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <16000>;
+                       aspm-l1-entry-delay-ns = <32000>;
 
                        interconnects = <&mc TEGRA234_MEMORY_CLIENT_PCIE6AR &emc>,
                                        <&mc TEGRA234_MEMORY_CLIENT_PCIE6AW &emc>;
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <8000>;
+                       aspm-l1-entry-delay-ns = <16000>;
 
                        bus-range = <0x0 0xff>;
 
                        nvidia,aspm-cmrt-us = <60>;
                        nvidia,aspm-pwr-on-t-us = <20>;
                        nvidia,aspm-l0s-entrance-latency-us = <3>;
-                       aspm-l1-entry-delay-ns = <16000>;
+                       aspm-l1-entry-delay-ns = <32000>;
 
                        interconnects = <&mc TEGRA234_MEMORY_CLIENT_PCIE7AR &emc>,
                                        <&mc TEGRA234_MEMORY_CLIENT_PCIE7AW &emc>;