From patchwork Tue Feb 14 07:51:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 93934 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp1447423qgi; Mon, 13 Feb 2017 23:52:59 -0800 (PST) X-Received: by 10.99.94.71 with SMTP id s68mr30742070pgb.181.1487058779060; Mon, 13 Feb 2017 23:52:59 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 128si12354946pgg.245.2017.02.13.23.52.58; Mon, 13 Feb 2017 23:52:59 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-samsung-soc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-samsung-soc-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752515AbdBNHw6 (ORCPT + 4 others); Tue, 14 Feb 2017 02:52:58 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:39229 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751932AbdBNHwV (ORCPT ); Tue, 14 Feb 2017 02:52:21 -0500 Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OLC002L4TV6TB20@mailout1.w1.samsung.com>; Tue, 14 Feb 2017 07:52:18 +0000 (GMT) Received: from eusmges5.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170214075218eucas1p15edf801c0b0dbc46735a0ebd57fa532b~jGAsx81Uu2459424594eucas1p1p; Tue, 14 Feb 2017 07:52:18 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges5.samsung.com (EUCPMTA) with SMTP id 00.70.17477.237B2A85; Tue, 14 Feb 2017 07:52:18 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170214075217eucas1p26836eab5b19b43498b4a5186fb8f71db~jGAryitF21384513845eucas1p2b; Tue, 14 Feb 2017 07:52:17 +0000 (GMT) X-AuditID: cbfec7f5-f79d06d000004445-77-58a2b7323e9a Received: from eusync2.samsung.com ( [203.254.199.212]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 70.00.10233.437B2A85; Tue, 14 Feb 2017 07:52:20 +0000 (GMT) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OLC00FWGTUYP980@eusync2.samsung.com>; Tue, 14 Feb 2017 07:52:16 +0000 (GMT) From: Marek Szyprowski To: linux-media@vger.kernel.org, linux-samsung-soc@vger.kernel.org Cc: Marek Szyprowski , Sylwester Nawrocki , Andrzej Hajda , Krzysztof Kozlowski , Inki Dae , Seung-Woo Kim Subject: [PATCH 06/15] media: s5p-mfc: Move setting DMA max segmetn size to DMA configure function Date: Tue, 14 Feb 2017 08:51:59 +0100 Message-id: <1487058728-16501-7-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1487058728-16501-1-git-send-email-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrKIsWRmVeSWpSXmKPExsWy7djP87pG2xdFGKzZwmxxa905VotJ9yew WJw/v4HdomfDVlaLGef3MVmsPXKX3eLwm3Ygd/JLNgcOj02rOtk8+rasYvT4vEkugDmKyyYl NSezLLVI3y6BK2NyxxvWgg0iFY1NX9kaGJcKdjFyckgImEhcn7yfFcIWk7hwbz1bFyMXh5DA UkaJ3cc6oZzPjBKPp71ig+mYPe0hI0RiGaPE6eldTBBOA5PE/t5VLCBVbAKGEl1vu8A6RASc JBbO+ssOUsQs8J1R4tvu02ALhQVSJJY1N7KD2CwCqhL3lr8Ga+AV8JCY/qUT6ig5iZPHJoPZ nAKeEps+TwFbLSHwnE1iY+deoNUcQI6sxKYDzBD1LhK933qgThWWeHV8CzuELSNxeXI3C4Td zyjR1KoNYc9glDj3lhfCtpY4fPwi2C5mAT6JSdumM0OM55XoaBOCKPGQ6H1/CWqko8TCeVuZ IZ6fwyhx6tIStgmMMgsYGVYxiqSWFuempxab6hUn5haX5qXrJefnbmIERu7pf8e/7mBceszq EKMAB6MSD++EAwsjhFgTy4orcw8xSnAwK4nwMvQuihDiTUmsrEotyo8vKs1JLT7EKM3BoiTO u2fBlXAhgfTEktTs1NSC1CKYLBMHp1QDo6dSy7y+pU802xc+WX703ONf2ktV4td8qOEx0m1Z MmFH21JVaSEGwx7VTwydiQceWojskmqaFrdK8uSKuM1pj99P7XGYrcX6apHXi7zNh+e0HF/s HfevSbNLaYlhU0PMJ9dtx7enZM2UuvBovYL/VYs57kaiQTqn1cV3eFt+cK1TUuZMr5RfocRS nJFoqMVcVJwIAHb05jzYAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrCLMWRmVeSWpSXmKPExsVy+t/xK7om2xdFGHz4oGlxa905VotJ9yew WJw/v4HdomfDVlaLGef3MVmsPXKX3eLwm3Ygd/JLNgcOj02rOtk8+rasYvT4vEkugDnKzSYj NTEltUghNS85PyUzL91WKTTETddCSSEvMTfVVilC1zckSEmhLDGnFMgzMkADDs4B7sFK+nYJ bhmTO96wFmwQqWhs+srWwLhUsIuRk0NCwERi9rSHjBC2mMSFe+vZuhi5OIQEljBKHL+4mgnC aWKSePZzDjNIFZuAoUTX2y42EFtEwEli4ay/7CA2s8B3RollN9NAbGGBFIkfy98wgdgsAqoS 95a/BqvnFfCQmP6lkxVim5zEyWOTwWxOAU+JTZ+ngF0hBFRzds0O9gmMvAsYGVYxiqSWFuem 5xYb6RUn5haX5qXrJefnbmIEhvC2Yz+37GDsehd8iFGAg1GJh9di38IIIdbEsuLK3EOMEhzM SiK8DL2LIoR4UxIrq1KL8uOLSnNSiw8xmgIdNZFZSjQ5HxhfeSXxhiaG5paGRsYWFuZGRkri vFM/XAkXEkhPLEnNTk0tSC2C6WPi4JRqYOTP5OgpV5OSjvFxbQ0MLrLfWSK2jPFCedR++22m Rk2G/d/V0grnKAh/r2/+N8e4V9LoCkvbEYtvF3v1vPc+e6k7f0X3w40B+4q+XX/4WPZ7EVc6 X7Z6cAdvhmkRV/vZD6+e5C2/HnWgsm2Z/LdH54TidjyYtZbr2UTlbLvMLfuXdesz8CycqcRS nJFoqMVcVJwIAGOUWm93AgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170214075217eucas1p26836eab5b19b43498b4a5186fb8f71db X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1B?= =?utf-8?b?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1BSam?= =?utf-8?q?sung_Electronics=1BSenior_Software_Engineer?= X-Sender-Code: =?utf-8?q?C10=1BEHQ=1BC10CD02CD027392?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170214075217eucas1p26836eab5b19b43498b4a5186fb8f71db X-RootMTR: 20170214075217eucas1p26836eab5b19b43498b4a5186fb8f71db References: <1487058728-16501-1-git-send-email-m.szyprowski@samsung.com> Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org Setting DMA max segment size to 32 bit mask is a part of DMA memory configuration, so move those calls to s5p_mfc_configure_dma_memory() function. Signed-off-by: Marek Szyprowski --- drivers/media/platform/s5p-mfc/s5p_mfc.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Reviewed-by: Javier Martinez Canillas Tested-by: Javier Martinez Canillas diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c index f7664910f12c..bc1aeb25ebeb 100644 --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c @@ -1122,9 +1122,13 @@ static int s5p_mfc_configure_dma_memory(struct s5p_mfc_dev *mfc_dev) if (exynos_is_iommu_available(dev)) { int ret = exynos_configure_iommu(dev, S5P_MFC_IOMMU_DMA_BASE, S5P_MFC_IOMMU_DMA_SIZE); - if (ret == 0) + if (ret == 0) { mfc_dev->mem_dev[BANK1_CTX] = mfc_dev->mem_dev[BANK2_CTX] = dev; + vb2_dma_contig_set_max_seg_size(dev, + DMA_BIT_MASK(32)); + } + return ret; } @@ -1143,6 +1147,11 @@ static int s5p_mfc_configure_dma_memory(struct s5p_mfc_dev *mfc_dev) return -ENODEV; } + vb2_dma_contig_set_max_seg_size(mfc_dev->mem_dev[BANK1_CTX], + DMA_BIT_MASK(32)); + vb2_dma_contig_set_max_seg_size(mfc_dev->mem_dev[BANK2_CTX], + DMA_BIT_MASK(32)); + return 0; } @@ -1152,11 +1161,14 @@ static void s5p_mfc_unconfigure_dma_memory(struct s5p_mfc_dev *mfc_dev) if (exynos_is_iommu_available(dev)) { exynos_unconfigure_iommu(dev); + vb2_dma_contig_clear_max_seg_size(dev); return; } device_unregister(mfc_dev->mem_dev[BANK1_CTX]); device_unregister(mfc_dev->mem_dev[BANK2_CTX]); + vb2_dma_contig_clear_max_seg_size(mfc_dev->mem_dev[BANK1_CTX]); + vb2_dma_contig_clear_max_seg_size(mfc_dev->mem_dev[BANK2_CTX]); } /* MFC probe function */ @@ -1214,11 +1226,6 @@ static int s5p_mfc_probe(struct platform_device *pdev) goto err_dma; } - vb2_dma_contig_set_max_seg_size(dev->mem_dev[BANK1_CTX], - DMA_BIT_MASK(32)); - vb2_dma_contig_set_max_seg_size(dev->mem_dev[BANK2_CTX], - DMA_BIT_MASK(32)); - mutex_init(&dev->mfc_mutex); init_waitqueue_head(&dev->queue); dev->hw_lock = 0; @@ -1351,8 +1358,6 @@ static int s5p_mfc_remove(struct platform_device *pdev) v4l2_device_unregister(&dev->v4l2_dev); s5p_mfc_release_firmware(dev); s5p_mfc_unconfigure_dma_memory(dev); - vb2_dma_contig_clear_max_seg_size(dev->mem_dev[BANK1_CTX]); - vb2_dma_contig_clear_max_seg_size(dev->mem_dev[BANK2_CTX]); s5p_mfc_final_pm(dev); return 0;