Try to allocate memory from the per-device coherent area
int dma_alloc_from_coherent(struct device * dev, ssize_t size, dma_addr_t * dma_handle, void ** ret);
dev
device from which we allocate memory
size
size of requested memory area
dma_handle
This will be filled with the correct dma handle
ret
This pointer will be filled with the virtual address to allocated area.
This function should be only called from per-arch dma_alloc_coherent to support allocation from per-device coherent memory pools.
Returns 0 if dma_alloc_coherent should continue with allocating from generic memory areas, or !0 if dma_alloc_coherent should return ret.