• Linus Torvalds's avatar
    Merge tag 'iommu-updates-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 69a5c49a
    Linus Torvalds authored
    Pull iommu updates from Joerg Roedel:
    
     - New DART IOMMU driver for Apple Silicon M1 chips
    
     - Optimizations for iommu_[map/unmap] performance
    
     - Selective TLB flush support for the AMD IOMMU driver to make it more
       efficient on emulated IOMMUs
    
     - Rework IOVA setup and default domain type setting to move more code
       out of IOMMU drivers and to support runtime switching between certain
       types of default domains
    
     - VT-d Updates from Lu Baolu:
          - Update the virtual command related registers
          - Enable Intel IOMMU scalable mode by default
          - Preset A/D bits for user space DMA usage
          - Allow devices to have more than 32 outstanding PRs
          - Various cleanups
    
     - ARM SMMU Updates from Will Deacon:
          SMMUv3:
           - Minor optimisation to avoid zeroing struct members on CMD submission
           - Increased use of batched commands to reduce submission latency
           - Refactoring in preparation for ECMDQ support
          SMMUv2:
           - Fix races when probing devices with identical StreamIDs
           - Optimise walk cache flushing for Qualcomm implementations
           - Allow deep sleep states for some Qualcomm SoCs with shared clocks
    
     - Various smaller optimizations, cleanups, and fixes
    
    * tag 'iommu-updates-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (85 commits)
      iommu/io-pgtable: Abstract iommu_iotlb_gather access
      iommu/arm-smmu: Fix missing unlock on error in arm_smmu_device_group()
      iommu/vt-d: Add present bit check in pasid entry setup helpers
      iommu/vt-d: Use pasid_pte_is_present() helper function
      iommu/vt-d: Drop the kernel doc annotation
      iommu/vt-d: Allow devices to have more than 32 outstanding PRs
      iommu/vt-d: Preset A/D bits for user space DMA usage
      iommu/vt-d: Enable Intel IOMMU scalable mode by default
      iommu/vt-d: Refactor Kconfig a bit
      iommu/vt-d: Remove unnecessary oom message
      iommu/vt-d: Update the virtual command related registers
      iommu: Allow enabling non-strict mode dynamically
      iommu: Merge strictness and domain type configs
      iommu: Only log strictness for DMA domains
      iommu: Expose DMA domain strictness via sysfs
      iommu: Express DMA strictness via the domain type
      iommu/vt-d: Prepare for multiple DMA domain types
      iommu/arm-smmu: Prepare for multiple DMA domain types
      iommu/amd: Prepare for multiple DMA domain types
      iommu: Introduce explicit type for non-strict DMA domains
      ...
    69a5c49a
iommu.c 84.7 KB