- int dma_mmap_from_coherent(struct device * dev, struct vm_area_struct * vma, void * vaddr, size_t size, int * ret);
- device from which the memory was allocated
- vm_area for the userspace memory
- cpu address returned by dma_alloc_from_coherent
- size of the memory buffer allocated by dma_alloc_from_coherent
- result from remap_pfn_range
This checks whether the memory was allocated from the per-device coherent memory pool and if so, maps that memory to the provided vma.
Returns 1 if we correctly mapped the memory, or 0 if the caller should proceed with mapping memory from generic pools.