struct dma_buf_ops - operations possible on struct dma_buf : [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. : [optional] detach a given device from this buffer. : 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. : decreases usecount of buffer, might deallocate scatter pages. : release this buffer; to be called after the last dma_buf_put. : [optional] called before cpu access to invalidate cpu caches and allocate backing storage (if not yet done) respectively pin the objet into memory. : [optional] called after cpu access to flush cashes. : maps a page from the buffer into kernel address space, users may not block until the subsequent unmap call. This callback must not sleep. : [optional] unmaps a atomically mapped page from the buffer. This Callback must not sleep. : maps a page from the buffer into kernel address space. : [optional] unmaps a page from the buffer. : 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. : [optional] creates a virtual mapping for the buffer into kernel address space. Same restrictions as for vmap and friends apply. : [optional] unmaps a vmap from the buffer
Definition at line 72 of file dma-buf.h.