Name

struct dma_buf — shared buffer object

Synopsis

struct dma_buf {
  size_t size;
  struct file * file;
  struct list_head attachments;
  const struct dma_buf_ops * ops;
  struct mutex lock;
  unsigned vmapping_counter;
  void * vmap_ptr;
  const char * exp_name;
  struct module * owner;
  struct list_head list_node;
  void * priv;
  struct reservation_object * resv;
  wait_queue_head_t poll;
  struct dma_buf_poll_cb_t cb_excl;
  struct dma_buf_poll_cb_t cb_shared;
};  

Members

size

size of the buffer

file

file pointer used for sharing buffers across, and for refcounting.

attachments

list of dma_buf_attachment that denotes all devices attached.

ops

dma_buf_ops associated with this buffer object.

lock

used internally to serialize list manipulation, attach/detach and vmap/unmap

vmapping_counter

used internally to refcnt the vmaps

vmap_ptr

the current vmap ptr if vmapping_counter > 0

exp_name

name of the exporter; useful for debugging.

owner

pointer to exporter module; used for refcounting when exporter is a kernel module.

list_node

node for dma_buf accounting and debugging.

priv

exporter specific private data for this buffer object.

resv

reservation object linked to this dma-buf

poll

for userspace poll support

cb_excl

for userspace poll support

cb_shared

for userspace poll support