aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorPhilipp Zabel <p.zabel@pengutronix.de>2015-03-24 13:30:56 -0400
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-04-10 09:10:21 -0400
commit5c76c2c3e2783886975ff536c50d9c446e0ecb6e (patch)
tree71ba900e2f3acad5ddb55181a200db8f0d7b28da /drivers/media
parent23b6ee5cd9d99d9d99d92ff923d6971a33dc7b03 (diff)
[media] coda: call SEQ_END when the first queue is stopped
This allows to stop and restart the output queue to start a new sequence while keeping the capture queue running. Before, sequence end would only be issued if both output and capture queue were stopped and the sequence start issued when reenabling the output queue would fail. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/platform/coda/coda-common.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/platform/coda/coda-common.c b/drivers/media/platform/coda/coda-common.c
index 7dfc86efc055..c8811b7fa137 100644
--- a/drivers/media/platform/coda/coda-common.c
+++ b/drivers/media/platform/coda/coda-common.c
@@ -1339,6 +1339,9 @@ static void coda_stop_streaming(struct vb2_queue *q)
1339 struct coda_ctx *ctx = vb2_get_drv_priv(q); 1339 struct coda_ctx *ctx = vb2_get_drv_priv(q);
1340 struct coda_dev *dev = ctx->dev; 1340 struct coda_dev *dev = ctx->dev;
1341 struct vb2_buffer *buf; 1341 struct vb2_buffer *buf;
1342 bool stop;
1343
1344 stop = ctx->streamon_out && ctx->streamon_cap;
1342 1345
1343 if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) { 1346 if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT) {
1344 v4l2_dbg(1, coda_debug, &dev->v4l2_dev, 1347 v4l2_dbg(1, coda_debug, &dev->v4l2_dev,
@@ -1363,7 +1366,7 @@ static void coda_stop_streaming(struct vb2_queue *q)
1363 v4l2_m2m_buf_done(buf, VB2_BUF_STATE_ERROR); 1366 v4l2_m2m_buf_done(buf, VB2_BUF_STATE_ERROR);
1364 } 1367 }
1365 1368
1366 if (!ctx->streamon_out && !ctx->streamon_cap) { 1369 if (stop) {
1367 struct coda_buffer_meta *meta; 1370 struct coda_buffer_meta *meta;
1368 1371
1369 if (ctx->ops->seq_end_work) { 1372 if (ctx->ops->seq_end_work) {