aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/coda.c
diff options
context:
space:
mode:
authorKamil Debski <k.debski@samsung.com>2013-04-24 09:38:24 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-04-25 08:47:51 -0400
commitccd571cb67ddb54febada71e8788c6ca9d0e432f (patch)
tree1f2a9f124e0df6cf72d72557f777645258c699cf /drivers/media/platform/coda.c
parent56006017316cea85cedd22a5f2f7aa31e77a40df (diff)
[media] coda: Add copy time stamp handling
Since the introduction of the timestamp_type field, it is necessary that the driver chooses which type it will use. This patch adds support for the timestamp_type. Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/platform/coda.c')
-rw-r--r--drivers/media/platform/coda.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/platform/coda.c b/drivers/media/platform/coda.c
index 20827ba168fc..5612329f9ef7 100644
--- a/drivers/media/platform/coda.c
+++ b/drivers/media/platform/coda.c
@@ -1422,6 +1422,7 @@ static int coda_queue_init(void *priv, struct vb2_queue *src_vq,
1422 src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); 1422 src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
1423 src_vq->ops = &coda_qops; 1423 src_vq->ops = &coda_qops;
1424 src_vq->mem_ops = &vb2_dma_contig_memops; 1424 src_vq->mem_ops = &vb2_dma_contig_memops;
1425 src_vq->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY;
1425 1426
1426 ret = vb2_queue_init(src_vq); 1427 ret = vb2_queue_init(src_vq);
1427 if (ret) 1428 if (ret)
@@ -1433,6 +1434,7 @@ static int coda_queue_init(void *priv, struct vb2_queue *src_vq,
1433 dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); 1434 dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
1434 dst_vq->ops = &coda_qops; 1435 dst_vq->ops = &coda_qops;
1435 dst_vq->mem_ops = &vb2_dma_contig_memops; 1436 dst_vq->mem_ops = &vb2_dma_contig_memops;
1437 dst_vq->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY;
1436 1438
1437 return vb2_queue_init(dst_vq); 1439 return vb2_queue_init(dst_vq);
1438} 1440}
@@ -1628,6 +1630,9 @@ static irqreturn_t coda_irq_handler(int irq, void *data)
1628 dst_buf->v4l2_buf.flags &= ~V4L2_BUF_FLAG_KEYFRAME; 1630 dst_buf->v4l2_buf.flags &= ~V4L2_BUF_FLAG_KEYFRAME;
1629 } 1631 }
1630 1632
1633 dst_buf->v4l2_buf.timestamp = src_buf->v4l2_buf.timestamp;
1634 dst_buf->v4l2_buf.timecode = src_buf->v4l2_buf.timecode;
1635
1631 v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE); 1636 v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_DONE);
1632 v4l2_m2m_buf_done(dst_buf, VB2_BUF_STATE_DONE); 1637 v4l2_m2m_buf_done(dst_buf, VB2_BUF_STATE_DONE);
1633 1638