Hi, This series provides: (1) Unified SMMU driver among Tegra SoCs (2) Multiple Address Space support(MASID) in IOMMU(SMMMU) (3) Tegra IOMMU'able devices, most of platform devices are IOMMU'able. There's some discussion[1] about device population order, which could solve the following patches. patch 1: [HACK] of: dev_node has struct device pointer patch 2: [HACK] ARM: tegra: Populate AHB/IOMMU earlier than others patch 3: [HACK] amba: Move AHB to core_initcall patch 4: [HACK] iommu/tegra: smmu: Move IOMMU to core_initcall Tested IOMMU functionality with T30 SD/MMC. Any further testing with T114 and/or other devices would be really appreciated. v3: Updated based on Stephen Warren's feedback v2: Updated based on Thierry Reding's and Stephen Warren's feedback v2: http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/181888.html v1: http://lists.infradead.org/pipermail/linux-arm-kernel/2013-June/180267.html Available in the git repository at: git://git@xxxxxxxxxxxxxxxxxxx/user/hdoyu/linux.git smmu-upstreaming@20131018 Hiroshi Doyu (19): [HACK] of: dev_node has struct device pointer [HACK] ARM: tegra: Populate AHB/IOMMU earlier than others [HACK] amba: Move AHB to core_initcall [HACK] iommu/tegra: smmu: Move IOMMU to core_initcall ARM: dt: tegra114: iommu: Fix IOMMU register address iommu/tegra: smmu: Select ARM_DMA_USE_IOMMU in Kconfig iommu/tegra: smmu: Create default IOVA maps iommu/tegra: smmu: Register platform_device to IOMMU dynamically iommu/tegra: smmu: Calculate ASID register offset by ID iommu/tegra: smmu: Get "nvidia,swgroups" from DT ARM: dt: tegra30: iommu: Add "nvidia,swgroups" ARM: dt: tegra114: iommu: Add "nvidia,swgroups" iommu/tegra: smmu: Workaround PCIe IOMMU'able iommu/tegra: smmu: Get "nvidia,memory-clients" from DT ARM: tegra: Create a DT header defining SWGROUP ID iommu/tegra: smmu: Use dt-bindings MACRO ARM: dt: tegra30: iommu: Add "nvidia,memory-clients" ARM: dt: tegra114: iommu: Add "nvidia,memory-clients" iommu/tegra: smmu: Support Multiple ASID .../bindings/iommu/nvidia,tegra30-smmu.txt | 22 ++- arch/arm/boot/dts/tegra114.dtsi | 15 +- arch/arm/boot/dts/tegra30.dtsi | 23 ++- arch/arm/mach-tegra/tegra.c | 22 +++ drivers/amba/tegra-ahb.c | 7 +- drivers/iommu/Kconfig | 1 + drivers/iommu/tegra-smmu.c | 198 ++++++++++++--------- drivers/of/platform.c | 6 + include/dt-bindings/memory/tegra-swgroup.h | 46 +++++ include/linux/of.h | 1 + 10 files changed, 253 insertions(+), 88 deletions(-) create mode 100644 include/dt-bindings/memory/tegra-swgroup.h -- 1.8.1.5 -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html