534#define DEFINE_DMA_BUF_EXPORT_INFO(name) \
535 struct dma_buf_export_info name = { .exp_name = KBUILD_MODNAME, \
536 .owner = THIS_MODULE }
547static inline void get_dma_buf(
struct dma_buf *dmabuf)
549 get_file(dmabuf->
file);
560static inline bool dma_buf_is_dynamic(
struct dma_buf *dmabuf)
562 return !!dmabuf->
ops->
pin;
uint8_t flags
Definition virtio.h:0
int map
Definition d_mode.c:31
int dma_buf_vmap(struct dma_buf *dmabuf, struct iosys_map *map)
int dma_buf_mmap(struct dma_buf *, struct vm_area_struct *, unsigned long)
struct dma_buf * dma_buf_get(int fd)
void dma_buf_vunmap(struct dma_buf *dmabuf, struct iosys_map *map)
struct dma_buf * dma_buf_iter_next(struct dma_buf *dmbuf)
int dma_buf_vmap_unlocked(struct dma_buf *dmabuf, struct iosys_map *map)
int dma_buf_begin_cpu_access(struct dma_buf *dma_buf, enum dma_data_direction dir)
struct dma_buf * dma_buf_iter_begin(void)
void dma_buf_detach(struct dma_buf *dmabuf, struct dma_buf_attachment *attach)
int dma_buf_end_cpu_access(struct dma_buf *dma_buf, enum dma_data_direction dir)
struct sg_table * dma_buf_map_attachment(struct dma_buf_attachment *, enum dma_data_direction)
int dma_buf_pin(struct dma_buf_attachment *attach)
void dma_buf_unmap_attachment(struct dma_buf_attachment *, struct sg_table *, enum dma_data_direction)
struct dma_buf * dma_buf_export(const struct dma_buf_export_info *exp_info)
void dma_buf_invalidate_mappings(struct dma_buf *dma_buf)
void dma_buf_put(struct dma_buf *dmabuf)
void dma_buf_unmap_attachment_unlocked(struct dma_buf_attachment *attach, struct sg_table *sg_table, enum dma_data_direction direction)
int dma_buf_fd(struct dma_buf *dmabuf, int flags)
struct sg_table * dma_buf_map_attachment_unlocked(struct dma_buf_attachment *attach, enum dma_data_direction direction)
struct dma_buf_attachment * dma_buf_attach(struct dma_buf *dmabuf, struct device *dev)
void dma_buf_unpin(struct dma_buf_attachment *attach)
struct dma_buf_attachment * dma_buf_dynamic_attach(struct dma_buf *dmabuf, struct device *dev, const struct dma_buf_attach_ops *importer_ops, void *importer_priv)
bool dma_buf_attach_revocable(struct dma_buf_attachment *attach)
void dma_buf_vunmap_unlocked(struct dma_buf *dmabuf, struct iosys_map *map)
dma_data_direction
Definition dma-direction.h:21
const struct device * dev
Definition drm_print.h:519
unsigned int __poll_t
Definition fs.h:50
int spinlock_t
Definition kernel.h:44
wait_queue_head_t * poll
Definition dma-buf.h:437
__poll_t active
Definition dma-buf.h:439
struct dma_fence_cb cb
Definition dma-buf.h:436
void(* invalidate_mappings)(struct dma_buf_attachment *attach)
Definition dma-buf.h:471
bool allow_peer2peer
Definition dma-buf.h:455
void * importer_priv
Definition dma-buf.h:500
const struct dma_buf_attach_ops * importer_ops
Definition dma-buf.h:499
bool peer2peer
Definition dma-buf.h:498
void * priv
Definition dma-buf.h:501
struct dma_buf * dmabuf
Definition dma-buf.h:495
struct device * dev
Definition dma-buf.h:496
struct list_head node
Definition dma-buf.h:497
const struct dma_buf_ops * ops
Definition dma-buf.h:520
struct dma_resv * resv
Definition dma-buf.h:523
struct module * owner
Definition dma-buf.h:519
size_t size
Definition dma-buf.h:521
int flags
Definition dma-buf.h:522
const char * exp_name
Definition dma-buf.h:518
void * priv
Definition dma-buf.h:524
void(* unmap_dma_buf)(struct dma_buf_attachment *, struct sg_table *, enum dma_data_direction)
Definition dma-buf.h:190
void(* release)(struct dma_buf *)
Definition dma-buf.h:204
int(* end_cpu_access)(struct dma_buf *, enum dma_data_direction)
Definition dma-buf.h:248
void(* detach)(struct dma_buf *, struct dma_buf_attachment *)
Definition dma-buf.h:84
int(* vmap)(struct dma_buf *dmabuf, struct iosys_map *map)
Definition dma-buf.h:287
int(* mmap)(struct dma_buf *, struct vm_area_struct *vma)
Definition dma-buf.h:285
void(* unpin)(struct dma_buf_attachment *attach)
Definition dma-buf.h:123
int(* attach)(struct dma_buf *, struct dma_buf_attachment *)
Definition dma-buf.h:73
void(* vunmap)(struct dma_buf *dmabuf, struct iosys_map *map)
Definition dma-buf.h:288
int(* begin_cpu_access)(struct dma_buf *, enum dma_data_direction)
Definition dma-buf.h:231
int(* pin)(struct dma_buf_attachment *attach)
Definition dma-buf.h:110
struct dma_resv * resv
Definition dma-buf.h:428
struct dma_buf::dma_buf_poll_cb_t cb_in
struct module * owner
Definition dma-buf.h:372
spinlock_t name_lock
Definition dma-buf.h:364
struct iosys_map vmap_ptr
Definition dma-buf.h:342
wait_queue_head_t poll
Definition dma-buf.h:431
size_t size
Definition dma-buf.h:309
struct file * file
Definition dma-buf.h:317
struct list_head attachments
Definition dma-buf.h:325
const char * exp_name
Definition dma-buf.h:349
struct dma_buf::dma_buf_poll_cb_t cb_out
struct list_head list_node
Definition dma-buf.h:375
unsigned vmapping_counter
Definition dma-buf.h:336
const char * name
Definition dma-buf.h:361
void * priv
Definition dma-buf.h:378
const struct dma_buf_ops * ops
Definition dma-buf.h:328
Definition dma-fence.h:127
Definition dma-resv.h:155
Definition iosys-map.h:109
Definition scatterlist.h:135