[media] v4l: ti-vpe: retain v4l2_buffer flags for captured buffers
authorArchit Taneja <archit@ti.com>
Tue, 11 Mar 2014 07:47:52 +0000 (04:47 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Mon, 7 Apr 2014 12:44:25 +0000 (09:44 -0300)
The dequed CAPTURE_MPLANE type buffers don't contain the flags that the
originally queued OUTPUT_MPLANE type buffers have. This breaks compliance.

Copy the source v4l2_buffer flags to the destination v4l2_buffer flags before
they are dequed.

Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/platform/ti-vpe/vpe.c

index b64f29a548918292dc68fc9202628d6ade200c4c..5c421886d97c86d6518fa142f73c1c2ddb6b83b5 100644 (file)
@@ -1280,13 +1280,12 @@ static irqreturn_t vpe_irq(int irq_vpe, void *data)
        s_buf = &s_vb->v4l2_buf;
        d_buf = &d_vb->v4l2_buf;
 
+       d_buf->flags = s_buf->flags;
+
        d_buf->timestamp = s_buf->timestamp;
-       d_buf->flags &= ~V4L2_BUF_FLAG_TSTAMP_SRC_MASK;
-       d_buf->flags |= s_buf->flags & V4L2_BUF_FLAG_TSTAMP_SRC_MASK;
-       if (s_buf->flags & V4L2_BUF_FLAG_TIMECODE) {
-               d_buf->flags |= V4L2_BUF_FLAG_TIMECODE;
+       if (s_buf->flags & V4L2_BUF_FLAG_TIMECODE)
                d_buf->timecode = s_buf->timecode;
-       }
+
        d_buf->sequence = ctx->sequence;
 
        d_q_data = &ctx->q_data[Q_DATA_DST];