DMA for PCIe of TK1

I am trying to search some information about DMA for PCIe of TK1. It seems DMA engine is only available on APH and AHB buses. For PCIe device, there is not DMA support. From pci-tegra.c, no DMA api is called. On Nvidia’s devtalk, this thread also indicates similar result.
So is it true that DMA is not possible on PCIe bus for TK1? One can only use CPU resource to transfer data on PCIe?

I really don’t think so. I would assume DMA is implicit when doing proper memory transactions over PCIe.

Can you elaborate a little bit more specifically what exactly it is that is not working right or what exactly you are trying to achieve?

@marcel.tx , for example, when memcpy_from/toio() is called in driver, will tegra k1 implicitly use DMA to transfer bytes via PCIe bus?

FPGA is connect via PCIe bus. TK1 reads/writes data from/to FPGA by memcpy_from/toio().

I guess real performant DMA over PCIe is only possible if the PCIe device (in your case the FPGA) is acting as a bus master. However, I don’t think this is any different than on a regular x86 PC.

yes, Marcel, you are right. PCIe device should be the bus master, DMA controller on it manipulates data transfer. This thread on stackoverflow also agrees with you.