Allocate and use DMA buffer
I have a question about DMA buffers. I am writing a device driver which should use DMA transfer from device to host PC memory. I allocate a DMA buffer with pci_alloc_consistent() for a coherent buffer allocation. Now to my question. In my device drivers read function when I initiate a DMA transfer do I have to use pci_map_single() on the DMA buffer before the transfer and then pci_umap_singel() before I copy the buffer to userspace? Or is it okey to just use the virtual and physical addresses returned by pci_alloc_consisten()?