I’m having two Jetson Xavier boards, one is RC and another is for EP.
I’m trying initiate data transfer from EP to RC. It works fine without DMA. But when i try to transfer the data using DMA, it is not working.
Below are the steps i followed for DMA,
For the source address: I have reserved 256MB of data starting from location 0x470000000. In the driver i have ioremapped it.
Since i cannot use virtual address for DMA , i have used dma_map_single() (for 0x96000 bytes) to get the dma address and this is used as source address.
For the destination address: Similar like without DMA method, I have used pci_epc_mem_alloc_addr() and pci_epc_map_addr(). But with one change i.e here i have used the phys_addr(passed as arg to pci_epc_map_addr()) as destination address.
Am i doing anything wrong? why is it not working in DMA ?