[PATCH v8 0/2] ommu/exynos: Add IOMMU/System MMU driver for Samsung Exynos
Marek Szyprowski
m.szyprowski at samsung.com
Mon Feb 27 10:51:53 EST 2012
Hello,
On Friday, February 24, 2012 5:09 PM KyongHo Cho wrote:
> On Fri, Feb 24, 2012 at 10:45 PM, Marek Szyprowski
> <m.szyprowski at samsung.com> wrote:
> > Hi,
> >
> > On Thursday, December 29, 2011 1:24 PM KyongHo Cho wrote:
> >
> >> Changes since v7:
> >> - Rebased with the recent commits of the following git branches
> >> * git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git/next
> >> * git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung.git/for-next
> >> - Changed magic numbers into macros
> >> - Setting owner of a System MMU in 'iommu' field of dev_archdata
> >> - Verbose message in the default fault handler
> >> - Some bug fixes.
> >
> > (snipped)
> >
> > The time is flying away and v3.4 merge windows will open soon. Do you plan to
> > send an updated version of the SYSMMU driver anytime soon? It will be really
> > nice to have it finally merged to v3.4.
> >
>
> Thank you for asking.
>
> I prepared a new patchset and it is ready for submitting.
> It includes several bugfixes and Exynos5 support.
>
> The last patche submitted has a bug when the following situation:
> 1. Allocating a 2nd level page table to map 4KB or 64KB on a virtual region
> 2. Unmapped all entries in the 2nd level page table.
> 3. Mapping to the same region with 1MB page.
> Then iommu_map() will return -EADDRINUSE due to incorrect counting
> free entries in 2nd level page table.
>
> The next patch will be submitted by 2/28.
Ok, I will check it soon then.
> BTW Marek, I want to know why MFC driver defines separate platform devices
> for left and right buses.
This is required for S5PV210 which has no iommu and requires contiguous memory
from 2 separate physical memory banks. It use dma_declare_coherent to define
memory for each bus separately. One platform device can have only one coherent
memory range defined, that's why there are two devices created.
> The next IOMMU driver defines just one platform device for a H/W device.
> Thus, it defines just one SYSMMU_MFC platform device, for example.
> (the previous one defines 2 platform devices for SYSMMU_MFC)
Exynos4210 has 2 iommu controllers for MFC device - one for each memory bus.
Each MFC bus can address 128MiB of IO address space. Do you mean that the new driver
will merge these 2 controllers into one? This way we will lose half of address space
for MFC device.
> However, it is easy to separate the single platform device to multiple
> platform devices.
Best regards
--
Marek Szyprowski
Samsung Poland R&D Center
More information about the linux-arm-kernel
mailing list