Device Drivers DMA Management

dma_buf_export_named — 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. Additionally, provide a name string for exporter; useful in debugging.
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_buf_begin_cpu_access — Must be called before accessing a dma_buf from the cpu in the kernel context. Calls begin_cpu_access to allow exporter-specific preparations. Coherency is only guaranteed in the specified range for the specified access direction.
dma_buf_end_cpu_access — Must be called after accessing a dma_buf from the cpu in the kernel context. Calls end_cpu_access to allow exporter-specific actions. Coherency is only guaranteed in the specified range for the specified access direction.
dma_buf_kmap_atomic — Map a page of the buffer object into kernel address space. The same restrictions as for kmap_atomic and friends apply.
dma_buf_kunmap_atomic — Unmap a page obtained by dma_buf_kmap_atomic.
dma_buf_kmap — Map a page of the buffer object into kernel address space. The same restrictions as for kmap and friends apply.
dma_buf_kunmap — Unmap a page obtained by dma_buf_kmap.
dma_buf_mmap — Setup up a userspace mmap with the given vma
dma_buf_vmap — Create virtual mapping for the buffer object into kernel address space. Same restrictions as for vmap and friends apply.
dma_buf_vunmap — Unmap a vmap obtained by dma_buf_vmap.
/build/linux-3.16.84//drivers/base/reservation.c — Document generation inconsistency
/build/linux-3.16.84//include/linux/reservation.h — Document generation inconsistency
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
dma_mmap_from_coherent — try to mmap the memory allocated from per-device coherent memory pool to userspace
dmam_alloc_coherent — Managed dma_alloc_coherent
dmam_free_coherent — Managed dma_free_coherent
dmam_alloc_noncoherent — Managed dma_alloc_noncoherent
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.