aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/iommu.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-26iommu/dma: Centralise iommu_setup_dma_ops()Robin Murphy1-13/+7
2024-04-12iommu: Pass domain to remove_dev_pasid() opYi Liu1-4/+5
2024-04-12iommu: Undo pasid attachment only for the devices that have succeededYi Liu1-6/+15
2024-03-28iommu: Validate the PASID in iommu_attach_device_pasid()Jason Gunthorpe1-1/+10
2024-03-08Merge branches 'arm/mediatek', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/am...Joerg Roedel1-241/+39
2024-03-06iommu: Add static iommu_ops->release_domainLu Baolu1-4/+15
2024-03-01iommu: constify fwnode in iommu_ops_from_fwnode()Krzysztof Kozlowski1-1/+1
2024-03-01iommu: constify of_phandle_args in xlateKrzysztof Kozlowski1-1/+1
2024-03-01iommu: constify pointer to bus_typeKrzysztof Kozlowski1-2/+3
2024-02-16iommu: Separate SVA and IOPFLu Baolu1-133/+0
2024-02-16iommu: Merge iommu_fault_event and iopf_faultLu Baolu1-4/+4
2024-02-16iommu: Remove iommu_[un]register_device_fault_handler()Lu Baolu1-75/+1
2024-02-16iommu: Merge iopf_device_param into iommu_fault_paramLu Baolu1-28/+6
2024-02-16iommu: Cleanup iopf data structure definitionsLu Baolu1-4/+0
2024-02-09iommu: Introduce iommu_group_mutex_assert()Vasant Hegde1-0/+19
2024-02-01iommu: Allow ops->default_domain to work when !CONFIG_IOMMU_DMAJason Gunthorpe1-5/+13
2023-12-12iommu: Mark dev_iommu_priv_set() with a lockdepJason Gunthorpe1-0/+9
2023-12-12iommu: Mark dev_iommu_get() with lockdepJason Gunthorpe1-0/+2
2023-12-12iommu: Set owner token to SVA domainLu Baolu1-0/+1
2023-11-27Merge branch 'iommu/fixes' into coreJoerg Roedel1-30/+48
2023-11-27iommu: Retire bus opsRobin Murphy1-13/+18
2023-11-27iommu: Decouple iommu_domain_alloc() from bus opsRobin Murphy1-3/+22
2023-11-27iommu: Validate that devices match domainsRobin Murphy1-0/+10
2023-11-27iommu: Decouple iommu_present() from bus opsRobin Murphy1-1/+20
2023-11-27iommu: Factor out some helpersRobin Murphy1-30/+26
2023-11-27iommu: Avoid more races around device probeRobin Murphy1-10/+10
2023-11-27iommu: Flow ERR_PTR out from __iommu_domain_alloc()Jason Gunthorpe1-20/+39
2023-10-27Merge branches 'iommu/fixes', 'arm/tegra', 'arm/smmu', 'virtio', 'x86/vt-d', ...Joerg Roedel1-206/+249
2023-10-27iommu: Avoid unnecessary cache invalidationsLu Baolu1-1/+2
2023-10-26iommu: Move IOMMU_DOMAIN_BLOCKED global statics to ops->blocked_domainJason Gunthorpe1-0/+2
2023-10-06Revert "iommu: Fix false ownership failure on AMD systems with PASID activated"Vasant Hegde1-19/+1
2023-10-05iommu: Fix return code in iommu_group_alloc_default_domain()Jason Gunthorpe1-1/+1
2023-10-05iommu: Do not use IOMMU_DOMAIN_DMA if CONFIG_IOMMU_DMA is not enabledJason Gunthorpe1-0/+12
2023-10-02iommu: Allow .iotlb_sync_map to fail and handle s390's -ENOMEM returnNiklas Schnelle1-4/+16
2023-09-25iommu: Remove duplicate includeJiapeng Chong1-1/+0
2023-09-25iommu: Improve map/unmap sanity checksRobin Murphy1-5/+5
2023-09-25iommu: Retire map/unmap opsRobin Murphy1-47/+13
2023-09-25iommu: Add generic_single_device_group()Jason Gunthorpe1-1/+27
2023-09-25iommu: Remove useless group refcountingJason Gunthorpe1-36/+21
2023-09-25iommu: Add ops->domain_alloc_paging()Jason Gunthorpe1-3/+14
2023-09-25iommu: Add __iommu_group_domain_alloc()Jason Gunthorpe1-30/+29
2023-09-25iommu: Require a default_domain for all iommu driversJason Gunthorpe1-15/+7
2023-09-25iommu: Remove ops->set_platform_dma_ops()Jason Gunthorpe1-25/+5
2023-09-25iommu: Allow an IDENTITY domain as the default_domain in ARM32Jason Gunthorpe1-1/+20
2023-09-25iommu: Reorganize iommu_get_default_domain_type() to respect def_domain_type()Jason Gunthorpe1-37/+78
2023-09-25iommu: Add IOMMU_DOMAIN_PLATFORMJason Gunthorpe1-0/+13
2023-09-25iommu: Add iommu_ops->identity_domainJason Gunthorpe1-1/+5
2023-09-01Merge tag 'iommu-updates-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-212/+271
2023-08-21Merge branches 'apple/dart', 'arm/mediatek', 'arm/renesas', 'arm/rockchip', '...Joerg Roedel1-212/+271
2023-08-14iommufd/selftest: Make the mock iommu driver into a real driverJason Gunthorpe1-0/+43
2023-08-09iommu: Prevent RESV_DIRECT devices from blocking domainsLu Baolu1-10/+27
2023-08-09iommu: Move global PASID allocation from SVA to coreJacob Pan1-0/+28
2023-08-07iommu: Remove kernel-doc warningsZhu Wang1-2/+2
2023-07-26iommu: Introduce a new iommu_group_replace_domain() APINicolin Chen1-0/+27
2023-07-26iommu: Export iommu_get_resv_regions()Jason Gunthorpe1-1/+10
2023-07-14iommu: Optimise PCI SAC address trickRobin Murphy1-0/+3
2023-07-14iommu: Avoid locking/unlocking for iommu_probe_device()Jason Gunthorpe1-43/+35
2023-07-14iommu: Split iommu_group_add_device()Jason Gunthorpe1-23/+43
2023-07-14iommu: Always destroy the iommu_group during iommu_release_device()Jason Gunthorpe1-6/+6
2023-07-14iommu: Move the iommu driver sysfs setup into iommu_init/deinit_device()Jason Gunthorpe1-4/+9
2023-07-14iommu: Add iommu_init/deinit_device() paired functionsJason Gunthorpe1-79/+112
2023-07-14iommu: Simplify the __iommu_group_remove_device() flowJason Gunthorpe1-44/+39
2023-07-14iommu: Inline iommu_group_get_for_dev() into __iommu_probe_device()Jason Gunthorpe1-41/+9
2023-07-14iommu: Use iommu_group_ref_get/put() for dev->iommu_groupJason Gunthorpe1-3/+2
2023-07-14iommu: Have __iommu_probe_device() check for already probed devicesJason Gunthorpe1-10/+9
2023-07-14iommu: Fix crash during syfs iommu_groups/N/typeJason Gunthorpe1-13/+14
2023-06-29Merge tag 'iommu-updates-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-344/+350
2023-06-19dma-mapping: name SG DMA flag helpers consistentlyRobin Murphy1-1/+1
2023-05-23iommu: Tidy the control flow in iommu_group_store_type()Jason Gunthorpe1-12/+15
2023-05-23iommu: Remove __iommu_group_for_each_dev()Jason Gunthorpe1-28/+25
2023-05-23iommu: Allow IOMMU_RESV_DIRECT to work on ARMJason Gunthorpe1-2/+31
2023-05-23iommu: Consolidate the default_domain setup to one functionJason Gunthorpe1-113/+89
2023-05-23iommu: Revise iommu_group_alloc_default_domain()Jason Gunthorpe1-34/+37
2023-05-23iommu: Consolidate the code to calculate the target default domain typeJason Gunthorpe1-53/+35
2023-05-23iommu: Remove the assignment of group->domain during default domain allocJason Gunthorpe1-4/+0
2023-05-23iommu: Do iommu_group_create_direct_mappings() before attachJason Gunthorpe1-3/+5
2023-05-23iommu: Fix iommu_probe_device() to attach the right domainJason Gunthorpe1-20/+24
2023-05-23iommu: Replace iommu_group_do_dma_first_attach with __iommu_device_set_domainJason Gunthorpe1-12/+5
2023-05-23iommu: Remove iommu_group_do_dma_first_attach() from iommu_group_add_device()Jason Gunthorpe1-12/+0
2023-05-23iommu: Replace __iommu_group_dma_first_attach() with set_domainJason Gunthorpe1-21/+11
2023-05-23iommu: Use __iommu_group_set_domain() in iommu_change_dev_def_domain()Jason Gunthorpe1-3/+3
2023-05-23iommu: Use __iommu_group_set_domain() for __iommu_attach_group()Jason Gunthorpe1-39/+1
2023-05-23iommu: Make __iommu_group_set_domain() handle error unwindJason Gunthorpe1-25/+112
2023-05-23iommu: Add for_each_group_device()Jason Gunthorpe1-6/+10
2023-05-23iommu: Replace iommu_group_device_count() with list_count_nodes()Jason Gunthorpe1-13/+2
2023-05-22iommu: Suppress empty whitespaces in printsFlorian Fainelli1-4/+4
2023-05-22iommu: Use flush queue capabilityRobin Murphy1-1/+2
2023-04-30Merge tag 'iommu-updates-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-204/+143
2023-04-27Merge tag 'char-misc-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-0/+4
2023-04-14Merge branches 'iommu/fixes', 'arm/allwinner', 'arm/exynos', 'arm/mediatek', ...Joerg Roedel1-202/+136
2023-04-14iommu: Remove iommu_group_get_by_id()Jason Gunthorpe1-29/+0
2023-04-14iommu: Make iommu_release_device() staticJason Gunthorpe1-1/+2
2023-04-13iommu/amd: Set page size bitmap during V2 domain allocationJerry Snitselaar1-2/+7
2023-03-29iommu: Add iommu probe for CDX busNipun Gupta1-0/+4
2023-03-23iommu: make the pointer to struct bus_type constantGreg Kroah-Hartman1-7/+7
2023-03-22iommu: Use sysfs_emit() for sysfs showLu Baolu1-16/+15
2023-03-22iommu: Cleanup iommu_change_dev_def_domain()Lu Baolu1-62/+21
2023-03-22iommu: Replace device_lock() with group->mutexLu Baolu1-63/+18
2023-03-22iommu: Move lock from iommu_change_dev_def_domain() to its callerLu Baolu1-15/+14
2023-03-22iommu: Same critical region for device release and removalLu Baolu1-2/+28
2023-03-22iommu: Split iommu_group_remove_device() into helpersLu Baolu1-20/+44
2023-03-22iommu: Make kobj_type structure constantThomas Weißschuh1-1/+1
2023-02-24Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-0/+24
2023-02-21Merge tag 'v6.2' into iommufd.git for-nextJason Gunthorpe1-3/+5
2023-02-18Merge branches 'apple/dart', 'arm/exynos', 'arm/renesas', 'arm/smmu', 'x86/vt...Joerg Roedel1-86/+85
2023-02-18iommu: Attach device group to old domain in error pathVasant Hegde1-1/+15
2023-02-16iommu: Fix error unwind in iommu_group_alloc()Jason Gunthorpe1-2/+6
2023-01-30Merge branch 'iommu-memory-accounting' of ssh://gitolite.kernel.org/pub/scm/l...Jason Gunthorpe1-33/+20
2023-01-25Merge branch 'iommu-memory-accounting' into coreJoerg Roedel1-33/+20
2023-01-25iommu: Add a gfp parameter to iommu_map_sg()Jason Gunthorpe1-16/+10
2023-01-25iommu: Remove iommu_map_atomic()Jason Gunthorpe1-7/+0
2023-01-25iommu: Add a gfp parameter to iommu_map()Jason Gunthorpe1-11/+11
2023-01-13iommu: Remove detach_dev callbackLu Baolu1-32/+4
2023-01-13iommu: Remove deferred attach check from __iommu_detach_device()Jason Gunthorpe1-34/+36
2023-01-13iommu: Add set_platform_dma_ops iommu opsLu Baolu1-4/+24
2023-01-13iommu: Fix refcount leak in iommu_device_claim_dma_ownerMiaoqian Lin1-3/+5
2023-01-11iommu: Remove IOMMU_CAP_INTR_REMAPJason Gunthorpe1-4/+2
2023-01-11iommu: Add iommu_group_has_isolated_msi()Jason Gunthorpe1-0/+26
2022-12-19Merge tag 'iommu-updates-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-6/+22
2022-11-29iommu: Add device-centric DMA ownership interfacesLu Baolu1-26/+95
2022-11-19iommu: Avoid races around device probeRobin Murphy1-6/+22
2022-11-03Merge tag 'for-joerg' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/io...Joerg Roedel1-0/+24
2022-11-03iommu: Rename iommu-sva-lib.{c,h}Lu Baolu1-1/+1
2022-11-03iommu: Prepare IOMMU domain for IOPFLu Baolu1-0/+4
2022-11-03iommu/sva: Refactoring iommu_sva_bind/unbind_device()Lu Baolu1-91/+0
2022-11-03iommu: Add IOMMU SVA domain supportLu Baolu1-0/+20
2022-11-03iommu: Add attach/detach_dev_pasid iommu interfacesLu Baolu1-4/+137
2022-11-03iommu: Remove SVM_FLAG_SUPERVISOR_MODE supportLu Baolu1-3/+2
2022-11-03iommu: Add max_pasids field in struct dev_iommuLu Baolu1-0/+20
2022-11-01iommu: Add return value rules to attach_dev op and APIsNicolin Chen1-0/+24
2022-10-21iommu: Add gfp parameter to iommu_alloc_resv_regionLu Baolu1-3/+4
2022-09-26Merge branches 'apple/dart', 'arm/mediatek', 'arm/omap', 'arm/smmu', 'virtio'...Joerg Roedel1-92/+83
2022-09-11iommu: Fix false ownership failure on AMD systems with PASID activatedJason Gunthorpe1-2/+19
2022-09-09iommu/dma: Make header privateRobin Murphy1-1/+2
2022-09-07iommu: Clean up bus_set_iommu()Robin Murphy1-24/+0
2022-09-07iommu: Move bus setup to IOMMU device registrationRobin Murphy1-25/+30
2022-09-07iommu: Always register bus notifiersRobin Murphy1-35/+37
2022-09-07iommu: Retire iommu_capable()Robin Murphy1-10/+1
2022-09-07iommu: Remove duplicate ida_free in iommu_group_allocYuan Can1-1/+0
2022-09-07iommu: Do not dereference fwnode in struct deviceAndy Shevchenko1-1/+1
2022-08-06Merge tag 'dma-mapping-5.20-2022-08-06' of git://git.infradead.org/users/hch/...Linus Torvalds1-0/+4
2022-07-26iommu: Explicitly skip bus address marked segments in __iommu_map_sg()Logan Gunthorpe1-0/+4
2022-07-15iommu: remove the put_resv_regions methodChristoph Hellwig1-17/+4
2022-07-15iommu: remove iommu_dev_feature_enabledChristoph Hellwig1-13/+0
2022-07-06iommu: Make .release_device optionalRobin Murphy1-2/+4
2022-07-06iommu: Use dev_iommu_ops() for probe_finalizeRobin Murphy1-1/+2
2022-07-06iommu: Introduce a callback to struct iommu_resv_regionShameer Kolothum1-5/+11
2022-06-22iommu: Directly use ida_alloc()/free()Ke Liu1-3/+3
2022-05-20Merge branches 'apple/dart', 'arm/mediatek', 'arm/msm', 'arm/smmu', 'ppc/pamu...Joerg Roedel1-103/+260
2022-05-13iommu: iommu_group_claim_dma_owner() must always assign a domainJason Gunthorpe via iommu1-36/+91
2022-05-04iommu: Make sysfs robust for non-API groupsRobin Murphy1-1/+8
2022-04-28iommu: Remove iommu group changes notifierLu Baolu1-75/+0
2022-04-28iommu: Add DMA ownership management interfacesLu Baolu1-3/+150
2022-04-28iommu: Introduce device_iommu_capable()Robin Murphy1-0/+23
2022-02-28iommu: Split struct iommu_opsLu Baolu1-9/+10
2022-02-28iommu: Remove unused argument in is_attach_deferredLu Baolu1-9/+6
2022-02-28iommu: Use right way to retrieve iommu_opsLu Baolu1-25/+25
2022-02-28iommu: Remove apply_resv_regionLu Baolu1-3/+0
2022-02-28iommu: Remove aux-domain related interfaces and iommu_opsLu Baolu1-46/+0
2022-02-28iommu: Remove guest pasid related interfaces and definitionsLu Baolu1-210/+0
2022-01-31iommu: Fix some W=1 warningsJohn Garry1-12/+12
2022-01-31iommu: Fix potential use-after-free during probeVijayanand Jitta1-2/+7
2021-12-06iommu: Extend mutex lock scope in iommu_probe_device()Lu Baolu1-1/+2
2021-11-04Merge tag 'iommu-updates-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-2/+1
2021-10-04treewide: Replace the use of mem_encrypt_active() with cc_platform_has()Tom Lendacky1-1/+2
2021-09-28iommu/dma: Unexport IOVA cookie managementRobin Murphy1-2/+1
2021-09-03Merge tag 'iommu-updates-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-52/+143
2021-09-02Merge tag 'dma-mapping-5.15' of git://git.infradead.org/users/hch/dma-mappingLinus Torvalds1-8/+7
2021-08-20Merge branches 'apple/dart', 'arm/smmu', 'iommu/fixes', 'x86/amd', 'x86/vt-d'...Joerg Roedel1-52/+146
2021-08-18iommu: Allow enabling non-strict mode dynamicallyRobin Murphy1-4/+13
2021-08-18iommu: Merge strictness and domain type configsRobin Murphy1-1/+1
2021-08-18iommu: Only log strictness for DMA domainsRobin Murphy1-4/+5
2021-08-18iommu: Expose DMA domain strictness via sysfsRobin Murphy1-0/+2
2021-08-18iommu: Express DMA strictness via the domain typeRobin Murphy1-9/+5
2021-08-18iommu: Introduce explicit type for non-strict DMA domainsRobin Murphy1-2/+6
2021-08-18iommu: Pull IOVA cookie management into the coreRobin Murphy1-0/+7
2021-08-10iommu: Fix race condition during default domain allocationAshish Mhetre1-0/+2
2021-08-09iommu: return full error code from iommu_map_sg[_atomic]()Logan Gunthorpe1-8/+7
2021-08-02iommu: Check if group is NULL before remove deviceFrank Wunderlich1-0/+3
2021-07-26iommu: Streamline iommu_iova_to_phys()Robin Murphy1-1/+4
2021-07-26iommu: Remove mode argument from iommu_set_dma_strict()John Garry1-3/+2
2021-07-26iommu: Enhance IOMMU default DMA mode build optionsZhen Lei1-1/+1
2021-07-26iommu: Print strict or lazy mode at init timeJohn Garry1-0/+5
2021-07-26iommu: Add support for the map_pages() callbackIsaac J. Manjarres1-8/+35
2021-07-26iommu: Hook up '->unmap_pages' driver callbackWill Deacon1-9/+50
2021-07-26iommu: Split 'addr_merge' argument to iommu_pgsize() into separate partsWill Deacon1-4/+6
2021-07-26iommu: Use bitmap to calculate page size in iommu_pgsize()Will Deacon1-19/+12
2021-06-09iommu: Delete a duplicate check in iommu_change_dev_def_domain()Zhen Lei1-3/+0
2021-04-16iommu: Streamline registration interfaceRobin Murphy1-1/+18
2021-04-07iommu: remove iommu_domain_{get,set}_attrChristoph Hellwig1-26/+0
2021-04-07iommu: remove DOMAIN_ATTR_IO_PGTABLE_CFGChristoph Hellwig1-0/+11
2021-04-07iommu: remove DOMAIN_ATTR_DMA_USE_FLUSH_QUEUERobin Murphy1-9/+21
2021-04-07iommu: remove iommu_set_cmd_line_dma_api and iommu_cmd_line_dma_apiChristoph Hellwig1-18/+5
2021-04-07iommu: remove DOMAIN_ATTR_NESTINGChristoph Hellwig1-0/+10
2021-04-07iommu: remove DOMAIN_ATTR_GEOMETRYChristoph Hellwig1-17/+3
2021-04-07iommu: remove DOMAIN_ATTR_PAGINGChristoph Hellwig1-5/+0
2021-04-07iommu/fsl_pamu: remove ->domain_window_enableChristoph Hellwig1-11/+0
2021-03-18iommu: Check dev->iommu in iommu_dev_xxx functionsShameer Kolothum1-9/+15
2021-02-12Merge branches 'arm/renesas', 'arm/smmu', 'x86/amd', 'x86/vt-d' and 'core' in...Joerg Roedel1-26/+28
2021-02-02iommu: Properly pass gfp_t in _iommu_map() to avoid atomic sleepingDouglas Anderson1-1/+1