:: RootR ::  Hosting Order Map Login   Secure Inter-Network Operations  
 
struct_dma_buf_ops(9) - phpMan

Command: man perldoc info search(apropos)  


STRUCT DMA_BUF_OPS(9)             Device drivers infrastructure             STRUCT DMA_BUF_OPS(9)



NAME
       struct_dma_buf_ops - operations possible on struct dma_buf

SYNOPSIS
       struct dma_buf_ops {
         int (* attach) (struct dma_buf *, struct device *,struct dma_buf_attachment *);
         void (* detach) (struct dma_buf *, struct dma_buf_attachment *);
         struct sg_table * (* map_dma_buf) (struct dma_buf_attachment *,enum dma_data_direction);
         void (* unmap_dma_buf) (struct dma_buf_attachment *,struct sg_table *,enum dma_data_direction);
         void (* release) (struct dma_buf *);
         int (* begin_cpu_access) (struct dma_buf *, enum dma_data_direction);
         int (* end_cpu_access) (struct dma_buf *, enum dma_data_direction);
         void *(* kmap_atomic) (struct dma_buf *, unsigned long);
         void (* kunmap_atomic) (struct dma_buf *, unsigned long, void *);
         void *(* kmap) (struct dma_buf *, unsigned long);
         void (* kunmap) (struct dma_buf *, unsigned long, void *);
         int (* mmap) (struct dma_buf *, struct vm_area_struct *vma);
         void *(* vmap) (struct dma_buf *);
         void (* vunmap) (struct dma_buf *, void *vaddr);
       };

MEMBERS
       attach
           [optional] allows different devices to 'attach' themselves to the given buffer. It
           might return -EBUSY to signal that backing storage is already allocated and
           incompatible with the requirements of requesting device.

       detach
           [optional] detach a given device from this buffer.

       map_dma_buf
           returns list of scatter pages allocated, increases usecount of the buffer. Requires
           atleast one attach to be called before. Returned sg list should already be mapped into
           _device_ address space. This call may sleep. May also return -EINTR. Should return
           -EINVAL if attach hasn't been called yet.

       unmap_dma_buf
           decreases usecount of buffer, might deallocate scatter pages.

       release
           release this buffer; to be called after the last dma_buf_put.

       begin_cpu_access
           [optional] called before cpu access to invalidate cpu caches and allocate backing
           storage (if not yet done) respectively pin the object into memory.

       end_cpu_access
           [optional] called after cpu access to flush caches.

       kmap_atomic
           maps a page from the buffer into kernel address space, users may not block until the
           subsequent unmap call. This callback must not sleep.

       kunmap_atomic
           [optional] unmaps a atomically mapped page from the buffer. This Callback must not
           sleep.

       kmap
           maps a page from the buffer into kernel address space.

       kunmap
           [optional] unmaps a page from the buffer.

       mmap
           used to expose the backing storage to userspace. Note that the mapping needs to be
           coherent - if the exporter doesn't directly support this, it needs to fake coherency
           by shooting down any ptes when transitioning away from the cpu domain.

       vmap
           [optional] creates a virtual mapping for the buffer into kernel address space. Same
           restrictions as for vmap and friends apply.

       vunmap
           [optional] unmaps a vmap from the buffer

COPYRIGHT
Kernel Hackers Manual 4.8.                 January 2017                     STRUCT DMA_BUF_OPS(9)


/man
rootr.net - man pages