DMA from Jetson TX2 Local DDR to PCIe Device


Can I use Parker GPC-DMA to execute DMA from the Jetson TX2 local DDR to a PCIe device?
I assume that GPC-DMA from DDR to Reclaimable PCIe Region (0x4000:0000) works for DMA from DDR to a PCIe device.

If so, do you have any Linux driver for that purpose?


I assume that GPC-DMA from DDR to Reclaimable PCIe Region (0x4000:0000) works for DMA from DDR to a PCIe device.
Unfortunately, Parker’s GPC-DMA cannot access PCIe region in Parker. Hence, this configuration is not possible.


Thank you very much for your reply.
So, is there no way to execute DMA from Jetson’s DDR to a PCIe device?


There is no DMA available from Tegra side. If the end point has DMA, it can do system memory read/write.

Thanks. Now I understand.

Using Jetson TX2 camera we are capturing images and captured images stored in eMMC of jetson tx2. SO perform this operation i.e store of captured images, whether DMA is required, if so how to configure DMA fo that.

Our requiremnt is that DMA should do saving of captured images so that CPU will perform other operations. So how to do memcopy using DMA in jetson tx2.

Do you connect your camera hardware to TX2 over PCIe? If yes, then, most likely, camera hardware would have come with an internal DMA and the PCIe device driver of the camera hardware must already be using that DMA to dump captured images in system memory. Once you have the image data available in system memory, it can be saved to eMMC (you might need to have a userspace application to be able to sync and do all this)

FYI, if you were to use Xavier (sorry, you’d have to buy something new and more expensive for this), then this does support the Xavier being an end point (never done it myself, but it has some interesting possibilities).

On jetson tx2 development board, we configured USB in mass storage mode. Data from device to host PC is transferred using tegra-xudc usb device driver. So whether tegra-xudc uses DMA to transfer data to host. (as per TRM document of jetson tx2, dma support is there for tegra-xudc driver.)

If it is using dma, then how can we confirm that data is transferred using dma in this case? If its not using dma then how it is transferred?

Also whether MEM to MEM copy supported in jetson tx2 DMA emgine?