linux-4.4.1/dma_buf_ops
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#o8dada66]
#backlinks
*説明 [#r658aab4]
-パス: [[linux-4.4.1/include/linux/dma-buf.h]]
-FIXME: これは何?
--説明
--同じ名前の「変数」もあるので非常にややこしい。
--[[linux-4.4.1/dma_buf_ops]]: dma_buf で定義されている「...
--[[linux-4.4.1/dma_buf_ops(global)]]: ION で使っている「...
-最低限、実装が必要なメンバ
--map_dma_buf
--unmap_dma_buf
--release
--kmap_atomic
--kmap
--mmap
**参考 [#vf5b7b45]
実装の一覧。
-
--[[linux-4.4.1/udl_dmabuf_ops(global)]]
--[[linux-4.4.1/i915_dmabuf_ops(global)]]
--[[linux-4.4.1/tegra_gem_prime_dmabuf_ops(global)]]
--[[linux-4.4.1/armada_gem_prime_dmabuf_ops(global)]]
--[[linux-4.4.1/drm_gem_prime_dmabuf_ops(global)]]
--[[linux-4.4.1/vmw_prime_dmabuf_ops(global)]]
--[[linux-4.4.1/omap_dmabuf_ops(global)]]
-Video For Linux 2 (V4L2)
--[[linux-4.4.1/vb2_dc_dmabuf_ops(global)]]
--[[linux-4.4.1/vb2_vmalloc_dmabuf_ops(global)]]
--[[linux-4.4.1/vb2_dma_sg_dmabuf_ops(global)]]
-Android ION
--[[linux-4.4.1/dma_buf_ops(global)]]
一覧を作る元にした検索結果。
$ grep -r 'struct dma_buf_ops' | grep =
drivers/gpu/drm/udl/udl_dmabuf.c:static struct dma_buf_o...
drivers/gpu/drm/i915/i915_gem_dmabuf.c:static const stru...
drivers/gpu/drm/tegra/gem.c:static const struct dma_buf_...
drivers/gpu/drm/armada/armada_gem.c:static const struct ...
drivers/gpu/drm/drm_prime.c:static const struct dma_buf_...
drivers/gpu/drm/vmwgfx/vmwgfx_prime.c:const struct dma_b...
drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c:static struct ...
drivers/media/v4l2-core/videobuf2-dma-contig.c:static st...
drivers/media/v4l2-core/videobuf2-vmalloc.c:static struc...
drivers/media/v4l2-core/videobuf2-dma-sg.c:static struct...
drivers/staging/android/ion/ion.c:static struct dma_buf_...
*実装 [#u4a291b9]
/**
* struct dma_buf_ops - operations possible on struct dm...
* @attach: [optional] allows different devices to 'atta...
* given buffer. It might return -EBUSY to sign...
* is already allocated and incompatible with t...
* of requesting device.
* @detach: [optional] detach a given device from this b...
* @map_dma_buf: returns list of scatter pages allocated...
* of the buffer. Requires atleast one att...
* before. Returned sg list should already...
* _device_ address space. This call may s...
* -EINTR. Should return -EINVAL if attach...
* @unmap_dma_buf: decreases usecount of buffer, might d...
* pages.
* @release: release this buffer; to be called after the...
* @begin_cpu_access: [optional] called before cpu acces...
* caches and allocate backing storag...
* respectively pin the objet into me...
* @end_cpu_access: [optional] called after cpu access t...
* @kmap_atomic: maps a page from the buffer into kernel...
* space, users may not block until the su...
* This callback must not sleep.
* @kunmap_atomic: [optional] unmaps a atomically mapped...
* This Callback must not sleep.
* @kmap: maps a page from the buffer into kernel addres...
* @kunmap: [optional] unmaps a page from the buffer.
* @mmap: used to expose the backing storage to userspac...
* mapping needs to be coherent - if the exporter...
* support this, it needs to fake coherency by sh...
* when transitioning away from the cpu domain.
* @vmap: [optional] creates a virtual mapping for the b...
* address space. Same restrictions as for vmap a...
* @vunmap: [optional] unmaps a vmap from the buffer
*/
struct dma_buf_ops {
int (*attach)(struct dma_buf *, struct device *,
struct dma_buf_attachment *);
void (*detach)(struct dma_buf *, struct dma_buf_...
-
--[[linux-4.4.1/dma_buf]]
--[[linux-4.4.1/device]]
--[[linux-4.4.1/dma_buf_attachment]]
/* For {map,unmap}_dma_buf below, any specific b...
* required should get added to device_dma_param...
* via dev->dma_params.
*/
struct sg_table * (*map_dma_buf)(struct dma_buf_...
enum dma...
void (*unmap_dma_buf)(struct dma_buf_attachment *,
struct s...
enum dma...
/* TODO: Add try_map_dma_buf version, to return ...
* if the call would block.
*/
-
--[[linux-4.4.1/dma_data_direction]]
--[[linux-4.4.1/sg_table]]
/* after final dma_buf_put() */
void (*release)(struct dma_buf *);
int (*begin_cpu_access)(struct dma_buf *, size_t...
enum dma_data_direction);
void (*end_cpu_access)(struct dma_buf *, size_t,...
enum dma_data_direction);
-
void *(*kmap_atomic)(struct dma_buf *, unsigned ...
void (*kunmap_atomic)(struct dma_buf *, unsigned...
void *(*kmap)(struct dma_buf *, unsigned long);
void (*kunmap)(struct dma_buf *, unsigned long, ...
-
int (*mmap)(struct dma_buf *, struct vm_area_str...
void *(*vmap)(struct dma_buf *);
void (*vunmap)(struct dma_buf *, void *vaddr);
-
--[[linux-4.4.1/vm_area_struct]]
};
*コメント [#uead091b]
終了行:
*参照元 [#o8dada66]
#backlinks
*説明 [#r658aab4]
-パス: [[linux-4.4.1/include/linux/dma-buf.h]]
-FIXME: これは何?
--説明
--同じ名前の「変数」もあるので非常にややこしい。
--[[linux-4.4.1/dma_buf_ops]]: dma_buf で定義されている「...
--[[linux-4.4.1/dma_buf_ops(global)]]: ION で使っている「...
-最低限、実装が必要なメンバ
--map_dma_buf
--unmap_dma_buf
--release
--kmap_atomic
--kmap
--mmap
**参考 [#vf5b7b45]
実装の一覧。
-
--[[linux-4.4.1/udl_dmabuf_ops(global)]]
--[[linux-4.4.1/i915_dmabuf_ops(global)]]
--[[linux-4.4.1/tegra_gem_prime_dmabuf_ops(global)]]
--[[linux-4.4.1/armada_gem_prime_dmabuf_ops(global)]]
--[[linux-4.4.1/drm_gem_prime_dmabuf_ops(global)]]
--[[linux-4.4.1/vmw_prime_dmabuf_ops(global)]]
--[[linux-4.4.1/omap_dmabuf_ops(global)]]
-Video For Linux 2 (V4L2)
--[[linux-4.4.1/vb2_dc_dmabuf_ops(global)]]
--[[linux-4.4.1/vb2_vmalloc_dmabuf_ops(global)]]
--[[linux-4.4.1/vb2_dma_sg_dmabuf_ops(global)]]
-Android ION
--[[linux-4.4.1/dma_buf_ops(global)]]
一覧を作る元にした検索結果。
$ grep -r 'struct dma_buf_ops' | grep =
drivers/gpu/drm/udl/udl_dmabuf.c:static struct dma_buf_o...
drivers/gpu/drm/i915/i915_gem_dmabuf.c:static const stru...
drivers/gpu/drm/tegra/gem.c:static const struct dma_buf_...
drivers/gpu/drm/armada/armada_gem.c:static const struct ...
drivers/gpu/drm/drm_prime.c:static const struct dma_buf_...
drivers/gpu/drm/vmwgfx/vmwgfx_prime.c:const struct dma_b...
drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c:static struct ...
drivers/media/v4l2-core/videobuf2-dma-contig.c:static st...
drivers/media/v4l2-core/videobuf2-vmalloc.c:static struc...
drivers/media/v4l2-core/videobuf2-dma-sg.c:static struct...
drivers/staging/android/ion/ion.c:static struct dma_buf_...
*実装 [#u4a291b9]
/**
* struct dma_buf_ops - operations possible on struct dm...
* @attach: [optional] allows different devices to 'atta...
* given buffer. It might return -EBUSY to sign...
* is already allocated and incompatible with t...
* of requesting device.
* @detach: [optional] detach a given device from this b...
* @map_dma_buf: returns list of scatter pages allocated...
* of the buffer. Requires atleast one att...
* before. Returned sg list should already...
* _device_ address space. This call may s...
* -EINTR. Should return -EINVAL if attach...
* @unmap_dma_buf: decreases usecount of buffer, might d...
* pages.
* @release: release this buffer; to be called after the...
* @begin_cpu_access: [optional] called before cpu acces...
* caches and allocate backing storag...
* respectively pin the objet into me...
* @end_cpu_access: [optional] called after cpu access t...
* @kmap_atomic: maps a page from the buffer into kernel...
* space, users may not block until the su...
* This callback must not sleep.
* @kunmap_atomic: [optional] unmaps a atomically mapped...
* This Callback must not sleep.
* @kmap: maps a page from the buffer into kernel addres...
* @kunmap: [optional] unmaps a page from the buffer.
* @mmap: used to expose the backing storage to userspac...
* mapping needs to be coherent - if the exporter...
* support this, it needs to fake coherency by sh...
* when transitioning away from the cpu domain.
* @vmap: [optional] creates a virtual mapping for the b...
* address space. Same restrictions as for vmap a...
* @vunmap: [optional] unmaps a vmap from the buffer
*/
struct dma_buf_ops {
int (*attach)(struct dma_buf *, struct device *,
struct dma_buf_attachment *);
void (*detach)(struct dma_buf *, struct dma_buf_...
-
--[[linux-4.4.1/dma_buf]]
--[[linux-4.4.1/device]]
--[[linux-4.4.1/dma_buf_attachment]]
/* For {map,unmap}_dma_buf below, any specific b...
* required should get added to device_dma_param...
* via dev->dma_params.
*/
struct sg_table * (*map_dma_buf)(struct dma_buf_...
enum dma...
void (*unmap_dma_buf)(struct dma_buf_attachment *,
struct s...
enum dma...
/* TODO: Add try_map_dma_buf version, to return ...
* if the call would block.
*/
-
--[[linux-4.4.1/dma_data_direction]]
--[[linux-4.4.1/sg_table]]
/* after final dma_buf_put() */
void (*release)(struct dma_buf *);
int (*begin_cpu_access)(struct dma_buf *, size_t...
enum dma_data_direction);
void (*end_cpu_access)(struct dma_buf *, size_t,...
enum dma_data_direction);
-
void *(*kmap_atomic)(struct dma_buf *, unsigned ...
void (*kunmap_atomic)(struct dma_buf *, unsigned...
void *(*kmap)(struct dma_buf *, unsigned long);
void (*kunmap)(struct dma_buf *, unsigned long, ...
-
int (*mmap)(struct dma_buf *, struct vm_area_str...
void *(*vmap)(struct dma_buf *);
void (*vunmap)(struct dma_buf *, void *vaddr);
-
--[[linux-4.4.1/vm_area_struct]]
};
*コメント [#uead091b]
ページ名: