XenevaOS
Loading...
Searching...
No Matches
Classes
dma-buf.h File Reference
#include <linux/iosys-map.h>
#include <linux/file.h>
#include <linux/err.h>
#include <linux/scatterlist.h>
#include <linux/list.h>
#include <linux/dma-mapping.h>
#include <linux/fs.h>
#include <linux/uuid.h>
#include <linux/dma-fence.h>
#include <linux/wait.h>
#include <linux/pci-p2pdma.h>
Include dependency graph for dma-buf.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  dma_buf_ops
 
struct  dma_buf
 
struct  dma_buf::dma_buf_poll_cb_t
 
struct  dma_buf_attach_ops
 
struct  dma_buf_attachment
 
struct  dma_buf_export_info
 

: export-info name

DEFINE_DMA_BUF_EXPORT_INFO - helper macro for exporters

DEFINE_DMA_BUF_EXPORT_INFO macro defines the &struct dma_buf_export_info, zeroes it out and pre-populates exp_name in it.

#define DEFINE_DMA_BUF_EXPORT_INFO(name)
 
struct dma_buf_attachment * dma_buf_attach (struct dma_buf *dmabuf, struct device *dev)
 
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)
 
void dma_buf_detach (struct dma_buf *dmabuf, struct dma_buf_attachment *attach)
 
int dma_buf_pin (struct dma_buf_attachment *attach)
 
void dma_buf_unpin (struct dma_buf_attachment *attach)
 
struct dma_buf * dma_buf_export (const struct dma_buf_export_info *exp_info)
 
int dma_buf_fd (struct dma_buf *dmabuf, int flags)
 
struct dma_buf * dma_buf_get (int fd)
 
void dma_buf_put (struct dma_buf *dmabuf)
 
struct sg_table * dma_buf_map_attachment (struct dma_buf_attachment *, enum dma_data_direction)
 
void dma_buf_unmap_attachment (struct dma_buf_attachment *, struct sg_table *, enum dma_data_direction)
 
void dma_buf_invalidate_mappings (struct dma_buf *dma_buf)
 
bool dma_buf_attach_revocable (struct dma_buf_attachment *attach)
 
int dma_buf_begin_cpu_access (struct dma_buf *dma_buf, enum dma_data_direction dir)
 
int dma_buf_end_cpu_access (struct dma_buf *dma_buf, enum dma_data_direction dir)
 
struct sg_table * dma_buf_map_attachment_unlocked (struct dma_buf_attachment *attach, enum dma_data_direction direction)
 
void dma_buf_unmap_attachment_unlocked (struct dma_buf_attachment *attach, struct sg_table *sg_table, enum dma_data_direction direction)
 
int dma_buf_mmap (struct dma_buf *, struct vm_area_struct *, unsigned long)
 
int dma_buf_vmap (struct dma_buf *dmabuf, struct iosys_map *map)
 
void dma_buf_vunmap (struct dma_buf *dmabuf, struct iosys_map *map)
 
int dma_buf_vmap_unlocked (struct dma_buf *dmabuf, struct iosys_map *map)
 
void dma_buf_vunmap_unlocked (struct dma_buf *dmabuf, struct iosys_map *map)
 
struct dma_buf * dma_buf_iter_begin (void)
 
struct dma_buf * dma_buf_iter_next (struct dma_buf *dmbuf)
 

Detailed Description

File pointer used for sharing buffers across, and for refcounting. See dma_buf_get() and dma_buf_put().

Macro Definition Documentation

◆ DEFINE_DMA_BUF_EXPORT_INFO

#define DEFINE_DMA_BUF_EXPORT_INFO (   name)
Value:
struct dma_buf_export_info name = { .exp_name = KBUILD_MODNAME, \
.owner = THIS_MODULE }
struct drm_crtc struct drm_plane struct drm_plane const struct drm_crtc_funcs const char * name
Definition drm_crtc.h:1242
#define THIS_MODULE
Definition module.h:110
#define KBUILD_MODNAME
Definition module.h:34
Definition dma-buf.h:517

Function Documentation

◆ dma_buf_attach()

struct dma_buf_attachment * dma_buf_attach ( struct dma_buf *  dmabuf,
struct device *  dev 
)

◆ dma_buf_attach_revocable()

bool dma_buf_attach_revocable ( struct dma_buf_attachment *  attach)

◆ dma_buf_begin_cpu_access()

int dma_buf_begin_cpu_access ( struct dma_buf *  dma_buf,
enum dma_data_direction  dir 
)

◆ dma_buf_detach()

void dma_buf_detach ( struct dma_buf *  dmabuf,
struct dma_buf_attachment *  attach 
)

◆ dma_buf_dynamic_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 
)

◆ dma_buf_end_cpu_access()

int dma_buf_end_cpu_access ( struct dma_buf *  dma_buf,
enum dma_data_direction  dir 
)

◆ dma_buf_export()

struct dma_buf * dma_buf_export ( const struct dma_buf_export_info *  exp_info)

◆ dma_buf_fd()

int dma_buf_fd ( struct dma_buf *  dmabuf,
int  flags 
)

◆ dma_buf_get()

struct dma_buf * dma_buf_get ( int  fd)

◆ dma_buf_invalidate_mappings()

void dma_buf_invalidate_mappings ( struct dma_buf *  dma_buf)

◆ dma_buf_iter_begin()

struct dma_buf * dma_buf_iter_begin ( void  )

◆ dma_buf_iter_next()

struct dma_buf * dma_buf_iter_next ( struct dma_buf *  dmbuf)

◆ dma_buf_map_attachment()

struct sg_table * dma_buf_map_attachment ( struct dma_buf_attachment *  ,
enum  dma_data_direction 
)

◆ dma_buf_map_attachment_unlocked()

struct sg_table * dma_buf_map_attachment_unlocked ( struct dma_buf_attachment *  attach,
enum dma_data_direction  direction 
)

◆ dma_buf_mmap()

int dma_buf_mmap ( struct dma_buf *  ,
struct vm_area_struct *  ,
unsigned long   
)

◆ dma_buf_pin()

int dma_buf_pin ( struct dma_buf_attachment *  attach)

◆ dma_buf_put()

void dma_buf_put ( struct dma_buf *  dmabuf)

◆ dma_buf_unmap_attachment()

void dma_buf_unmap_attachment ( struct dma_buf_attachment *  ,
struct sg_table *  ,
enum  dma_data_direction 
)

◆ dma_buf_unmap_attachment_unlocked()

void dma_buf_unmap_attachment_unlocked ( struct dma_buf_attachment *  attach,
struct sg_table *  sg_table,
enum dma_data_direction  direction 
)

◆ dma_buf_unpin()

void dma_buf_unpin ( struct dma_buf_attachment *  attach)

◆ dma_buf_vmap()

int dma_buf_vmap ( struct dma_buf *  dmabuf,
struct iosys_map *  map 
)

◆ dma_buf_vmap_unlocked()

int dma_buf_vmap_unlocked ( struct dma_buf *  dmabuf,
struct iosys_map *  map 
)

◆ dma_buf_vunmap()

void dma_buf_vunmap ( struct dma_buf *  dmabuf,
struct iosys_map *  map 
)

◆ dma_buf_vunmap_unlocked()

void dma_buf_vunmap_unlocked ( struct dma_buf *  dmabuf,
struct iosys_map *  map 
)