From patchwork Tue Aug 14 09:29:33 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 13798 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1T1DS7-0007XE-O2 for patchwork@linuxtv.org; Tue, 14 Aug 2012 11:30:19 +0200 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.75/mailfrontend-2) with esmtp for id 1T1DS6-0000ZQ-J6; Tue, 14 Aug 2012 11:30:19 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752924Ab2HNJ3s (ORCPT ); Tue, 14 Aug 2012 05:29:48 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:43563 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752335Ab2HNJ3r (ORCPT ); Tue, 14 Aug 2012 05:29:47 -0400 Received: from eusync3.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by mailout1.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0M8Q00F23NQD0X70@mailout1.w1.samsung.com> for linux-media@vger.kernel.org; Tue, 14 Aug 2012 10:30:13 +0100 (BST) Received: from localhost.localdomain ([106.116.147.88]) by eusync3.samsung.com (Oracle Communications Messaging Server 7u4-23.01 (7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0M8Q00EHONPECH60@eusync3.samsung.com> for linux-media@vger.kernel.org; Tue, 14 Aug 2012 10:29:45 +0100 (BST) From: Andrzej Hajda To: linux-media@vger.kernel.org Cc: Marek Szyprowski , Kamil Debski , Andrzej Hajda , Kyungmin Park Subject: [PATCH] v4l/s5p-mfc: added DMABUF support for encoder Date: Tue, 14 Aug 2012 11:29:33 +0200 Message-id: <1344936573-8164-1-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 1.7.0.4 X-TM-AS-MML: No Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.8.14.91819 X-PMX-Spam: Gauge=IIIIIIIII, Probability=9%, Report=' HTML_NO_HTTP 0.1, MULTIPLE_RCPTS 0.1, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_2000_2999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_MEDIA_BODY 0, __CP_URI_IN_BODY 0, __HAS_FROM 0, __HAS_HTML 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_CC_X2 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS ' Signed-off-by: Andrzej Hajda Signed-off-by: Kyungmin Park Acked-by: Kamil Debski --- Patch cleanly applies after patch http://patchwork.linuxtv.org/patch/13797/ --- drivers/media/video/s5p-mfc/s5p_mfc.c | 4 ++-- drivers/media/video/s5p-mfc/s5p_mfc_enc.c | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/video/s5p-mfc/s5p_mfc.c b/drivers/media/video/s5p-mfc/s5p_mfc.c index e5c2b80..ab7b74c 100644 --- a/drivers/media/video/s5p-mfc/s5p_mfc.c +++ b/drivers/media/video/s5p-mfc/s5p_mfc.c @@ -801,7 +801,7 @@ static int s5p_mfc_open(struct file *file) q->io_modes = VB2_MMAP; q->ops = get_dec_queue_ops(); } else if (s5p_mfc_get_node_type(file) == MFCNODE_ENCODER) { - q->io_modes = VB2_MMAP | VB2_USERPTR; + q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; q->ops = get_enc_queue_ops(); } else { ret = -ENOENT; @@ -822,7 +822,7 @@ static int s5p_mfc_open(struct file *file) q->io_modes = VB2_MMAP; q->ops = get_dec_queue_ops(); } else if (s5p_mfc_get_node_type(file) == MFCNODE_ENCODER) { - q->io_modes = VB2_MMAP | VB2_USERPTR; + q->io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; q->ops = get_enc_queue_ops(); } else { ret = -ENOENT; diff --git a/drivers/media/video/s5p-mfc/s5p_mfc_enc.c b/drivers/media/video/s5p-mfc/s5p_mfc_enc.c index 53c305d..b1a5f85 100644 --- a/drivers/media/video/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/video/s5p-mfc/s5p_mfc_enc.c @@ -1028,7 +1028,8 @@ static int vidioc_reqbufs(struct file *file, void *priv, /* if memory is not mmp or userptr return error */ if ((reqbufs->memory != V4L2_MEMORY_MMAP) && - (reqbufs->memory != V4L2_MEMORY_USERPTR)) + (reqbufs->memory != V4L2_MEMORY_USERPTR) && + (reqbufs->memory != V4L2_MEMORY_DMABUF)) return -EINVAL; if (reqbufs->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { if (ctx->capture_state != QUEUE_FREE) {