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?

 

Thanks

Outcomes