aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/intel/iommu.c
AgeCommit message (Expand)AuthorFilesLines
6 daysMerge tag 'soc-drivers-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-4/+8
14 daysiommupt/vtd: Support mgaw's less than a 4 level walk for first stageJason Gunthorpe1-14/+24
14 daysiommupt/vtd: Allow VT-d to have a larger table top than the vasz requiresJason Gunthorpe1-7/+13
2025-11-20iommu/vt-d: Restore previous domain::aperture_end calculationLu Baolu1-0/+10
2025-11-14syscore: Pass context data to callbacksThierry Reding1-4/+8
2025-11-05iommu/vt-d: Follow PT_FEAT_DMA_INCOHERENT into the PASID entryJason Gunthorpe1-2/+6
2025-11-05iommu/vt-d: Use the generic iommu page tableJason Gunthorpe1-758/+143
2025-10-27iommu: Pass in old domain to attach_dev callback functionsNicolin Chen1-3/+7
2025-09-26Merge branches 'apple/dart', 'ti/omap', 'riscv', 'intel/vt-d' and 'amd/amd-vi...Joerg Roedel1-1/+1
2025-09-19iommu/vt-d: PRS isn't usable if PDS isn't supportedLu Baolu1-1/+1
2025-09-05iommu/vt-d: Fix __domain_mapping()'s usage of switch_to_super_page()Eugene Koira1-1/+6
2025-08-01Merge tag 'pci-v6.17-changes' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-1/+1
2025-07-31Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-1/+6
2025-07-30Merge tag 'iommu-updates-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-124/+230
2025-07-24Merge branch 'intel/vt-d' into nextWill Deacon1-123/+230
2025-07-23iommu/vt-d: Fix UAF on sva unbind with pending IOPFsLu Baolu1-1/+1
2025-07-21iommu/vt-d: Make iotlb_sync_map a static property of dmar_domainLu Baolu1-14/+29
2025-07-17iommu/vt-d: Use pci_is_display()Mario Limonciello1-1/+1
2025-07-14iommu/vt-d: Split paging_domain_compatible()Jason Gunthorpe1-12/+54
2025-07-14iommu/vt-d: Split intel_iommu_enforce_cache_coherency()Jason Gunthorpe1-25/+22
2025-07-14iommu/vt-d: Create unique domain ops for each stageJason Gunthorpe1-18/+42
2025-07-14iommu/vt-d: Split intel_iommu_domain_alloc_paging_flags()Jason Gunthorpe1-42/+58
2025-07-14iommu/vt-d: Do not wipe out the page table NID when devices detachJason Gunthorpe1-1/+0
2025-07-14iommu/vt-d: Fold domain_exit() into intel_iommu_domain_free()Jason Gunthorpe1-20/+18
2025-07-14iommu/vt-d: Lift the __pa to domain_setup_first_level/intel_svm_set_dev_pasid()Jason Gunthorpe1-8/+7
2025-07-14iommu/vt-d: Optimize iotlb_sync_map for non-caching/non-RWBF modesLu Baolu1-1/+18
2025-07-11iommu: Allow an input type in hw_info opNicolin Chen1-0/+4
2025-07-10iommu: Use enum iommu_hw_info_type for type in hw_info opNicolin Chen1-1/+2
2025-07-04iommu/vt-d: Assign devtlb cache tag on ATS enablementLu Baolu1-1/+10
2025-06-27iommu: Remove ops.pgsize_bitmap from drivers that don't use itJason Gunthorpe1-1/+0
2025-05-23Merge branches 'fixes', 'apple/dart', 'arm/smmu/updates', 'arm/smmu/bindings'...Joerg Roedel1-142/+102
2025-05-23iommu/vt-d: Restore context entry setup order for aliased devicesLu Baolu1-0/+11
2025-05-16iommu/vt-d: Change dmar_ats_supported() to return booleanWei Wang1-9/+10
2025-05-16iommu/vt-d: Eliminate pci_physfn() in dmar_find_matched_satc_unit()Wei Wang1-1/+0
2025-05-16iommu/vt-d: Replace spin_lock with mutex to protect domain idaLu Baolu1-8/+4
2025-05-16iommu/vt-d: Use ida to manage domain idLu Baolu1-64/+16
2025-05-16iommu/vt-d: Restore WO permissions on second-level paging entriesJason Gunthorpe1-2/+1
2025-04-28iommu: Remove iommu_dev_enable/disable_feature()Lu Baolu1-25/+0
2025-04-28iommu/vt-d: Put iopf enablement in domain attach pathLu Baolu1-6/+36
2025-04-28iommu: Remove IOMMU_DEV_FEAT_SVAJason Gunthorpe1-6/+0
2025-04-28iommu/vt-d: Apply quirk_iommu_igfx for 8086:0044 (QM57/QS57)Mingcong Bai1-1/+3
2025-04-17iommu/vt-d: Revert ATS timing change to fix boot failureLu Baolu1-12/+19
2025-04-17iommu/pages: Remove iommu_alloc_page_node()Jason Gunthorpe1-5/+8
2025-04-17iommu: Change iommu_iotlb_gather to use iommu_page_listJason Gunthorpe1-12/+12
2025-04-17iommu/pages: Remove iommu_free_page()Jason Gunthorpe1-6/+6
2025-04-11iommu/vt-d: Remove an unnecessary call set_dma_ops()Petr Tesarik1-1/+0
2025-04-01Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-1/+2
2025-03-25iommu/vt-d: Add IOMMU_HWPT_ALLOC_PASID supportYi Liu1-1/+2
2025-03-20Merge branches 'apple/dart', 'arm/smmu/updates', 'arm/smmu/bindings', 'rockch...Joerg Roedel1-153/+86
2025-03-20iommu/vt-d: Fix possible circular locking dependencyLu Baolu1-0/+2
2025-03-10iommu/vt-d: Cleanup intel_context_flush_present()Lu Baolu1-1/+1
2025-03-10iommu/vt-d: Move PRI enablement in probe pathLu Baolu1-89/+48
2025-03-10iommu/vt-d: Move scalable mode ATS enablement to probe pathLu Baolu1-24/+27
2025-03-10iommu/vt-d: Check if SVA is supported when attaching the SVA domainJason Gunthorpe1-36/+1
2025-03-10iommu/vt-d: Use virt_to_phys()Jason Gunthorpe1-1/+2
2025-03-10iommu/vt-d: Fix system hang on reboot -fYunhui Cui1-7/+10
2025-02-28iommu/vt-d: Fix suspicious RCU usageLu Baolu1-0/+7
2025-02-28iommu/vt-d: Remove device comparison in context_setup_pass_through_cbJerry Snitselaar1-3/+0
2025-01-24Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-2/+1
2025-01-17Merge branches 'arm/smmu/updates', 'arm/smmu/bindings', 'qualcomm/msm', 'rock...Joerg Roedel1-32/+15
2025-01-07iommu/vt-d: Remove iommu cap auditLu Baolu1-9/+0
2025-01-07iommu/vt-d: Remove domain_alloc_paging()Jason Gunthorpe1-16/+0
2025-01-07iommu/vt-d: Avoid use of NULL after WARN_ON_ONCEKees Bakker1-3/+4
2024-12-18iommu/vt-d: Make the blocked domain support PASIDYi Liu1-4/+11
2024-12-13iommu/vt-d: Remove cache tags before disabling ATSLu Baolu1-1/+3
2024-12-11iommufd: Deal with IOMMU_HWPT_FAULT_ID_VALID in iommufd coreYi Liu1-2/+1
2024-11-22iommu: Rename ops->domain_alloc_user() to domain_alloc_paging_flags()Jason Gunthorpe1-7/+3
2024-11-22iommu: Add ops->domain_alloc_nested()Jason Gunthorpe1-6/+3
2024-11-15Merge branches 'intel/vt-d', 'amd/amd-vi' and 'iommufd/arm-smmuv3-nested' int...Joerg Roedel1-352/+224
2024-11-08iommu/vt-d: Add set_dev_pasid callback for nested domainYi Liu1-6/+0
2024-11-08iommu/vt-d: Make identity_domain_set_dev_pasid() to handle domain replacementYi Liu1-1/+18
2024-11-08iommu/vt-d: Make intel_svm_set_dev_pasid() support domain replacementYi Liu1-4/+4
2024-11-08iommu/vt-d: Limit intel_iommu_set_dev_pasid() for paging domainYi Liu1-2/+4
2024-11-08iommu/vt-d: Make intel_iommu_set_dev_pasid() to handle domain replacementYi Liu1-9/+37
2024-11-08iommu/vt-d: Consolidate the struct dev_pasid_info add/removeYi Liu1-30/+61
2024-11-08iommu: Pass old domain to set_dev_pasid opYi Liu1-2/+4
2024-11-05iommu/vt-d: Drain PRQs when domain removed from RIDLu Baolu1-1/+0
2024-11-05iommu/vt-d: Drop pasid requirement for prq initializationKlaus Jensen1-6/+4
2024-11-05iommufd: Enable PRI when doing the iommufd_hwpt_allocJoel Granados1-1/+2
2024-11-05iommu/vt-d: Separate page request queue from SVMJoel Granados1-13/+7
2024-11-05iommu/vt-d: Fix checks and print in pgtable_walk()Zhenzhong Duan1-5/+6
2024-11-05iommu/vt-d: Fix checks and print in dmar_fault_dump_ptes()Zhenzhong Duan1-9/+20
2024-11-05iommu/vt-d: Use PCI_DEVID() macroJinjie Ruan1-2/+2
2024-11-05iommu/vt-d: Refine intel_iommu_domain_alloc_user()Lu Baolu1-2/+15
2024-11-05iommu/vt-d: Refactor first_level_by_default()Lu Baolu1-8/+9
2024-11-05iommu/vt-d: Remove domain_update_iommu_superpage()Lu Baolu1-38/+1
2024-11-05iommu/vt-d: Remove domain_update_iommu_cap()Lu Baolu1-83/+0
2024-11-05iommu/vt-d: Enhance compatibility check for paging domain attachLu Baolu1-47/+23
2024-11-05iommu/vt-d: Remove unused domain_alloc callbackLu Baolu1-90/+0
2024-11-05iommu/vt-d: Add domain_alloc_paging supportLu Baolu1-0/+14
2024-10-15iommu/vt-d: Fix incorrect pci_for_each_dma_alias() for non-PCI devicesLu Baolu1-1/+3
2024-09-13Merge branches 'fixes', 'arm/smmu', 'intel/vt-d', 'amd/amd-vi' and 'core' int...Joerg Roedel1-284/+220
2024-09-02iommu/vt-d: Add qi_batch for dmar_domainLu Baolu1-0/+1
2024-09-02iommu/vt-d: Refactor IOTLB and Dev-IOTLB flush for batchingTina Zhang1-3/+2
2024-09-02iommu/vt-d: Move PCI PASID enablement to probe pathLu Baolu1-14/+15
2024-09-02iommu/vt-d: Cleanup si_domainLu Baolu1-72/+19
2024-09-02iommu/vt-d: Add support for static identity domainLu Baolu1-4/+110
2024-09-02iommu/vt-d: Factor out helpers from domain_context_mapping_one()Lu Baolu1-41/+58
2024-09-02iommu/vt-d: Remove has_iotlb_device flagLu Baolu1-33/+1
2024-09-02iommu/vt-d: Always reserve a domain ID for identity setupLu Baolu1-3/+3
2024-09-02iommu/vt-d: Remove identity mappings from si_domainLu Baolu1-118/+4
2024-09-02iommu/vt-d: Require DMA domain if hardware not support passthroughLu Baolu1-0/+10
2024-08-30iommu: Allow ATS to work on VFs when the PF uses IDENTITYJason Gunthorpe1-0/+1
2024-08-26iommu/vt-d: Fix incorrect domain ID in context flush helperLu Baolu1-2/+6
2024-07-19Merge tag 'iommu-updates-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-59/+137
2024-07-12iommu/vt-d: Fix identity map bounds in si_domain_init()Jon Pan-Doh1-1/+1
2024-07-03iommu/vt-d: Refactor PCI PRI enabling/disabling callbacksLu Baolu1-5/+52
2024-07-03iommu/vt-d: Add helper to flush caches for context changeLu Baolu1-31/+1
2024-07-03iommu/vt-d: Add helper to allocate paging domainLu Baolu1-9/+81
2024-07-03iommu/vt-d: Remove control over Execute-Requested requestsLu Baolu1-2/+2
2024-07-03iommu/vt-d: Remove comment for def_domain_typeLu Baolu1-11/+0
2024-06-27iommu/vt-d: Fix missed device TLB cache tagLu Baolu1-10/+10
2024-05-13Merge branches 'arm/renesas', 'arm/smmu', 'x86/amd', 'core' and 'x86/vt-d' in...Joerg Roedel1-322/+61
2024-05-06iommu/vt-d: Decouple igfx_off from graphic identity mappingLu Baolu1-13/+6
2024-04-26iommu/dma: Centralise iommu_setup_dma_ops()Robin Murphy1-7/+0
2024-04-26iommu/vt-d: Remove struct intel_svmLu Baolu1-10/+1
2024-04-26iommu/vt-d: Remove intel_svm_devLu Baolu1-5/+2
2024-04-26iommu/vt-d: Cleanup use of iommu_flush_iotlb_psi()Lu Baolu1-169/+2
2024-04-26iommu/vt-d: Use cache_tag_flush_range_np() in iotlb_sync_mapLu Baolu1-21/+1
2024-04-26iommu/vt-d: Use cache_tag_flush_range() in tlb_syncLu Baolu1-19/+2
2024-04-26iommu/vt-d: Use cache_tag_flush_all() in flush_iotlb_allLu Baolu1-19/+1
2024-04-26iommu/vt-d: Add cache tag invalidation helpersLu Baolu1-12/+0
2024-04-26iommu/vt-d: Add cache tag assignment interfaceLu Baolu1-2/+26
2024-04-26iommu/vt-d: Remove caching mode check before device TLB flushLu Baolu1-7/+2
2024-04-26iommu/vt-d: Use try_cmpxchg64{,_local}() in iommu.cUros Bizjak1-4/+5
2024-04-15iommu/vt-d: add wrapper functions for page allocationsPasha Tatashin1-31/+16
2024-04-12iommu: Pass domain to remove_dev_pasid() opYi Liu1-8/+3
2024-04-12iommu/vt-d: Fix WARN_ON in iommu probe pathLu Baolu1-4/+7
2024-03-08Merge branches 'arm/mediatek', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/am...Joerg Roedel1-179/+158
2024-03-06iommu/vt-d: Remove scalabe mode in domain_context_clear_one()Lu Baolu1-14/+1
2024-03-06iommu/vt-d: Remove scalable mode context entry setup from attach_devLu Baolu1-112/+44
2024-03-06iommu/vt-d: Setup scalable mode context entry in probe pathLu Baolu1-0/+12
2024-03-06iommu/vt-d: Fix NULL domain on device releaseLu Baolu1-25/+6
2024-03-01iommu/vt-d: Use device rbtree in iopf reporting pathLu Baolu1-0/+3
2024-03-01iommu/vt-d: Use rbtree to track iommu probed devicesLu Baolu1-2/+86
2024-03-01iommu/vt-d: Remove INTEL_IOMMU_BROKEN_GFX_WALu Baolu1-4/+0
2024-02-21iommu/vt-d: Add missing dirty tracking set for parent domainYi Liu1-0/+35
2024-02-21iommu/vt-d: Wrap the dirty tracking loop to be a helperYi Liu1-11/+24
2024-02-21iommu/vt-d: Remove domain parameter for intel_pasid_setup_dirty_tracking()Yi Liu1-4/+3
2024-02-21iommu/vt-d: Add missing device iotlb flush for parent domainYi Liu1-0/+18
2024-02-21iommu/vt-d: Update iotlb in nested domain attachYi Liu1-3/+1
2024-02-21iommu/vt-d: Add missing iotlb flush for parent domainYi Liu1-0/+31
2024-02-21iommu/vt-d: Add __iommu_flush_iotlb_psi()Yi Liu1-35/+43
2024-02-21iommu/vt-d: Track nested domains in parentYi Liu1-4/+14
2024-02-16iommu: Improve iopf_queue_remove_device()Lu Baolu1-6/+1
2024-02-16iommu: Separate SVA and IOPFLu Baolu1-1/+0
2024-02-16iommu: Remove iommu_[un]register_device_fault_handler()Lu Baolu1-17/+7
2024-01-03Merge branches 'apple/dart', 'arm/rockchip', 'arm/smmu', 'virtio', 'x86/vt-d'...Joerg Roedel1-217/+24
2023-12-19iommu/vt-d: Move inline helpers to header filesLu Baolu1-192/+12
2023-12-19iommu/vt-d: Remove unused parameter of intel_pasid_setup_pass_through()Lu Baolu1-3/+2
2023-12-19iommu/vt-d: Refactor device_to_iommu() to retrieve iommu directlyLu Baolu1-20/+10
2023-12-12iommu: Mark dev_iommu_priv_set() with a lockdepJason Gunthorpe1-2/+0
2023-11-27iommu/vt-d: Set variable intel_dirty_ops to staticKunwu Chan1-2/+2
2023-11-27iommu/vt-d: Add MTL to quirk list to skip TE disablingAbdul Halim, Mohd Syazwan1-1/+1
2023-11-27iommu/vt-d: Make context clearing consistent with context mappingLu Baolu1-2/+2
2023-11-27iommu/vt-d: Disable PCI ATS in legacy passthrough modeLu Baolu1-1/+2
2023-11-27iommu/vt-d: Support enforce_cache_coherency only for empty domainsLu Baolu1-1/+4
2023-11-09Merge tag 'iommu-updates-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-6/+13
2023-11-01Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-9/+147
2023-10-27Merge branches 'iommu/fixes', 'arm/tegra', 'arm/smmu', 'virtio', 'x86/vt-d', ...Joerg Roedel1-6/+13
2023-10-26Merge tag 'v6.6-rc7' into coreJoerg Roedel1-16/+0
2023-10-26iommu/vt-d: Use ops->blocked_domainJason Gunthorpe1-2/+1
2023-10-26iommu/vt-d: Update the definition of the blocking domainJason Gunthorpe1-2/+2
2023-10-26iommu/vt-d: Disallow read-only mappings to nest parent domainLu Baolu1-0/+6
2023-10-26iommu/vt-d: Add nested domain allocationLu Baolu1-19/+20
2023-10-26iommu/vt-d: Make domain attach helpers to be externYi Liu1-9/+6
2023-10-26iommu/vt-d: Enhance capability check for nested parent domain allocationYi Liu1-1/+1
2023-10-26iommu: Pass in parent domain with user_data to domain_alloc_user opYi Liu1-1/+6
2023-10-24iommu/vt-d: Access/Dirty bit support for SS domainsJoao Martins1-1/+102
2023-10-16iommu/vt-d: debugfs: Create/remove debugfs file per {device, pasid}Jingqi Liu1-0/+7
2023-10-10iommu/vt-d: Add domain_alloc_user opYi Liu1-0/+28
2023-10-02iommu: Allow .iotlb_sync_map to fail and handle s390's -ENOMEM returnNiklas Schnelle1-2/+3
2023-09-25iommu/vt-d: Avoid memory allocation in iommu_suspend()Zhang Rui1-16/+0
2023-09-01Merge tag 'iommu-updates-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-95/+149
2023-08-21Merge branches 'apple/dart', 'arm/mediatek', 'arm/renesas', 'arm/rockchip', '...Joerg Roedel1-95/+149
2023-08-18iommu/vt-d: Implement hw_info for iommu capability queryYi Liu1-0/+19
2023-08-09iommu/vt-d: Fix to convert mm pfn to dma pfnYanfei Xu1-9/+13
2023-08-09iommu/vt-d: Remove rmrr check in domain attaching device pathLu Baolu1-58/+0
2023-08-09iommu/vt-d: Add set_dev_pasid callback for dma domainLu Baolu1-5/+99
2023-08-09iommu/vt-d: Prepare for set_dev_pasid callbackLu Baolu1-1/+2
2023-08-09iommu/vt-d: Make prq draining code genericLu Baolu1-11/+19
2023-08-09iommu/vt-d: Add domain_flush_pasid_iotlb()Lu Baolu1-2/+14
2023-08-09iommu: Generalize PASID 0 for normal DMA w/o PASIDJacob Pan1-12/+12
2023-07-14iommu: Have __iommu_probe_device() check for already probed devicesJason Gunthorpe1-7/+0
2023-06-19Merge branches 'iommu/fixes', 'arm/smmu', 'ppc/pamu', 'virtio', 'x86/vt-d', '...Joerg Roedel1-18/+11
2023-06-16iommu/vt-d: Remove commented-out codeLu Baolu1-9/+1
2023-06-16iommu/vt-d: Remove two WARN_ON in domain_context_mapping_one()Yanfei Xu1-4/+0
2023-06-16iommu/vt-d: Handle the failure case of dmar_reenable_qi()Yanfei Xu1-3/+8
2023-06-16iommu/vt-d: Remove unnecessary (void*) conversionsSuhui1-1/+1
2023-05-22iommu: Use flush queue capabilityRobin Murphy1-1/+0
2023-05-22iommu: Add a capability for flush queue supportRobin Murphy1-0/+1
2023-04-14Merge branches 'iommu/fixes', 'arm/allwinner', 'arm/exynos', 'arm/mediatek', ...Joerg Roedel1-159/+118
2023-04-13iommu/vt-d: Remove BUG_ON in map/unmap()Tina Zhang1-3/+5
2023-04-13iommu/vt-d: Remove BUG_ON when domain->pgd is NULLTina Zhang1-4/+0
2023-04-13iommu/vt-d: Remove BUG_ON in handling iotlb cache invalidationTina Zhang1-3/+8
2023-04-13iommu/vt-d: Remove BUG_ON on checking valid pfn rangeTina Zhang1-6/+6
2023-04-13iommu/vt-d: Make size of operands same in bitwise operationsTina Zhang1-2/+2
2023-04-13iommu/vt-d: Use non-privileged mode for all PASIDsJacob Pan1-2/+0
2023-04-13iommu/vt-d: Remove unnecessary checks in iopf disabling pathLu Baolu1-9/+8
2023-04-13iommu/vt-d: Move PRI handling to IOPF feature pathLu Baolu1-12/+41