diff options
author | Kamil Debski <k.debski@samsung.com> | 2013-04-24 09:38:24 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-04-25 08:47:51 -0400 |
commit | ccd571cb67ddb54febada71e8788c6ca9d0e432f (patch) | |
tree | 1f2a9f124e0df6cf72d72557f777645258c699cf /drivers/media/platform/coda.c | |
parent | 56006017316cea85cedd22a5f2f7aa31e77a40df (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.c | 5 |
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 | ||