From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751318AbdK0Io1 (ORCPT ); Mon, 27 Nov 2017 03:44:27 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:34748 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751224AbdK0IoZ (ORCPT ); Mon, 27 Nov 2017 03:44:25 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20171127084422euoutp019a34c06d2cb90684a49819b09aa47044~65N0DrSLy3268432684euoutp019 X-AuditID: cbfec7f4-f79ab6d000003290-4a-5a1bd066386a Subject: Re: [RFC 2/2] drivers: dma-mapping: parse per device reserved mem at probe time To: Peng Fan Cc: Peng Fan , hch@lst.de, robin.murphy@arm.com, gregkh@linuxfoundation.org, robh+dt@kernel.org, frowand.list@gmail.com, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org From: Marek Szyprowski Message-id: Date: Mon, 27 Nov 2017 09:44:20 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-version: 1.0 In-reply-to: <20171127083713.clh6oz5sgere4usq@linux-u7w5.ap.freescale.net> Content-type: text/plain; charset="utf-8"; format="flowed" Content-transfer-encoding: 7bit Content-language: en-US X-Brightmail-Tracker: H4sIAAAAAAAAA02SfyyUcRzH+949z3OPW6dvD+UzDLu0lYZs/nhGjK22ZzGTaq1bVhePYxx2 h2JtzO2UY0uZqSNsouGiJJTOr/xYMclVY4t+rFiJiIV/yNPD5r/X5/15f76fz3v70lKmlXSm E5LTeF2yOklJyYnWgbUR77hRF9XRlW8kW9k3QrJ3f21QrKG6iWLrGvolbFVXIGt7Xk6xq/XL JGu09snYnoVNr7FgRRYi5ywVFsQ9M0/KuOb6fIrrumeRccXjDxDXMZFDcY/n2yXcUrNbJK2S H4vlkxIyeJ1v8CV5vHX8bKqZuWp7U0fkoGl7E7KjAfvDmukFKfJ+GJ1qokxITjO4BsHgjw6J WCwhGC60kdsTLa9NW41aBJ2jM0gsZhDM1vXLTIimHbAKuj+6CQOO2BOmG1v/PyvFswjaXn2R CQ0K+4FpzkQJfgUOhj+VWJAJfBDqeub+L9uHL0BDdTshsALvhdXiKUKw2+GTYOkIE2QpDoDp dSMpsjs8scxJRXYCg3GCENYC3qDAWv53K8Bx+Fq5scUO8HOwRSayK9iKCwiRbyLINR4R+Q6C kTmFyIHwcvDt1jJ7uN1aKhXuAayAG3mMaOHg+nwRIcqhYGjbI8gMrpfAxrRnEXI37whj3pHA vCOBeUeCKkTUI0c+Xa/V8Hp/H71aq09P1vjEpGib0eZvGlofXG5H1QMBvQjTSLlb4RHuomJI dYY+U9uLgJYqHRX4irOKUcSqM7N4XcpFXXoSr+9FLjShdFIEqfLOM1ijTuMTeT6V1213JbSd cw7KTDd6JZ/RuB4Y6TlnfC8J8irpO6HJjn5au9gS6j2QFVX6aXw8Kl8aQlS2aw+HNH6PI72Y 8NGwlrGYydOXUz4PWxMnPHfdZ6+VHbIvGer0rJkYM2SVaRYeRdtc3oWtFlqs+PdU92K0d8SH 7MjlUkPs4sNbER691txTq+vLvmEVcUpCH6/285Lq9Op/KNW2EEkDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupjkeLIzCtJLcpLzFFi42I5/e/4Vd3UC9JRBrMOi1nMP3KO1WLmm/9s Fs2L17NZrFx9lMliwX5ri8u75rBZ/Fj1hdWide8RdouDH54AWd3f2R24PNbMW8PosXPWXXaP Tas62Tz2z13D7jH5xnJGj903G9g8Nr7bweTxeZNcAEcUl01Kak5mWWqRvl0CV8beG6EFs4Qq Lp9fydLA+Iyvi5GTQ0LARGLLqS4mCFtM4sK99WxdjFwcQgJLGCXedixnhXCeM0qs6f7KClIl LBAl0Ty3iQ3EFhFQkXi2bhtYB7PAa0aJo5t+gCWEBFYxSSx7BzaWTcBQouttF1Ccg4NXwE7i 03wBkDCLgKrEyoNvwWaKCsRITHxwkRHE5hUQlPgx+R4LSDmngJfEmt3eIGFmATOJLy8Ps0LY 8hKb17xlhrDFJZpbb7JMYBSchaR7FpKWWUhaZiFpWcDIsopRJLW0ODc9t9hIrzgxt7g0L10v OT93EyMwlrYd+7llB2PXu+BDjAIcjEo8vAo+0lFCrIllxZW5hxglOJiVRHgFyqWihHhTEiur Uovy44tKc1KLDzFKc7AoifP27lkdKSSQnliSmp2aWpBaBJNl4uCUamDkCpOcevXQUpVdcc7e a7bqvTDr/JU9V6+ncRmvmv03nhcO5kLBwTd960/d/a8p/0FWry9iK8OTMhb7uEMqIv21Wbx+ 5xdwlFoLdouZ5Th+P83NH3fqzGORklufJPYdni2a4igXuvbtgbK0RyeWMMXxijiJ7LDhSvg7 8dDW+6urQxXL5woqRyuxFGckGmoxFxUnAgByr3NEoQIAAA== X-CMS-MailID: 20171127084421eucas1p21e0d2d905eac4622a40821a5c3489325 X-Msg-Generator: CA CMS-TYPE: 201P X-CMS-RootMailID: 20171126131432epcas4p23145c6f438f7f186545456960f284b91 X-RootMTR: 20171126131432epcas4p23145c6f438f7f186545456960f284b91 References: <20171126131346.12532-1-peng.fan@nxp.com> <20171126131346.12532-2-peng.fan@nxp.com> <875c3a8c-a857-823e-0243-487d1dd9bee7@samsung.com> <20171127083713.clh6oz5sgere4usq@linux-u7w5.ap.freescale.net> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Peng, On 2017-11-27 09:37, Peng Fan wrote: > Hi Marek, > > On Mon, Nov 27, 2017 at 09:31:00AM +0100, Marek Szyprowski wrote: >> Hi >> >> On 2017-11-26 14:13, Peng Fan wrote: >>> Invoke of_reserved_mem_device_init at dma_configure, then >>> there is no need to call of_reserved_mem_device_init in device >>> specific probe function. >>> >>> Signed-off-by: Peng Fan >> This has been already tried long time ago, without success: >> http://patches.linaro.org/patch/33558/ > Thanks for the info. I should first search mail list before > sending out patches. It doesn't mean that I'm against such idea. I just pointed that I've already tried. That time, however there was no dma_configure() function yet, which seems to be better place for of_rmem_device_init(). I would however always call of_dma_configure(), even when reserved mem node is there. IIRC on ARM64 that function configures dma_ops, without which no dma is possible at all. > > Thanks, > Peng. > >>> --- >>> drivers/base/dma-mapping.c | 6 +++++- >>> 1 file changed, 5 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/base/dma-mapping.c b/drivers/base/dma-mapping.c >>> index e584eddef0a7..55dca06a7b55 100644 >>> --- a/drivers/base/dma-mapping.c >>> +++ b/drivers/base/dma-mapping.c >>> @@ -12,6 +12,7 @@ >>> #include >>> #include >>> #include >>> +#include >>> #include >>> #include >>> @@ -351,7 +352,9 @@ int dma_configure(struct device *dev) >>> } >>> if (dma_dev->of_node) { >>> - ret = of_dma_configure(dev, dma_dev->of_node); >>> + ret = of_reserved_mem_device_init(dev); >>> + if (ret) >>> + ret = of_dma_configure(dev, dma_dev->of_node); >>> } else if (has_acpi_companion(dma_dev)) { >>> attr = acpi_get_dma_attr(to_acpi_device_node(dma_dev->fwnode)); >>> if (attr != DEV_DMA_NOT_SUPPORTED) >>> @@ -367,5 +370,6 @@ int dma_configure(struct device *dev) >>> void dma_deconfigure(struct device *dev) >>> { >>> of_dma_deconfigure(dev); >>> + of_reserved_mem_device_release(dev); >>> acpi_dma_deconfigure(dev); >>> } Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland