MMFMWK-7549 [media] videobuf: store field and timestamp when queue USERPTR buffer
authorHaihua Hu <jared.hu@nxp.com>
Wed, 12 Apr 2017 07:48:06 +0000 (15:48 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:21:59 +0000 (15:21 -0500)
When use USERPTR mode to queue v4l2 buffer, field and timestamp info
needs to be stored.

Signed-off-by: Haihua Hu <jared.hu@nxp.com>
drivers/media/v4l2-core/videobuf-core.c

index def8475..793a281 100644 (file)
@@ -594,6 +594,13 @@ int videobuf_qbuf(struct videobuf_queue *q, struct v4l2_buffer *b)
                    buf->baddr != b->m.userptr)
                        q->ops->buf_release(q, buf);
                buf->baddr = b->m.userptr;
+               if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT
+                   || q->type == V4L2_BUF_TYPE_VBI_OUTPUT
+                   || q->type == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT
+                   || q->type == V4L2_BUF_TYPE_SDR_OUTPUT) {
+                       buf->field = b->field;
+                       buf->ts = b->timestamp;
+               }
                break;
        case V4L2_MEMORY_OVERLAY:
                buf->boff = b->m.offset;