[git pull] IOMMU Updates for Linux v4.6

From: Joerg Roedel
Date: Tue Mar 22 2016 - 07:01:43 EST


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 = <GIC_SPI 139 IRQ_TYPE_LEVEL_LOW>;
+ 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>;

Attachment: signature.asc
Description: Digital signature