Hi Linus, The following changes since commit b562e44f507e863c6792946e4e1b1449fbbac85d: Linux 4.5 (2016-03-13 21:28:54 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git tags/iommu-updates-v4.6 for you to fetch changes up to 70cf769c5ba283483a42c46f3734202b55dd3041: Merge branches 'arm/rockchip', 'arm/exynos', 'arm/smmu', 'arm/mediatek', 'arm/io-pgtable', 'arm/renesas' and 'core' into next (2016-03-21 14:58:47 +0100) ---------------------------------------------------------------- IOMMU Updates for Linux v4.6 This time with: * Updates for the Exynos IOMMU driver to make use of default domains and to add support for the SYSMMU v5 * New Mediatek IOMMU driver * Support for the ARMv7 short descriptor format in the io-pgtable code * Default domain support for the ARM SMMU * Couple of other small fixes all over the place ---------------------------------------------------------------- Andrzej Hajda (1): iommu/mediatek: Fix handling of of_count_phandle_with_args result Anup Patel (1): of: iommu: Increment DT node refcount in of_iommu_set_ops() Arnd Bergmann (3): iommu/exynos: Pointers are nto physical addresses iommu/mediatek: Select ARM_DMA_USE_IOMMU iommu/mediatek: Mark PM functions as __maybe_unused Dan Carpenter (1): iommu/mediatek: Check for NULL instead of IS_ERR() Joerg Roedel (3): Merge branch 'for-joerg/io-pgtable' of git://git.kernel.org/.../will/linux into arm/io-pgtable Merge branch 'for-joerg/arm-smmu/updates' of git://git.kernel.org/.../will/linux into arm/smmu Merge branches 'arm/rockchip', 'arm/exynos', 'arm/smmu', 'arm/mediatek', 'arm/io-pgtable', 'arm/renesas' and 'core' into next Magnus Damm (1): iommu/ipmmu-vmsa: Add r8a7795 DT binding Marek Szyprowski (14): iommu/exynos: Rework iommu group initialization iommu/exynos: Add support for IOMMU_DOMAIN_DMA domain type iommu/exynos: Remove ARM-specific cache flush interface iommu/exynos: Simplify master clock operations iommu/exynos: Refactor code (no direct register access) iommu/exynos: Refactor fault handling code iommu/exynos: Refactor init config code iommu/exynos: Unify code for fldp cache invalidation iommu/exynos: Add support for SYSMMU controller with bogus version reg iommu/exynos: Update device tree documentation iommu/exynos: Add support for v5 SYSMMU iommu/exynos: Add Maintainers entry for Exynos SYSMMU driver iommu/exynos: Support multiple attach_device calls iommu/exynos: Use proper readl/writel register interface Robin Murphy (9): iommu/io-pgtable: Add ARMv7 short descriptor support iommu/io-pgtable: Add helper functions for TLB ops iommu/io-pgtable: Avoid redundant TLB syncs iommu/io-pgtable: Rationalise quirk handling iommu/arm-smmu: Treat all device transactions as unprivileged iommu/arm-smmu: Support DMA-API domains iommu/arm-smmu: Allow disabling unmatched stream bypass iommu/dma: Fix NEED_SG_DMA_LENGTH dependency iommu/io-pgtable-armv7s: Fix kmem_cache_alloc() flags Simon Horman (1): iommu/ipmmu-vmsa: Use ARCH_RENESAS Will Deacon (3): MAINTAINERS: update ARM SMMU entry iommu/arm-smmu: Don't fail device attach if already attached to a domain iommu/arm-smmu: Treat IOMMU_DOMAIN_DMA as bypass for now Yong Wu (5): dt-bindings: iommu: Add binding for mediatek IOMMU dt-bindings: mediatek: Add smi dts binding memory: mediatek: Add SMI driver iommu/mediatek: Add mt8173 IOMMU driver dts: mt8173: Add iommu/smi nodes for mt8173 Yoshihiro Shimoda (1): iommu: Fix second argument of trace_map() to report correct paddr ZhengShunQian (1): iommu/rockchip: Reconstruct to support multi slaves .../devicetree/bindings/iommu/mediatek,iommu.txt | 68 ++ .../bindings/iommu/renesas,ipmmu-vmsa.txt | 15 +- .../devicetree/bindings/iommu/samsung,sysmmu.txt | 22 +- .../memory-controllers/mediatek,smi-common.txt | 24 + .../memory-controllers/mediatek,smi-larb.txt | 25 + MAINTAINERS | 8 + arch/arm64/boot/dts/mediatek/mt8173.dtsi | 81 ++ drivers/iommu/Kconfig | 42 +- drivers/iommu/Makefile | 2 + drivers/iommu/arm-smmu-v3.c | 50 +- drivers/iommu/arm-smmu.c | 79 +- drivers/iommu/exynos-iommu.c | 608 +++++++++------ drivers/iommu/io-pgtable-arm-v7s.c | 846 +++++++++++++++++++++ drivers/iommu/io-pgtable-arm.c | 34 +- drivers/iommu/io-pgtable.c | 5 +- drivers/iommu/io-pgtable.h | 53 +- drivers/iommu/iommu.c | 3 +- drivers/iommu/mtk_iommu.c | 736 ++++++++++++++++++ drivers/iommu/of_iommu.c | 1 + drivers/iommu/rockchip-iommu.c | 214 ++++-- drivers/memory/Kconfig | 8 + drivers/memory/Makefile | 1 + drivers/memory/mtk-smi.c | 273 +++++++ include/dt-bindings/memory/mt8173-larb-port.h | 111 +++ include/soc/mediatek/smi.h | 58 ++ 25 files changed, 2953 insertions(+), 414 deletions(-) create mode 100644 Documentation/devicetree/bindings/iommu/mediatek,iommu.txt create mode 100644 Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.txt create mode 100644 Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt create mode 100644 drivers/iommu/io-pgtable-arm-v7s.c create mode 100644 drivers/iommu/mtk_iommu.c create mode 100644 drivers/memory/mtk-smi.c create mode 100644 include/dt-bindings/memory/mt8173-larb-port.h create mode 100644 include/soc/mediatek/smi.h There will be a trivial conflict in arch/arm64/boot/dts/mediatek/mt8173.dtsi when merging. I attach my resolution below anyway for reference. Please pull. Thanks, Joerg diff --cc arch/arm64/boot/dts/mediatek/mt8173.dtsi index f4bd3c9,8048811..f3fc041 --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi @@@ -277,11 -278,17 +278,22 @@@ reg = <0 0x10200620 0 0x20>; }; + efuse: efuse@10206000 { + compatible = "mediatek,mt8173-efuse"; + reg = <0 0x10206000 0 0x1000>; + }; + + iommu: iommu@10205000 { + compatible = "mediatek,mt8173-m4u"; + reg = <0 0x10205000 0 0x1000>; + interrupts = ; + clocks = <&infracfg CLK_INFRA_M4U>; + clock-names = "bclk"; + mediatek,larbs = <&larb0 &larb1 &larb2 + &larb3 &larb4 &larb5>; + #iommu-cells = <1>; + }; + apmixedsys: clock-controller@10209000 { compatible = "mediatek,mt8173-apmixedsys"; reg = <0 0x10209000 0 0x1000>;