[PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT

Cho KyongHo pullip.cho at samsung.com
Sun Nov 25 20:27:39 EST 2012


> -----Original Message-----
> From: Kukjin Kim [mailto:kgene.kim at samsung.com]
> Sent: Friday, November 23, 2012 5:08 PM
> Subject: RE: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
> 
> Cho KyongHo wrote:
> >
> > The current exynos-iommu(System MMU) driver does not work autonomously
> > since it is lack of support for power management of peripheral blocks.
> > For example, MFC device driver must ensure that its System MMU is disabled
> > before MFC block is power-down not to invalidate IOTLB in the System MMU
> > when I/O memory mapping is changed. Because A System MMU is resides in the
> > same H/W block, access to control registers of System MMU while the H/W
> > block is turned off must be prohibited.
> >
> > This set of changes solves the above problem with setting each System MMUs
> > as the parent of the device which owns the System MMU to recieve the
> > information when the device is turned off or turned on.
> >
> > Another big change to the driver is the support for devicetree.
> > The bindings for System MMU is described in
> > Documentation/devicetree/bindings/arm/samsung/system-mmu.txt
> >
> > In addition, this patchset also includes several bug fixes and
> > enhancements
> > of the current driver.
> >
> > Change log:
> > v4:
> > - Remove Change-Id from v3 patches
> > - Change the order of the third and the first patch
> >   Thanks to Kukjin Kim.
> > - Fix memory leak when allocating and assigning exynos_iommu_owner to
> > client
> >   device if the client device has multiple System MMUs.
> >   Thanks to Rahul Sharma.
> >
> > v3:
> > - Fix prefetch buffer flag definition for System MMU 3.3 (patch 10/12)
> > - Fix incorrect setting for SET_RUNTIME_PM_OPS (patch 09/12)
> >   Thanks to Prathyush.
> >
> > v2:
> > - Split the patch to iommu/exynos into 9 patches
> > - Support for System MMU 3.3
> > - Some code compaction
> >
> > Patch summary:
> > [PATCH v4 01/12] ARM: EXYNOS: Add clk_ops for gating clocks of System MMU
> > [PATCH v4 02/12] ARM: EXYNOS: add System MMU definition to DT
> > [PATCH v4 03/12] ARM: EXYNOS: remove system mmu initialization from exynos
> > tree
> > [PATCH v4 04/12] iommu/exynos: support for device tree
> > [PATCH v4 05/12] iommu/exynos: pass version information from DT
> > [PATCH v4 06/12] iommu/exynos: allocate lv2 page table from own slab
> > [PATCH v4 07/12] iommu/exynos: change rwlock to spinlock
> > [PATCH v4 08/12] iommu/exynos: set System MMU as the parent of client
> > device
> > [PATCH v4 09/12] iommu/exynos: add support for runtime pm and
> > suspend/resume
> > [PATCH v4 10/12] iommu/exynos: add support for System MMU 3.2 and 3.3
> > [PATCH v4 11/12] iommu/exynos: add literal name of System MMU for
> > debugging
> > [PATCH v4 12/12] iommu/exynos: add debugfs entries for System MMU
> >
> > Diffstats:
> >  .../devicetree/bindings/arm/exynos/system-mmu.txt  |   86 ++
> >  arch/arm/boot/dts/exynos4210.dtsi                  |   96 ++
> >  arch/arm/boot/dts/exynos4x12.dtsi                  |  124 ++
> >  arch/arm/boot/dts/exynos5250.dtsi                  |  147 +-
> >  arch/arm/mach-exynos/Kconfig                       |    5 -
> >  arch/arm/mach-exynos/Makefile                      |    1 -
> >  arch/arm/mach-exynos/clock-exynos4.c               |   41 +-
> >  arch/arm/mach-exynos/clock-exynos4210.c            |    9 +-
> >  arch/arm/mach-exynos/clock-exynos4212.c            |   23 +-
> >  arch/arm/mach-exynos/clock-exynos5.c               |   86 +-
> >  arch/arm/mach-exynos/dev-sysmmu.c                  |  274 ----
> >  arch/arm/mach-exynos/include/mach/sysmmu.h         |   66 -
> >  arch/arm/mach-exynos/mach-exynos4-dt.c             |   34 +
> >  arch/arm/mach-exynos/mach-exynos5-dt.c             |   30 +
> >  drivers/iommu/Kconfig                              |    2 +-
> >  drivers/iommu/exynos-iommu.c                       | 1428
> +++++++++++++++-----
> >  16 files changed, 1720 insertions(+), 732 deletions(-)
> 
> Looks good to me 1st~3rd patches. After quick review, I think, 1st and 2nd
> patches can go to upstream for v3.8 without any dependency. So I will.
> 
> The 3rd patch has a dependency with other driver changes (4th ~ 12th), so it
> should be sent to upstream with others.
> 
> BTW since the 3rd patch touches many Samsung stuff in arch/arm/ so I'd
> prefer to take it in Samsung tree. If Joerg is ok on iommu/exynos driver
> changes for v3.8...
> 
> Joerg, please let me know about iommu/exynos stuff so that I can decide to
> take 3rd patch or not for v3.8.
> 

Hi, Kukjin Kim.

I found that control bit fields of clock gating of System MMU of MFC L/R is inversed.
That is reported by Prathyush Kalashwaram.

I will post v5 patchset that solves this.

Thank you.

Cho KyongHo.




More information about the linux-arm-kernel mailing list