linux-4.4.1/vb2_queue
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#m1190ca3]
#backlinks
*説明 [#td28b60c]
-パス: [[linux-4.4.1/include/media/videobuf2-core.h]]
-FIXME: これは何?
--説明
**参考 [#se55206f]
*実装 [#t0fabaf3]
/**
* struct vb2_queue - a videobuf queue
*
* @type: private buffer type whose content is def...
* caller. For example, for V4L2, it should...
* the V4L2_BUF_TYPE_* in include/uapi/linu...
* @io_modes: supported io methods (see vb2_io_modes e...
* @fileio_read_once: report EOF after reading...
* @fileio_write_immediately: queue buffer after each ...
* @allow_zero_bytesused: allow bytesused == 0 to ...
* @lock: pointer to a mutex that protects the vb2...
* driver can set this to a mutex to let th...
* the queuing ioctls. If the driver wants ...
* itself, then this should be set to NULL....
* by the videobuf2 core API.
* @owner: The filehandle that 'owns' the buffers, ...
* that called reqbufs, create_buffers or s...
* This field is not used by the videobuf2 ...
* drivers to easily associate an owner fil...
* @ops: driver-specific callbacks
* @mem_ops: memory allocator specific callbacks
* @buf_ops: callbacks to deliver buffer information
* between user-space and kernel-space
* @drv_priv: driver private data
* @buf_struct_size: size of the driver-specific buffer ...
* "0" indicates the driver doesn't want to...
* structure type. for example, sizeof(stru...
* will be used for v4l2.
* @timestamp_flags: Timestamp flags; V4L2_BUF_FLAG_TIME...
* V4L2_BUF_FLAG_TSTAMP_SRC_*
* @gfp_flags: additional gfp flags used when allocatin...
* Typically this is 0, but it may be e.g. ...
* to force the buffer allocation to a spec...
* @min_buffers_needed: the minimum number of buffers ne...
* start_streaming() can be called. Used wh...
* cannot be started unless at least this n...
* have been queued into the driver.
*/
/*
* Private elements (won't appear at the DocBook):
* @mmap_lock: private mutex used when buffers are allo...
* @memory: current memory type used
* @bufs: videobuf buffer structures
* @num_buffers: number of allocated/used buffers
* @queued_list: list of buffers currently queued from u...
* @queued_count: number of buffers queued and ready for...
* @owned_by_drv_count: number of buffers owned by the d...
* @done_list: list of buffers ready to be dequeued to ...
* @done_lock: lock to protect done_list list
* @done_wq: waitqueue for processes waiting for buff...
* @alloc_ctx: memory type/allocator-specific contexts ...
* @streaming: current streaming state
* @start_streaming_called: start_streaming() was called...
* started streaming.
* @error: a fatal error occurred on the queue
* @waiting_for_buffers: used in poll() to check if vb2 ...
* buffers. Only set for capture queues if ...
* called since poll() needs to return POLL...
* @is_multiplanar: set if buffer type is multiplanar
* @is_output: set if buffer type is output
* @last_buffer_dequeued: used in poll() and DQBUF to im...
* last decoded buffer was already dequeued...
* when a buffer with the V4L2_BUF_FLAG_LAS...
* @fileio: file io emulator internal data, used onl...
* @threadio: thread io internal data, used only if th...
*/
struct vb2_queue {
unsigned int type;
unsigned int io_modes;
unsigned fileio_read_once...
unsigned fileio_write_imm...
unsigned allow_zero_bytes...
struct mutex *lock;
void *owner;
-
--[[linux-4.4.1/mutex]]
const struct vb2_ops *ops;
const struct vb2_mem_ops *mem_ops;
const struct vb2_buf_ops *buf_ops;
-
--[[linux-4.4.1/vb2_ops]]
--[[linux-4.4.1/vb2_mem_ops]]
--[[linux-4.4.1/vb2_buf_ops]]
void *drv_priv;
unsigned int buf_struct_size;
u32 timestamp_flags;
gfp_t gfp_flags;
u32 min_buffers_need...
-
--[[linux-4.4.1/gfp_t]]
/* private: internal use only */
struct mutex mmap_lock;
unsigned int memory;
struct vb2_buffer *bufs[VB2_MAX_FR...
unsigned int num_buffers;
-
--[[linux-4.4.1/vb2_buffer]]
struct list_head queued_list;
unsigned int queued_count;
-
--[[linux-4.4.1/list_head]]
atomic_t owned_by_drv_cou...
struct list_head done_list;
spinlock_t done_lock;
wait_queue_head_t done_wq;
-
--[[linux-4.4.1/atomic_t]]
--[[linux-4.4.1/spinlock_t]]
--[[linux-4.4.1/wait_queue_head_t]]
void *alloc_ctx[VB2_M...
unsigned int plane_sizes[VB2_...
unsigned int streaming:1;
unsigned int start_streaming_...
unsigned int error:1;
unsigned int waiting_for_buff...
unsigned int is_multiplanar:1;
unsigned int is_output:1;
unsigned int last_buffer_dequ...
struct vb2_fileio_data *fileio;
struct vb2_threadio_data *threadio;
-
--[[linux-4.4.1/vb2_fileio_data]]
--[[linux-4.4.1/vb2_threadio_data]]
#ifdef CONFIG_VIDEO_ADV_DEBUG
-
--[[linux-4.4.1/CONFIG_VIDEO_ADV_DEBUG]]
/*
* Counters for how often these queue-related op...
* called. Used to check for unbalanced ops.
*/
u32 cnt_queue_setup;
u32 cnt_wait_prepare;
u32 cnt_wait_finish;
u32 cnt_start_stream...
u32 cnt_stop_streami...
#endif
};
*コメント [#qba40a5a]
終了行:
*参照元 [#m1190ca3]
#backlinks
*説明 [#td28b60c]
-パス: [[linux-4.4.1/include/media/videobuf2-core.h]]
-FIXME: これは何?
--説明
**参考 [#se55206f]
*実装 [#t0fabaf3]
/**
* struct vb2_queue - a videobuf queue
*
* @type: private buffer type whose content is def...
* caller. For example, for V4L2, it should...
* the V4L2_BUF_TYPE_* in include/uapi/linu...
* @io_modes: supported io methods (see vb2_io_modes e...
* @fileio_read_once: report EOF after reading...
* @fileio_write_immediately: queue buffer after each ...
* @allow_zero_bytesused: allow bytesused == 0 to ...
* @lock: pointer to a mutex that protects the vb2...
* driver can set this to a mutex to let th...
* the queuing ioctls. If the driver wants ...
* itself, then this should be set to NULL....
* by the videobuf2 core API.
* @owner: The filehandle that 'owns' the buffers, ...
* that called reqbufs, create_buffers or s...
* This field is not used by the videobuf2 ...
* drivers to easily associate an owner fil...
* @ops: driver-specific callbacks
* @mem_ops: memory allocator specific callbacks
* @buf_ops: callbacks to deliver buffer information
* between user-space and kernel-space
* @drv_priv: driver private data
* @buf_struct_size: size of the driver-specific buffer ...
* "0" indicates the driver doesn't want to...
* structure type. for example, sizeof(stru...
* will be used for v4l2.
* @timestamp_flags: Timestamp flags; V4L2_BUF_FLAG_TIME...
* V4L2_BUF_FLAG_TSTAMP_SRC_*
* @gfp_flags: additional gfp flags used when allocatin...
* Typically this is 0, but it may be e.g. ...
* to force the buffer allocation to a spec...
* @min_buffers_needed: the minimum number of buffers ne...
* start_streaming() can be called. Used wh...
* cannot be started unless at least this n...
* have been queued into the driver.
*/
/*
* Private elements (won't appear at the DocBook):
* @mmap_lock: private mutex used when buffers are allo...
* @memory: current memory type used
* @bufs: videobuf buffer structures
* @num_buffers: number of allocated/used buffers
* @queued_list: list of buffers currently queued from u...
* @queued_count: number of buffers queued and ready for...
* @owned_by_drv_count: number of buffers owned by the d...
* @done_list: list of buffers ready to be dequeued to ...
* @done_lock: lock to protect done_list list
* @done_wq: waitqueue for processes waiting for buff...
* @alloc_ctx: memory type/allocator-specific contexts ...
* @streaming: current streaming state
* @start_streaming_called: start_streaming() was called...
* started streaming.
* @error: a fatal error occurred on the queue
* @waiting_for_buffers: used in poll() to check if vb2 ...
* buffers. Only set for capture queues if ...
* called since poll() needs to return POLL...
* @is_multiplanar: set if buffer type is multiplanar
* @is_output: set if buffer type is output
* @last_buffer_dequeued: used in poll() and DQBUF to im...
* last decoded buffer was already dequeued...
* when a buffer with the V4L2_BUF_FLAG_LAS...
* @fileio: file io emulator internal data, used onl...
* @threadio: thread io internal data, used only if th...
*/
struct vb2_queue {
unsigned int type;
unsigned int io_modes;
unsigned fileio_read_once...
unsigned fileio_write_imm...
unsigned allow_zero_bytes...
struct mutex *lock;
void *owner;
-
--[[linux-4.4.1/mutex]]
const struct vb2_ops *ops;
const struct vb2_mem_ops *mem_ops;
const struct vb2_buf_ops *buf_ops;
-
--[[linux-4.4.1/vb2_ops]]
--[[linux-4.4.1/vb2_mem_ops]]
--[[linux-4.4.1/vb2_buf_ops]]
void *drv_priv;
unsigned int buf_struct_size;
u32 timestamp_flags;
gfp_t gfp_flags;
u32 min_buffers_need...
-
--[[linux-4.4.1/gfp_t]]
/* private: internal use only */
struct mutex mmap_lock;
unsigned int memory;
struct vb2_buffer *bufs[VB2_MAX_FR...
unsigned int num_buffers;
-
--[[linux-4.4.1/vb2_buffer]]
struct list_head queued_list;
unsigned int queued_count;
-
--[[linux-4.4.1/list_head]]
atomic_t owned_by_drv_cou...
struct list_head done_list;
spinlock_t done_lock;
wait_queue_head_t done_wq;
-
--[[linux-4.4.1/atomic_t]]
--[[linux-4.4.1/spinlock_t]]
--[[linux-4.4.1/wait_queue_head_t]]
void *alloc_ctx[VB2_M...
unsigned int plane_sizes[VB2_...
unsigned int streaming:1;
unsigned int start_streaming_...
unsigned int error:1;
unsigned int waiting_for_buff...
unsigned int is_multiplanar:1;
unsigned int is_output:1;
unsigned int last_buffer_dequ...
struct vb2_fileio_data *fileio;
struct vb2_threadio_data *threadio;
-
--[[linux-4.4.1/vb2_fileio_data]]
--[[linux-4.4.1/vb2_threadio_data]]
#ifdef CONFIG_VIDEO_ADV_DEBUG
-
--[[linux-4.4.1/CONFIG_VIDEO_ADV_DEBUG]]
/*
* Counters for how often these queue-related op...
* called. Used to check for unbalanced ops.
*/
u32 cnt_queue_setup;
u32 cnt_wait_prepare;
u32 cnt_wait_finish;
u32 cnt_start_stream...
u32 cnt_stop_streami...
#endif
};
*コメント [#qba40a5a]
ページ名: