Device Drivers DMA Management

dma_buf_export — Creates a new dma_buf, and associates an anon file with this buffer, so it can be exported. Also connect the allocator specific data and ops to the buffer.
dma_buf_fd — returns a file descriptor for the given dma_buf
dma_buf_get — returns the dma_buf structure related to an fd
dma_buf_put — decreases refcount of the buffer
dma_buf_attach — Add the device to dma_buf's attachments list; optionally, calls attach of dma_buf_ops to allow device-specific attach functionality
dma_buf_detach — Remove the given attachment from dmabuf's attachments list; optionally calls detach of dma_buf_ops for device-specific detach
dma_buf_map_attachment — Returns the scatterlist table of the attachment; mapped into _device_ address space. Is a wrapper for map_dma_buf of the dma_buf_ops.
dma_buf_unmap_attachment — unmaps and decreases usecount of the buffer;might deallocate the scatterlist associated. Is a wrapper for unmap_dma_buf of dma_buf_ops.
dma_alloc_from_coherent — try to allocate memory from the per-device coherent area
dma_release_from_coherent — try to free the memory allocated from per-device coherent memory pool
dmam_alloc_coherent — Managed dma_alloc_coherent
dmam_free_coherent — Managed dma_free_coherent
dmam_alloc_noncoherent — Managed dma_alloc_non_coherent
dmam_free_noncoherent — Managed dma_free_noncoherent
dmam_declare_coherent_memory — Managed dma_declare_coherent_memory
dmam_release_declared_memory — Managed dma_release_declared_memory.