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 15eb5dc4dff9a999a340dab2a149b781c839d6e8..46a628a548d9f1afde9cee7b21ba7daea0efd02f 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);