aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKamil Debski <k.debski@samsung.com>2013-04-25 06:21:24 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-04-25 08:48:25 -0400
commita8c9c345702b3f52a88498dea6b623dd3c3e27dc (patch)
treec933cbed1fcdeab87dc1bcdce64f161d0dd909fe
parent7f1e8f197e2fdc97ef51e6aa31ba3d207e6ef076 (diff)
[media] mx2-emmaprp: 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>
-rw-r--r--drivers/media/platform/mx2_emmaprp.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/platform/mx2_emmaprp.c b/drivers/media/platform/mx2_emmaprp.c
index 4b9e0a28616a..f7440e585b6b 100644
--- a/drivers/media/platform/mx2_emmaprp.c
+++ b/drivers/media/platform/mx2_emmaprp.c
@@ -377,6 +377,9 @@ static irqreturn_t emmaprp_irq(int irq_emma, void *data)
377 src_vb = v4l2_m2m_src_buf_remove(curr_ctx->m2m_ctx); 377 src_vb = v4l2_m2m_src_buf_remove(curr_ctx->m2m_ctx);
378 dst_vb = v4l2_m2m_dst_buf_remove(curr_ctx->m2m_ctx); 378 dst_vb = v4l2_m2m_dst_buf_remove(curr_ctx->m2m_ctx);
379 379
380 src_vb->v4l2_buf.timestamp = dst_vb->v4l2_buf.timestamp;
381 src_vb->v4l2_buf.timecode = dst_vb->v4l2_buf.timecode;
382
380 spin_lock_irqsave(&pcdev->irqlock, flags); 383 spin_lock_irqsave(&pcdev->irqlock, flags);
381 v4l2_m2m_buf_done(src_vb, VB2_BUF_STATE_DONE); 384 v4l2_m2m_buf_done(src_vb, VB2_BUF_STATE_DONE);
382 v4l2_m2m_buf_done(dst_vb, VB2_BUF_STATE_DONE); 385 v4l2_m2m_buf_done(dst_vb, VB2_BUF_STATE_DONE);
@@ -763,6 +766,7 @@ static int queue_init(void *priv, struct vb2_queue *src_vq,
763 src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); 766 src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
764 src_vq->ops = &emmaprp_qops; 767 src_vq->ops = &emmaprp_qops;
765 src_vq->mem_ops = &vb2_dma_contig_memops; 768 src_vq->mem_ops = &vb2_dma_contig_memops;
769 src_vq->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY;
766 770
767 ret = vb2_queue_init(src_vq); 771 ret = vb2_queue_init(src_vq);
768 if (ret) 772 if (ret)
@@ -774,6 +778,7 @@ static int queue_init(void *priv, struct vb2_queue *src_vq,
774 dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); 778 dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
775 dst_vq->ops = &emmaprp_qops; 779 dst_vq->ops = &emmaprp_qops;
776 dst_vq->mem_ops = &vb2_dma_contig_memops; 780 dst_vq->mem_ops = &vb2_dma_contig_memops;
781 dst_vq->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY;
777 782
778 return vb2_queue_init(dst_vq); 783 return vb2_queue_init(dst_vq);
779} 784}