AnsweredAssumed Answered

LS1021A: DMA memory allocation for PCIe Device

Question asked by Tarek El-Sherbiny on Sep 13, 2016

In a Linux kernel module I'm using dma_alloc_coherent() to allocate memory for a PCI device to DMA data into the ARM DDR.

I have noticed that the kernel virtual address and dma_handle returned by this function are always the same.


Does this mean SMMU2 and MMU are using the same table or SMMU2 is disabled in Linux? 


Also do I need to set the DMA mask to 32 " DMA_BIT_MASK(32)"  for PCIe device or something else?


Do I need to configure the iATU inbound for the DMA to work or just the outbound Linux default configuration is enough?