diff options
author | Hans Verkuil | 2018-08-23 15:56:22 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab | 2018-09-11 15:49:15 +0200 |
commit | f35f5d72e70e6b91389eb98fcabf43b79f40587f (patch) | |
tree | f8967eac3773ebcab97e8ccb6e7703bf46ef0177 /include/uapi/linux/videodev2.h | |
parent | media: buffer.rst: only set V4L2_BUF_FLAG_REQUEST_FD for QBUF (diff) | |
download | kernel-qcow2-linux-f35f5d72e70e6b91389eb98fcabf43b79f40587f.tar.gz kernel-qcow2-linux-f35f5d72e70e6b91389eb98fcabf43b79f40587f.tar.xz kernel-qcow2-linux-f35f5d72e70e6b91389eb98fcabf43b79f40587f.zip |
media: videodev2.h: add new capabilities for buffer types
VIDIOC_REQBUFS and VIDIOC_CREATE_BUFFERS will return capabilities
telling userspace what the given buffer type is capable of.
Signed-off-by: Hans Verkuil <hansverk@cisco.com>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'include/uapi/linux/videodev2.h')
-rw-r--r-- | include/uapi/linux/videodev2.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 2350151ce4ea..55d45a387dd2 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -856,9 +856,16 @@ struct v4l2_requestbuffers { __u32 count; __u32 type; /* enum v4l2_buf_type */ __u32 memory; /* enum v4l2_memory */ - __u32 reserved[2]; + __u32 capabilities; + __u32 reserved[1]; }; +/* capabilities for struct v4l2_requestbuffers and v4l2_create_buffers */ +#define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0) +#define V4L2_BUF_CAP_SUPPORTS_USERPTR (1 << 1) +#define V4L2_BUF_CAP_SUPPORTS_DMABUF (1 << 2) +#define V4L2_BUF_CAP_SUPPORTS_REQUESTS (1 << 3) + /** * struct v4l2_plane - plane info for multi-planar buffers * @bytesused: number of bytes occupied by data in the plane (payload) @@ -2319,6 +2326,7 @@ struct v4l2_dbg_chip_info { * return: number of created buffers * @memory: enum v4l2_memory; buffer memory type * @format: frame format, for which buffers are requested + * @capabilities: capabilities of this buffer type. * @reserved: future extensions */ struct v4l2_create_buffers { @@ -2326,7 +2334,8 @@ struct v4l2_create_buffers { __u32 count; __u32 memory; struct v4l2_format format; - __u32 reserved[8]; + __u32 capabilities; + __u32 reserved[7]; }; /* |