• Linus Torvalds's avatar
    Merge tag 'iommu-updates-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 4dfc2788
    Linus Torvalds authored
    Pull IOMMU updates from Joerg Roedel:
     "Slightly more changes than usual this time:
    
       - KDump Kernel IOMMU take-over code for AMD IOMMU. The code now tries
         to preserve the mappings of the kernel so that master aborts for
         devices are avoided. Master aborts cause some devices to fail in
         the kdump kernel, so this code makes the dump more likely to
         succeed when AMD IOMMU is enabled.
    
       - common flush queue implementation for IOVA code users. The code is
         still optional, but AMD and Intel IOMMU drivers had their own
         implementation which is now unified.
    
       - finish support for iommu-groups. All drivers implement this feature
         now so that IOMMU core code can rely on it.
    
       - finish support for 'struct iommu_device' in iommu drivers. All
         drivers now use the interface.
    
       - new functions in the IOMMU-API for explicit IO/TLB flushing. This
         will help to reduce the number of IO/TLB flushes when IOMMU drivers
         support this interface.
    
       - support for mt2712 in the Mediatek IOMMU driver
    
       - new IOMMU driver for QCOM hardware
    
       - system PM support for ARM-SMMU
    
       - shutdown method for ARM-SMMU-v3
    
       - some constification patches
    
       - various other small improvements and fixes"
    
    * tag 'iommu-updates-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (87 commits)
      iommu/vt-d: Don't be too aggressive when clearing one context entry
      iommu: Introduce Interface for IOMMU TLB Flushing
      iommu/s390: Constify iommu_ops
      iommu/vt-d: Avoid calling virt_to_phys() on null pointer
      iommu/vt-d: IOMMU Page Request needs to check if address is canonical.
      arm/tegra: Call bus_set_iommu() after iommu_device_register()
      iommu/exynos: Constify iommu_ops
      iommu/ipmmu-vmsa: Make ipmmu_gather_ops const
      iommu/ipmmu-vmsa: Rereserving a free context before setting up a pagetable
      iommu/amd: Rename a few flush functions
      iommu/amd: Check if domain is NULL in get_domain() and return -EBUSY
      iommu/mediatek: Fix a build warning of BIT(32) in ARM
      iommu/mediatek: Fix a build fail of m4u_type
      iommu: qcom: annotate PM functions as __maybe_unused
      iommu/pamu: Fix PAMU boot crash
      memory: mtk-smi: Degrade SMI init to module_init
      iommu/mediatek: Enlarge the validate PA range for 4GB mode
      iommu/mediatek: Disable iommu clock when system suspend
      iommu/mediatek: Move pgtable allocation into domain_alloc
      iommu/mediatek: Merge 2 M4U HWs into one iommu domain
      ...
    4dfc2788
amd_iommu.c 101 KB