summaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/usbtv
diff options
context:
space:
mode:
authorEzequiel Garcia <ezequiel@collabora.com>2018-05-11 02:17:20 +0200
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-05-25 21:17:19 +0200
commit24dd8d996f3b1d5adf86a3ea1b60e735853a6bbe (patch)
treedc3ef9340ab33c62a6368d333a59c30d5f4ad214 /drivers/media/usb/usbtv
parentmedia: imx274: remove non-indexed pointers from mode_table (diff)
downloadlinux-24dd8d996f3b1d5adf86a3ea1b60e735853a6bbe.tar.xz
linux-24dd8d996f3b1d5adf86a3ea1b60e735853a6bbe.zip
media: usbtv: Implement wait_prepare and wait_finish
This driver is currently specifying a vb2_queue lock, which means it straightforward to implement wait_prepare and wait_finish. Having these callbacks releases the queue lock while blocking, which improves latency by allowing for example streamoff or qbuf operations while waiting in dqbuf. Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/usb/usbtv')
-rw-r--r--drivers/media/usb/usbtv/usbtv-video.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/usb/usbtv/usbtv-video.c b/drivers/media/usb/usbtv/usbtv-video.c
index c2f8e50228ac..ce79df643c7e 100644
--- a/drivers/media/usb/usbtv/usbtv-video.c
+++ b/drivers/media/usb/usbtv/usbtv-video.c
@@ -781,6 +781,8 @@ static const struct vb2_ops usbtv_vb2_ops = {
.buf_queue = usbtv_buf_queue,
.start_streaming = usbtv_start_streaming,
.stop_streaming = usbtv_stop_streaming,
+ .wait_prepare = vb2_ops_wait_prepare,
+ .wait_finish = vb2_ops_wait_finish,
};
static int usbtv_s_ctrl(struct v4l2_ctrl *ctrl)