mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 03:23:53 -04:00
media: v4l2: Add REMOVE_BUFS ioctl
VIDIOC_REMOVE_BUFS ioctl allows to remove buffers from a queue. The number of buffers to remove in given by count field of struct v4l2_remove_buffers and the range start at the index specified in the same structure. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Reviewed-by: Mauro Carvalho Chehab <mchehab@kernel.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> [hverkuil: vidioc-remove-bufs.rst: mention no bufs are freed on error]
This commit is contained in:
committed by
Hans Verkuil
parent
5fb19f2092
commit
a3293a8538
@@ -1036,6 +1036,7 @@ struct v4l2_requestbuffers {
|
||||
#define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS (1 << 7)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_REMOVE_BUFS (1 << 8)
|
||||
|
||||
/**
|
||||
* struct v4l2_plane - plane info for multi-planar buffers
|
||||
@@ -2624,6 +2625,20 @@ struct v4l2_create_buffers {
|
||||
__u32 reserved[5];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct v4l2_remove_buffers - VIDIOC_REMOVE_BUFS argument
|
||||
* @index: the first buffer to be removed
|
||||
* @count: number of buffers to removed
|
||||
* @type: enum v4l2_buf_type
|
||||
* @reserved: future extensions
|
||||
*/
|
||||
struct v4l2_remove_buffers {
|
||||
__u32 index;
|
||||
__u32 count;
|
||||
__u32 type;
|
||||
__u32 reserved[13];
|
||||
};
|
||||
|
||||
/*
|
||||
* I O C T L C O D E S F O R V I D E O D E V I C E S
|
||||
*
|
||||
@@ -2723,6 +2738,8 @@ struct v4l2_create_buffers {
|
||||
#define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
|
||||
|
||||
#define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl)
|
||||
#define VIDIOC_REMOVE_BUFS _IOWR('V', 104, struct v4l2_remove_buffers)
|
||||
|
||||
|
||||
/* Reminder: when adding new ioctls please add support for them to
|
||||
drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */
|
||||
|
||||
Reference in New Issue
Block a user