media: s5p-g2d: Implement wait_prepare and wait_finish
authorEzequiel Garcia <ezequiel@collabora.com>
Fri, 15 Jun 2018 19:07:26 +0000 (15:07 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Wed, 4 Jul 2018 12:00:53 +0000 (08:00 -0400)
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>
drivers/media/platform/s5p-g2d/g2d.c

index 3735c204e9acffc10a7ea8a4106f524e4e1db9c4..6b1c23463009a42296f4a3caa3b5ddcb3d437822 100644 (file)
@@ -142,6 +142,8 @@ static const struct vb2_ops g2d_qops = {
        .queue_setup    = g2d_queue_setup,
        .buf_prepare    = g2d_buf_prepare,
        .buf_queue      = g2d_buf_queue,
+       .wait_prepare   = vb2_ops_wait_prepare,
+       .wait_finish    = vb2_ops_wait_finish,
 };
 
 static int queue_init(void *priv, struct vb2_queue *src_vq,