I’m facing Xavier PCIe communication issue between two Xavier(Endpoint & Rootport system).
I applied both endpoint and rootport patch from the following link to increase the memory size from 64KB to 512MB.
And I followed the below procedure
- Boot EP system
- Configure and enable the PCIe endpoint mode
- Boot RP system
In endpoint side, I got the IOVM address
[ 2118.360255] pci_epf_nv_test pci_epf_nv_test.0: BAR0 RAM IOVA: 0xe0000000
But PCIe is not enumerated in the hostport side and got the EP deinit call in enpoint side
[ 160.650958] tegra-pcie-dw 141a0000.pcie_ep: EP init done [ 161.217341] tegra-pcie-dw 141a0000.pcie_ep: EP deinit done
After I disabled the PCIe ASPM in both EP and RP system, PCIe is enumerated and memory is allocated in Rootport side.
0005:01:00.0 RAM memory: NVIDIA Corporation Device 0001 Flags: fast devsel, IRQ 255 Memory at 1f40000000 (32-bit, prefetchable) [size=512M] Memory at 1c00000000 (64-bit, prefetchable) [size=128K] Memory at 1f60000000 (64-bit, non-prefetchable) [size=1M] Capabilities: <access denied>
Can you help me to understand, why we need to disable the pcie_aspm to enumerate the PCIe is both system?
And how to access the Virtual Address in user space from the EP side to read/write the data from/to the shared memory?
I also posted the Xavier PCIe 64KB shared memory issue in the following topic