From patchwork Thu Apr 25 11:36:02 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kamil Debski X-Patchwork-Id: 2488061 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 8EBAF3FC64 for ; Thu, 25 Apr 2013 11:37:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758203Ab3DYLhI (ORCPT ); Thu, 25 Apr 2013 07:37:08 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:58890 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757807Ab3DYLhH (ORCPT ); Thu, 25 Apr 2013 07:37:07 -0400 Received: from epcpsbgm2.samsung.com (epcpsbgm2 [203.254.230.27]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MLT005BD6XQOOO0@mailout3.samsung.com> for linux-media@vger.kernel.org; Thu, 25 Apr 2013 20:37:06 +0900 (KST) X-AuditID: cbfee61b-b7fcf6d00000058e-68-51791562107d Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 64.85.01422.26519715; Thu, 25 Apr 2013 20:37:06 +0900 (KST) Received: from amdc1342.digital.local ([106.116.147.39]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MLT00D0J6WA8D40@mmp2.samsung.com>; Thu, 25 Apr 2013 20:37:06 +0900 (KST) From: Kamil Debski To: linux-media@vger.kernel.org Cc: Kamil Debski , Kyungmin Park Subject: [PATCH 1/7 v2] s5p-g2d: Add copy time stamp handling Date: Thu, 25 Apr 2013 13:36:02 +0200 Message-id: <1366889768-16677-2-git-send-email-k.debski@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-reply-to: <1366889768-16677-1-git-send-email-k.debski@samsung.com> References: <1366889768-16677-1-git-send-email-k.debski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLJMWRmVeSWpSXmKPExsVy+t9jQd0k0cpAg3eXRC1+vL7AZnG26Q27 Rc+GrawOzB59W1YxenzeJBfAFMVlk5Kak1mWWqRvl8CV0bJmJlPBMZ6K3Te4GhjvcnUxcnJI CJhI/PiwmQXCFpO4cG89WxcjF4eQwHRGiR1XjjFBOB1MEgdub2bvYuTgYBPQlFh1zwOkQURA XuJJ7w02kDCzQIjE5G/VIGFhAVuJ1V2nwGayCKhK7HlznQnE5hVwkdj+dAZYuYSAgsScSTYg YU4BV4nbx2eygthCQCV7p59hmcDIu4CRYRWjaGpBckFxUnqukV5xYm5xaV66XnJ+7iZGcCA8 k97BuKrB4hCjAAejEg+vwKvyQCHWxLLiytxDjBIczEoivMw/KgKFeFMSK6tSi/Lji0pzUosP MUpzsCiJ8x5stQ4UEkhPLEnNTk0tSC2CyTJxcEo1MBrMUT7st/NH/bIWzS+aT+YElLH41tw5 tbX8SPk2O6Ga9XcmbBFz6ug/7H3vlfWOy4e/N+TcyTjJY3PV1Nkrvi5FcuWJiNCWqC7bv0sM /6Q0vCx5XM7U8VLUUC/+kq3QxqObd3cJ2dSv2HTXvUVefpIcX21Mkechrw+/ZJY687WIm7YK h/BaKrEUZyQaajEXFScCACZnA4sAAgAA Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org 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 Signed-off-by: Kyungmin Park --- drivers/media/platform/s5p-g2d/g2d.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/media/platform/s5p-g2d/g2d.c b/drivers/media/platform/s5p-g2d/g2d.c index 14d663d..553d87e 100644 --- a/drivers/media/platform/s5p-g2d/g2d.c +++ b/drivers/media/platform/s5p-g2d/g2d.c @@ -158,6 +158,7 @@ static int queue_init(void *priv, struct vb2_queue *src_vq, src_vq->ops = &g2d_qops; src_vq->mem_ops = &vb2_dma_contig_memops; src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); + src_vq->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY; ret = vb2_queue_init(src_vq); if (ret) @@ -169,6 +170,7 @@ static int queue_init(void *priv, struct vb2_queue *src_vq, dst_vq->ops = &g2d_qops; dst_vq->mem_ops = &vb2_dma_contig_memops; dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); + dst_vq->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY; return vb2_queue_init(dst_vq); } @@ -635,6 +637,9 @@ static irqreturn_t g2d_isr(int irq, void *prv) BUG_ON(src == NULL); BUG_ON(dst == NULL); + dst->v4l2_buf.timecode = src->v4l2_buf.timecode; + dst->v4l2_buf.timestamp = src->v4l2_buf.timestamp; + v4l2_m2m_buf_done(src, VB2_BUF_STATE_DONE); v4l2_m2m_buf_done(dst, VB2_BUF_STATE_DONE); v4l2_m2m_job_finish(dev->m2m_dev, ctx->m2m_ctx);