From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753196AbdLGMBx (ORCPT ); Thu, 7 Dec 2017 07:01:53 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:49817 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753142AbdLGMBu (ORCPT ); Thu, 7 Dec 2017 07:01:50 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20171207120147euoutp023eddefa77bb4c9c6a70b5f6206e8ddbc~_AXCHlb9W2240722407euoutp022 X-AuditID: cbfec7ef-f79ee6d000003120-a2-5a292daa58d9 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: Thu, 07 Dec 2017 13:01:45 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-version: 1.0 In-reply-to: <20171127090409.posgikgumpoq4wdm@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+97z3HOPm+N7R3xIflysqSFbfzwjplXbs9qqP/JHV5sOz/yI ozuUZkvOifNHljUchZp+YH5luEpKuKkRY0Z+rMyPkUNjQ23kPDT/vb6f7/v9/ey1fWlCZhQ6 0zGqJE6tUsbJKTHZ1LXR61Pl46040f1YyJR29AqZooUtitE+r6WY11WdAqasLZAZeFtCMeuV q0JG19ohYj4tT21T7pooRMxWP61GrNEwLmIbKnMotu1JtYjNH36J2Hcj6RRbv9giYFcaXC/T CvGpSC4uJoVT+wXfEEcPPyujEkft7mz8LhSlo0ysR1Y04JNQX7BA8OwAfRO1lB6JaRl+gWC+ 9QPBH1YQfHt/X7TX0FdOC/+n+kYXdiuzCJabJ7dTNG2HFfBxzNVSsMeeMFPTtJMh8C8Ezd0/ d16isD/ozXrKwhIcDCu5k6SFSewFupqiHT6Ir8NU3w/EZ6Swnj+xM7fC56Huj1lgYQIHwMym TsizG7ypNhM8O4JWN0JaFgP+S8GsMRvxCmehrHhyl+1g3tS4q+YCA/m5JM8PEWTojvNciKDX LOE5ED6b+neX2cCjpgLCIgxYAtlZMj7CwoPFPJIfnwZts61lLMOlBOh7YvOQm2GfjWGfgWGf gWGfQRkiK5E9l6yJj+I0/r4aZbwmWRXlG5EQ34C2P9TXTdNSC5rWXmlHmEZya0nf3FGFTKhM 0aTGtyOgCbm9ZNDGWyGTRCpT73LqhDB1chynaUeHaFLuKAlSZF2V4ShlEneT4xI59d6tgLZy TkeCC1Vqs62ckA6taTMiO4OD+luvld5OSNtSoVer9rmHReXeZ7JMnmkmaWe41u9iCTuX1j8e 60HU3foyeMAhPGGpq8nQGVzVE+0+lBNW4SRd6XU3hoJL+4xrC+nRFXrk0lZx5jm1k5dMyZSn WY+R9zKyWyOiVWYv35CKxu/zAXJSE630P0aoNcp/rU06NkwDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprIIsWRmVeSWpSXmKPExsVy+t/xq7qrdDWjDNo+y1nMP3KO1WLmm/9s Fs2L17NZrFx9lMliwX5ri8u75rBZ/Fj1hdWide8RdouDH54AWd3f2R24PNbMW8PosXPWXXaP Tas62Tz2z13D7jH5xnJGj903G9g8Nr7bweTxeZNcAEcUl01Kak5mWWqRvl0CV8aNRQvYCm4L V/z8OIO9gbFFoIuRk0NCwESia9VTVghbTOLCvfVsILaQwBJGiZUvfLsYuYDs54wS06+8ZgZJ CAtESTTPbQIrEhFQkXi2bhsbSBGzwGtGiaObfrBBdMxnlpg+ewcjSBWbgKFE19susA5eATuJ z92PWEBsFgFVidZ1M8FsUYEYicM901khagQlfky+BxbnFPCS2PDrLROIzSxgJvHl5WFWCFte YvOat8wQtrhEc+tNlgmMgrOQtM9C0jILScssJC0LGFlWMYqklhbnpucWG+kVJ+YWl+al6yXn 525iBEbUtmM/twD98C74EKMAB6MSD++Fl+pRQqyJZcWVuYcYJTiYlUR4r/BpRgnxpiRWVqUW 5ccXleakFh9ilOZgURLn7d2zOlJIID2xJDU7NbUgtQgmy8TBKdXAaPVASM+RUe3cWVcn450W IXuVRSduvf2gWGXd6+KDPwo6c+3a6npvX37OJWbtcPvU+99f8lXvXc1a69++6JxNbsq1OZHz lWUeLY15/ig0NVw+aOO/J3Ga9f8+n332+KPqmYerb+2rXsGpErRR3revVW1l+O7kzKqmtlrb 6xp7tpkefnxujojWTCWW4oxEQy3mouJEAFOSWTqkAgAA X-CMS-MailID: 20171207120146eucas1p27540cb15dfefcc92dd284f53286e9970 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> <20171127090409.posgikgumpoq4wdm@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 10:04, Peng Fan wrote: > On Mon, Nov 27, 2017 at 09:44:20AM +0100, Marek Szyprowski wrote: >> On 2017-11-27 09:37, Peng Fan wrote: >>> On Mon, Nov 27, 2017 at 09:31:00AM +0100, Marek Szyprowski wrote: >>>> 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. > So, you prefer this? > if (dma_dev->of_node) { > + of_reserved_mem_device_init(dev); > ret = of_dma_configure(dev, dma_dev->of_node); > > However in of_reserved_mem_device, there is also an call to > of_dma_configure. > > " > /* ensure that dma_ops is set for virtual devices > * using reserved memory > */ > ret = of_dma_configure(dev, np); > " > > If always call of_dma_configure, of_dma_configure maybe called twice. Right, I forgot about this. > I just checked more. of_reserved_mem_device_init only handle the first > memory-region. To nodes which have multiple memory-region, seems 2nd and etc > could not be handled, such as drivers/media/platform/s5p-mfc/s5p_mfc.c. Well, maybe automatic assignment should be done only when there is only one reserved region set? In case more than one region assigned to a device, the driver has to create virtual child devices and configure DMA for them to be able to let dma-mapping API to use those reserved regions. It looks that the call to of_dma_configure(dev, np) can be moved back to the driver (it was not possible at the time that code was merged due to missing export symbols). Configuring more than one reserved memory region for given device might then moved to some helper function to have a common code for that across the drivers. Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland