RE: [PATCH v8 0/2] ommu/exynos: Add IOMMU/System MMU driver forSamsung Exynos

From: Marek Szyprowski
Date: Mon Feb 27 2012 - 10:50:59 EST


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@xxxxxxxxxxx> 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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/