media: coda: set min_buffers_needed
authorLucas Stach <l.stach@pengutronix.de>
Thu, 7 Dec 2017 11:09:46 +0000 (06:09 -0500)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Mon, 18 Dec 2017 19:58:39 +0000 (14:58 -0500)
The current driver implementation expects at least one buffer on
all queues to start streaming. Properly signal this to the vb2
core, to avoid confusion when streamon is racing with qbuf.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/platform/coda/coda-common.c

index 15eb5dc..46a628a 100644 (file)
@@ -1884,6 +1884,12 @@ static int coda_queue_init(struct coda_ctx *ctx, struct vb2_queue *vq)
         * that videobuf2 will keep the value of bytesused intact.
         */
        vq->allow_zero_bytesused = 1;
+       /*
+        * We might be fine with no buffers on some of the queues, but that
+        * would need to be reflected in job_ready(). Currently we expect all
+        * queues to have at least one buffer queued.
+        */
+       vq->min_buffers_needed = 1;
        vq->dev = &ctx->dev->plat_dev->dev;
 
        return vb2_queue_init(vq);