I am working on a PCIe driver for a custom Xilinx FPGA based end point device.
I recently disabled SMMU by removing these 4 lines from the device tree node pcie@14160000:
#iommus = <&smmu_niso0 TEGRA_SID_NISO0_PCIE4>;
#iommu-map = <0x0 &smmu_niso0 TEGRA_SID_NISO0_PCIE4 0x1000>;
#dma-coherent;
#iommu-map-mask = <0x0>;
However, after disabling SMMU, when I get a msi interrupt from fpga, I get the following errors:
[ 99.990743] arm-smmu 12000000.iommu: Unexpected global fault, this could be serious
[ 99.998642] arm-smmu 12000000.iommu: GFSR 0x00000002, GFSYNR0 0x00000002, GFSYNR1 0x00001013, GFSYNR2 0x00000000
[ 100.011468] mc-err: vpr base=0:0, size=0, ctrl=1, override:(201803c6, b9ee11c1, 1, 0)
[ 100.019557] mc-err: (255) csw_pcie4w: MC request violates VPR requirements
[ 100.026650] mc-err: status = 0x0ff740e1; hi_addr_reg = 0x00000000 addr = 0xffffffff00
[ 100.034904] mc-err: secure: yes, access-type: write
If I re-enable SMMU, then this error goes away.
However, I need the SMMU disabled due to some other reason. How can I fix this error and keep the SMMU disabled?
I use jetson linux 35.4.1
Need help
PowerUp_log.txt (93.3 KB)