• Linus Torvalds's avatar
    Merge tag 'iommu-v4.15-rc1' of git://github.com/awilliam/linux-vfio · 2cd83ba5
    Linus Torvalds authored
    Pull IOMMU updates from Alex Williamson:
     "As Joerg mentioned[1], he's out on paternity leave through the end of
      the year and I'm filling in for him in the interim:
    
       - Enforce MSI multiple IRQ alignment in AMD IOMMU
    
       - VT-d PASID error handling fixes
    
       - Add r8a7795 IPMMU support
    
       - Manage runtime PM links on exynos at {add,remove}_device callbacks
    
       - Fix Mediatek driver name to avoid conflict
    
       - Add terminate support to qcom fault handler
    
       - 64-bit IOVA optimizations
    
       - Simplfy IOVA domain destruction, better use of rcache, and skip
         anchor nodes on copy
    
       - Convert to IOMMU TLB sync API in io-pgtable-arm{-v7s}
    
       - Drop command queue lock when waiting for CMD_SYNC completion on ARM
         SMMU implementations supporting MSI to cacheable memory
    
       - iomu-vmsa cleanup inspired by missed IOTLB sync callbacks
    
       - Fix sleeping lock with preemption disabled for RT
    
       - Dual MMU support for TI DRA7xx DSPs
    
       - Optional flush option on IOVA allocation avoiding overhead when
         caller can try other options
    
      [1] https://lkml.org/lkml/2017/10/22/72"
    
    * tag 'iommu-v4.15-rc1' of git://github.com/awilliam/linux-vfio: (54 commits)
      iommu/iova: Use raw_cpu_ptr() instead of get_cpu_ptr() for ->fq
      iommu/mediatek: Fix driver name
      iommu/ipmmu-vmsa: Hook up r8a7795 DT matching code
      iommu/ipmmu-vmsa: Allow two bit SL0
      iommu/ipmmu-vmsa: Make IMBUSCTR setup optional
      iommu/ipmmu-vmsa: Write IMCTR twice
      iommu/ipmmu-vmsa: IPMMU device is 40-bit bus master
      iommu/ipmmu-vmsa: Make use of IOMMU_OF_DECLARE()
      iommu/ipmmu-vmsa: Enable multi context support
      iommu/ipmmu-vmsa: Add optional root device feature
      iommu/ipmmu-vmsa: Introduce features, break out alias
      iommu/ipmmu-vmsa: Unify ipmmu_ops
      iommu/ipmmu-vmsa: Clean up struct ipmmu_vmsa_iommu_priv
      iommu/ipmmu-vmsa: Simplify group allocation
      iommu/ipmmu-vmsa: Unify domain alloc/free
      iommu/ipmmu-vmsa: Fix return value check in ipmmu_find_group_dma()
      iommu/vt-d: Clear pasid table entry when memory unbound
      iommu/vt-d: Clear Page Request Overflow fault bit
      iommu/vt-d: Missing checks for pasid tables if allocation fails
      iommu/amd: Limit the IOVA page range to the specified addresses
      ...
    2cd83ba5
amd_iommu.c 102 KB