From patchwork Tue Jul 9 05:24:38 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arun Kumar K X-Patchwork-Id: 19183 X-Patchwork-Delegate: kamil@wypas.org Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1UwQ3k-0002An-Rx; Tue, 09 Jul 2013 07:01:52 +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.72/mailfrontend-7) with esmtp id 1UwQ3i-0003Ky-2F; Tue, 09 Jul 2013 07:01:52 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752311Ab3GIFBq (ORCPT + 1 other); Tue, 9 Jul 2013 01:01:46 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:51758 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751672Ab3GIFBm (ORCPT ); Tue, 9 Jul 2013 01:01:42 -0400 Received: from epcpsbgr1.samsung.com (u141.gpu120.samsung.co.kr [203.254.230.141]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MPN00HAEKLEDNI0@mailout3.samsung.com> for linux-media@vger.kernel.org; Tue, 09 Jul 2013 14:01:36 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.125]) by epcpsbgr1.samsung.com (EPCPMTA) with SMTP id 07.2C.17404.0399BD15; Tue, 09 Jul 2013 14:01:36 +0900 (KST) X-AuditID: cbfee68d-b7f096d0000043fc-b6-51db99306d82 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 72.47.28381.0399BD15; Tue, 09 Jul 2013 14:01:36 +0900 (KST) Received: from chromeserver-PowerEdge-T410.sisodomain.com ([107.108.73.106]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MPN0024ZKMDT060@mmp2.samsung.com>; Tue, 09 Jul 2013 14:01:36 +0900 (KST) From: Arun Kumar K To: linux-media@vger.kernel.org Cc: k.debski@samsung.com, jtp.park@samsung.com, s.nawrocki@samsung.com, hverkuil@xs4all.nl, avnd.kiran@samsung.com, arunkk.samsung@gmail.com Subject: [PATCH v5 4/8] [media] s5p-mfc: Core support for MFC v7 Date: Tue, 09 Jul 2013 10:54:38 +0530 Message-id: <1373347482-9264-5-git-send-email-arun.kk@samsung.com> X-Mailer: git-send-email 1.7.10.4 In-reply-to: <1373347482-9264-1-git-send-email-arun.kk@samsung.com> References: <1373347482-9264-1-git-send-email-arun.kk@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPLMWRmVeSWpSXmKPExsWyRsSkVtdg5u1Ag74pYhYvNt5it3g5u4/Z 4tTkZ0wWR9ZeZbL48foCm0XPhq2sFofftLM6sHvsnHWX3aNvyypGj8+b5DxOff3MHsASxWWT kpqTWZZapG+XwJXx6YFuwSTpiqf/etkaGHeIdTFyckgImEisW7uMGcIWk7hwbz1bFyMXh5DA UkaJqy3XgBwOsKL9n0wh4tMZJTasPMgK4cxmkuiY85UdpJtNQEPi3onHrCC2iIC8xJPeG2wg NrNAH6PEzNWOILawgIPE6U2LwOIsAqoSfV03mUEW8Ao4STz7nAhxhKJE97MJYCWcAs4SP67f BRspBFRye+IXsL0SAtPZJTpeX2OBmCMg8W3yIRaIQ2UlNh2AekZS4uCKGywTGIUXMDKsYhRN LUguKE5KLzLUK07MLS7NS9dLzs/dxAgM7NP/nvXuYLx9wPoQYzLQuInMUqLJ+cDIyCuJNzQ2 M7IwNTE1NjK3NCNNWEmcV63FOlBIID2xJDU7NbUgtSi+qDQntfgQIxMHp1QD4zQJOXN2tT5G Z/HP9xRiZ7547v5tlk74mnfu6mkqGhwv/q/WLlf5umANT4laXcpJW1+/fIlfmSGLzpsvlA3d Kii25GjFnOqlCbO2HZc+7Ranu0qnyK+3MP/xuXlOCjyXsiU8jA7ZKrm+/HJfYvaBN7bp1vqm tlpH+rP7YwRlOSdY7T7ybH6cEktxRqKhFnNRcSIAJKMMAYICAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrDIsWRmVeSWpSXmKPExsVy+t9jQV2DmbcDDX7c4rN4sfEWu8XL2X3M FqcmP2OyOLL2KpPFj9cX2Cx6NmxltTj8pp3Vgd1j56y77B59W1YxenzeJOdx6utn9gCWqAZG m4zUxJTUIoXUvOT8lMy8dFsl7+B453hTMwNDXUNLC3MlhbzE3FRbJRefAF23zBygE5QUyhJz SoFCAYnFxUr6dpgmhIa46VrANEbo+oYEwfUYGaCBhDWMGZ8e6BZMkq54+q+XrYFxh1gXIweH hICJxP5Ppl2MnECmmMSFe+vZuhi5OIQEpjNKbFh5kBXCmc0k0THnKztIFZuAhsS9E49ZQWwR AXmJJ7032EBsZoE+RomZqx1BbGEBB4nTmxaBxVkEVCX6um4ygyzjFXCSePY5EWKZokT3swlg JZwCzhI/rt8FGykEVHJ74hfWCYy8CxgZVjGKphYkFxQnpeca6hUn5haX5qXrJefnbmIEx80z qR2MKxssDjEKcDAq8fB+uHwrUIg1say4MvcQowQHs5II7wvV24FCvCmJlVWpRfnxRaU5qcWH GJOBjprILCWanA+M6bySeENjE3NTY1NLEwsTM0vShJXEeQ+0WgcKCaQnlqRmp6YWpBbBbGHi 4JRqYJwf6MMe2r9S8ahVbe3jE+ZCC9cwHpn5oFDsTssR/Z0/VnG0ruNyO7ukP+v0pSuVZRcs P3Il3FbINJnIf3DTuZS4jtUak0NS41+a3jq7QzozqKk8L8oh3U1l4a9V09+s2lxst+H0niNc T784Hyr6K1nQzJjYEKEbfry38O2rX7OXu+dumxu8sEOJpTgj0VCLuag4EQDE1ygC3wIAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2013.7.9.44815 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODY_SIZE_3000_3999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, FROM_NAME_PHRASE 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_URI_IN_BODY 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __IN_REP_TO 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_CC_X2 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS ' Adds variant data and core support for the MFC v7 firmware Signed-off-by: Arun Kumar K --- .../devicetree/bindings/media/s5p-mfc.txt | 1 + drivers/media/platform/s5p-mfc/s5p_mfc.c | 32 ++++++++++++++++++++ drivers/media/platform/s5p-mfc/s5p_mfc_common.h | 2 ++ 3 files changed, 35 insertions(+) diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.txt b/Documentation/devicetree/bindings/media/s5p-mfc.txt index 67ec3d4..cb9c5bc 100644 --- a/Documentation/devicetree/bindings/media/s5p-mfc.txt +++ b/Documentation/devicetree/bindings/media/s5p-mfc.txt @@ -10,6 +10,7 @@ Required properties: - compatible : value should be either one among the following (a) "samsung,mfc-v5" for MFC v5 present in Exynos4 SoCs (b) "samsung,mfc-v6" for MFC v6 present in Exynos5 SoCs + (b) "samsung,mfc-v7" for MFC v7 present in Exynos5420 SoC - reg : Physical base address of the IP registers and length of memory mapped region. diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c index d12faa6..d6be52f 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c @@ -1391,6 +1391,32 @@ static struct s5p_mfc_variant mfc_drvdata_v6 = { .fw_name = "s5p-mfc-v6.fw", }; +struct s5p_mfc_buf_size_v6 mfc_buf_size_v7 = { + .dev_ctx = MFC_CTX_BUF_SIZE_V7, + .h264_dec_ctx = MFC_H264_DEC_CTX_BUF_SIZE_V7, + .other_dec_ctx = MFC_OTHER_DEC_CTX_BUF_SIZE_V7, + .h264_enc_ctx = MFC_H264_ENC_CTX_BUF_SIZE_V7, + .other_enc_ctx = MFC_OTHER_ENC_CTX_BUF_SIZE_V7, +}; + +struct s5p_mfc_buf_size buf_size_v7 = { + .fw = MAX_FW_SIZE_V7, + .cpb = MAX_CPB_SIZE_V7, + .priv = &mfc_buf_size_v7, +}; + +struct s5p_mfc_buf_align mfc_buf_align_v7 = { + .base = 0, +}; + +static struct s5p_mfc_variant mfc_drvdata_v7 = { + .version = MFC_VERSION_V7, + .port_num = MFC_NUM_PORTS_V7, + .buf_size = &buf_size_v7, + .buf_align = &mfc_buf_align_v7, + .fw_name = "s5p-mfc-v7.fw", +}; + static struct platform_device_id mfc_driver_ids[] = { { .name = "s5p-mfc", @@ -1401,6 +1427,9 @@ static struct platform_device_id mfc_driver_ids[] = { }, { .name = "s5p-mfc-v6", .driver_data = (unsigned long)&mfc_drvdata_v6, + }, { + .name = "s5p-mfc-v7", + .driver_data = (unsigned long)&mfc_drvdata_v7, }, {}, }; @@ -1413,6 +1442,9 @@ static const struct of_device_id exynos_mfc_match[] = { }, { .compatible = "samsung,mfc-v6", .data = &mfc_drvdata_v6, + }, { + .compatible = "samsung,mfc-v7", + .data = &mfc_drvdata_v7, }, {}, }; diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h index d47016d..17545d7 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h @@ -24,6 +24,7 @@ #include #include "regs-mfc.h" #include "regs-mfc-v6.h" +#include "regs-mfc-v7.h" /* Definitions related to MFC memory */ @@ -684,5 +685,6 @@ void set_work_bit_irqsave(struct s5p_mfc_ctx *ctx); (dev->variant->port_num ? 1 : 0) : 0) : 0) #define IS_TWOPORT(dev) (dev->variant->port_num == 2 ? 1 : 0) #define IS_MFCV6_PLUS(dev) (dev->variant->version >= 0x60 ? 1 : 0) +#define IS_MFCV7(dev) (dev->variant->version >= 0x70 ? 1 : 0) #endif /* S5P_MFC_COMMON_H_ */