From subashrp@gmail.com Tue Jan 1 01:07:50 2013 From: Subash Patel To: linaro-mm-sig@lists.linaro.org Subject: Re: [Linaro-mm-sig] [PATCH] arm: dma mapping: export arm iommu functions Date: Mon, 31 Dec 2012 17:07:46 -0800 Message-ID: <50E236E2.9050305@gmail.com> In-Reply-To: <20121229065356.GA13760@quad.lixom.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5070972004418167294==" --===============5070972004418167294== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Friday 28 December 2012 10:53 PM, Olof Johansson wrote: > On Fri, Dec 28, 2012 at 09:53:47AM +0530, Prathyush K wrote: >> On Thu, Dec 27, 2012 at 7:45 PM, Marek Szyprowski >> wrote: >> >>> Hello, >>> >>> >>> On 12/27/2012 8:14 AM, Prathyush K wrote: >>> >>>> This patch adds EXPORT_SYMBOL calls to the three arm iommu >>>> functions - arm_iommu_create_mapping, arm_iommu_free_mapping >>>> and arm_iommu_attach_device. These functions can now be called >>>> from dynamic modules. >>>> >>> >>> Could You describe a bit more why those functions might be needed by >>> dynamic modules? >>> >>> Hi Marek, >> >> We are adding iommu support to exynos gsc and s5p-mfc. >> And these two drivers need to be built as modules to improve boot time. >> >> We're calling these three functions from inside these drivers: >> e.g. >> mapping =3D arm_iommu_create_mapping(&platform_bus_type, 0x20000000, SZ_25= 6M, >> 4); >> arm_iommu_attach_device(mdev, mapping); > > The driver shouldn't have to call these low-level functions directly, > something's wrong if you need that. These are not truly low-level calls, but arm specific wrappers to the=20 dma-mapping implementations. Drivers need to call former to declare=20 mappings requirement needed for their IOMMU and later to start using it. > > How is the DMA address management different here from other system/io mmus?= is > that 256M window a hardware restriction? No, each IOMMU is capable of 4G. But to keep the IOMMU address space to=20 what is required, various sizes were used earlier and later fixed on to=20 256M. This can be increased if the drivers demand more buffers mapped to=20 the device at anytime. Regards, Subash > > -Olof > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo(a)kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: email(a)kvack.org > --===============5070972004418167294==--