• Linus Torvalds's avatar
    Merge tag 'iommu-updates-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 19778dd5
    Linus Torvalds authored
    Pull IOMMU updates from Will Deacon:
     "There's a good mixture of improvements to the core code and driver
      changes across the board.
    
      One thing worth pointing out is that this includes a quirk to work
      around behaviour in the i915 driver (see 65f746e8 ("iommu: Add
      quirk for Intel graphic devices in map_sg")), which otherwise
      interacts badly with the conversion of the intel IOMMU driver over to
      the DMA-IOMMU APU but has being fixed properly in the DRM tree.
    
      We'll revert the quirk later this cycle once we've confirmed that
      things don't fall apart without it.
    
      Summary:
    
       - IOVA allocation optimisations and removal of unused code
    
       - Introduction of DOMAIN_ATTR_IO_PGTABLE_CFG for parameterising the
         page-table of an IOMMU domain
    
       - Support for changing the default domain type in sysfs
    
       - Optimisation to the way in which identity-mapped regions are
         created
    
       - Driver updates:
           * Arm SMMU updates, including continued work on Shared Virtual
             Memory
           * Tegra SMMU updates, including support for PCI devices
           * Intel VT-D updates, including conversion to the IOMMU-DMA API
    
       - Cleanup, kerneldoc and minor refactoring"
    
    * tag 'iommu-updates-v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (50 commits)
      iommu/amd: Add sanity check for interrupt remapping table length macros
      dma-iommu: remove __iommu_dma_mmap
      iommu/io-pgtable: Remove tlb_flush_leaf
      iommu: Stop exporting free_iova_mem()
      iommu: Stop exporting alloc_iova_mem()
      iommu: Delete split_and_remove_iova()
      iommu/io-pgtable-arm: Remove unused 'level' parameter from iopte_type() macro
      iommu: Defer the early return in arm_(v7s/lpae)_map
      iommu: Improve the performance for direct_mapping
      iommu: avoid taking iova_rbtree_lock twice
      iommu/vt-d: Avoid GFP_ATOMIC where it is not needed
      iommu/vt-d: Remove set but not used variable
      iommu: return error code when it can't get group
      iommu: Fix htmldocs warnings in sysfs-kernel-iommu_groups
      iommu: arm-smmu-impl: Add a space before open parenthesis
      iommu: arm-smmu-impl: Use table to list QCOM implementations
      iommu/arm-smmu: Move non-strict mode to use io_pgtable_domain_attr
      iommu/arm-smmu: Add support for pagetable config domain attribute
      iommu: Document usage of "/sys/kernel/iommu_groups/<grp_id>/type" file
      iommu: Take lock before reading iommu group default domain type
      ...
    19778dd5
io-pgtable-arm.c 32.6 KB