Hi,
One more thing you can try is to disable iommu. By default iommu is enabled on Jetson AGX, you can disable it and check if there is perf improvement. Apply below patches and flash kernel and device tree blob.
--- a/kernel-dts/tegra194-soc/tegra194-soc-pcie.dtsi
+++ b/kernel-dts/tegra194-soc/tegra194-soc-pcie.dtsi
@@ -
867
,
13
+
867
,
6
@@
pinctrl-
0
= <&pex_rst_c5_out_state>;
pinctrl-
1
= <&clkreq_c5_bi_dir_state>;
- iommus = <&smmu TEGRA_SID_PCIE5>;
- dma-coherent;
-#
if
LINUX_VERSION >=
414
- iommu-map = <
0x0
&smmu TEGRA_SID_PCIE5
0x1000
>;
- iommu-map-mask = <
0x0
>;
-#endif
-
#interrupt-cells = <
1
>;
interrupt-map-mask = <
0
0
0
0
>;
interrupt-map = <
0
0
0
0
&intc
0
53
0x04
>;
--- a/drivers/iommu/arm-smmu-t19x.c
+++ b/drivers/iommu/arm-smmu-t19x.c
@@ -
2535
,
7
+
2535
,
10
@@
static
void
arm_smmu_device_reset(struct arm_smmu_device *smmu)
reg = readl_relaxed(ARM_SMMU_GR0_NS(smmu) + ARM_SMMU_GR0_sCR0);
/* Enable fault reporting */
- reg |= (sCR0_GFRE | sCR0_GFIE | sCR0_GCFGFRE | sCR0_GCFGFIE | sCR0_USFCFG);
+ reg |= (sCR0_GFRE | sCR0_GFIE | sCR0_GCFGFRE | sCR0_GCFGFIE);
+
+
/* Disable Unidentified stream fault reporting */
+ reg &= ~(sCR0_USFCFG);
/* Disable TLB broadcasting. */
reg |= (sCR0_VMIDPNE | sCR0_PTM);
Thanks,
Manikanta