/linux-master/include/linux/ |
H A D | iommu.h | 38 struct iommu_domain; 130 struct iommu_domain *domain; 151 typedef int (*iommu_fault_handler_t)(struct iommu_domain *, 204 struct iommu_domain { struct 223 * Next iommu_domain in mm->iommu_mm->sva-domains list 231 static inline bool iommu_is_dma_domain(struct iommu_domain *domain) 368 int (*set_dirty_tracking)(struct iommu_domain *domain, bool enabled); 369 int (*read_and_clear_dirty)(struct iommu_domain *domain, 518 * @domain_alloc_paging: Allocate an iommu_domain that can be used for 520 * @domain_alloc_sva: Allocate an iommu_domain fo [all...] |
/linux-master/drivers/vfio/ |
H A D | vfio_iommu_type1.c | 81 struct iommu_domain *domain; 2136 struct iommu_domain **domain = data; 3135 static struct iommu_domain * 3139 struct iommu_domain *domain = ERR_PTR(-ENODEV);
|
/linux-master/drivers/iommu/ |
H A D | virtio-iommu.c | 63 struct iommu_domain domain; 640 static struct iommu_domain *viommu_domain_alloc(unsigned type) 661 struct iommu_domain *domain) 707 static void viommu_domain_free(struct iommu_domain *domain) 720 static int viommu_attach_dev(struct iommu_domain *domain, struct device *dev) 814 static int viommu_map_pages(struct iommu_domain *domain, unsigned long iova, 858 static size_t viommu_unmap_pages(struct iommu_domain *domain, unsigned long iova, 887 static phys_addr_t viommu_iova_to_phys(struct iommu_domain *domain, 907 static void viommu_iotlb_sync(struct iommu_domain *domain, 915 static int viommu_iotlb_sync_map(struct iommu_domain *domai [all...] |
H A D | tegra-smmu.c | 55 struct iommu_domain domain; 67 static struct tegra_smmu_as *to_smmu_as(struct iommu_domain *dom) 277 static struct iommu_domain *tegra_smmu_domain_alloc_paging(struct device *dev) 318 static void tegra_smmu_domain_free(struct iommu_domain *domain) 479 static int tegra_smmu_attach_dev(struct iommu_domain *domain, 513 static int tegra_smmu_identity_attach(struct iommu_domain *identity_domain, 516 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); 541 static struct iommu_domain tegra_smmu_identity_domain = { 714 __tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, 751 __tegra_smmu_unmap(struct iommu_domain *domai [all...] |
H A D | sun50i-iommu.c | 111 struct iommu_domain *domain; 116 struct iommu_domain domain; 128 static struct sun50i_iommu_domain *to_sun50i_domain(struct iommu_domain *domain) 384 static void sun50i_iommu_flush_iotlb_all(struct iommu_domain *domain) 406 static int sun50i_iommu_iotlb_sync_map(struct iommu_domain *domain, 420 static void sun50i_iommu_iotlb_sync(struct iommu_domain *domain, 594 static int sun50i_iommu_map(struct iommu_domain *domain, unsigned long iova, 629 static size_t sun50i_iommu_unmap(struct iommu_domain *domain, unsigned long iova, 653 static phys_addr_t sun50i_iommu_iova_to_phys(struct iommu_domain *domain, 675 static struct iommu_domain * [all...] |
H A D | s390-iommu.c | 28 struct iommu_domain domain; 311 static struct s390_domain *to_s390_domain(struct iommu_domain *dom) 330 static struct iommu_domain *s390_domain_alloc_paging(struct device *dev) 361 static void s390_domain_free(struct iommu_domain *domain) 372 static void s390_iommu_detach_device(struct iommu_domain *domain, 388 static int s390_iommu_attach_device(struct iommu_domain *domain, 490 static void s390_iommu_flush_iotlb_all(struct iommu_domain *domain) 503 static void s390_iommu_iotlb_sync(struct iommu_domain *domain, 523 static int s390_iommu_iotlb_sync_map(struct iommu_domain *domain, 610 static int s390_iommu_map_pages(struct iommu_domain *domai [all...] |
H A D | rockchip-iommu.c | 91 struct iommu_domain domain; 117 struct iommu_domain *domain; /* domain to which iommu is attached */ 127 static struct iommu_domain rk_identity_domain; 137 static struct rk_iommu_domain *to_rk_domain(struct iommu_domain *dom) 650 static phys_addr_t rk_iommu_iova_to_phys(struct iommu_domain *domain, 820 static int rk_iommu_map(struct iommu_domain *domain, unsigned long _iova, 861 static size_t rk_iommu_unmap(struct iommu_domain *domain, unsigned long _iova, 928 struct iommu_domain *domain = iommu->domain; 960 static int rk_iommu_identity_attach(struct iommu_domain *identity_domain, 1000 static struct iommu_domain rk_identity_domai [all...] |
H A D | iommu.c | 57 struct iommu_domain *default_domain; 58 struct iommu_domain *blocking_domain; 59 struct iommu_domain *domain; 96 static struct iommu_domain * 98 static int __iommu_attach_device(struct iommu_domain *domain, 100 static int __iommu_attach_group(struct iommu_domain *domain, 109 struct iommu_domain *new_domain, 112 struct iommu_domain *new_domain, 115 struct iommu_domain *new_domain) 120 struct iommu_domain *new_domai [all...] |
H A D | iommu-sva.c | 73 struct iommu_domain *domain; 150 struct iommu_domain *domain = handle->domain; 173 struct iommu_domain *domain = handle->domain; 280 struct iommu_domain *iommu_sva_domain_alloc(struct device *dev, 284 struct iommu_domain *domain;
|
H A D | exynos-iommu.c | 29 static struct iommu_domain exynos_identity_domain; 238 struct iommu_domain *domain; /* domain this device is attached */ 243 * This structure exynos specific generalization of struct iommu_domain. 254 struct iommu_domain domain; /* generic domain data structure */ 422 static struct exynos_iommu_domain *to_exynos_domain(struct iommu_domain *dom) 892 static struct iommu_domain *exynos_iommu_domain_alloc_paging(struct device *dev) 943 static void exynos_iommu_domain_free(struct iommu_domain *iommu_domain) argument 945 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); 983 static int exynos_iommu_identity_attach(struct iommu_domain *identity_domai 1034 exynos_iommu_attach_device(struct iommu_domain *iommu_domain, struct device *dev) argument 1232 exynos_iommu_map(struct iommu_domain *iommu_domain, unsigned long l_iova, phys_addr_t paddr, size_t size, size_t count, int prot, gfp_t gfp, size_t *mapped) argument 1290 exynos_iommu_unmap(struct iommu_domain *iommu_domain, unsigned long l_iova, size_t size, size_t count, struct iommu_iotlb_gather *gather) argument 1370 exynos_iommu_iova_to_phys(struct iommu_domain *iommu_domain, dma_addr_t iova) argument [all...] |
H A D | dma-iommu.c | 85 struct iommu_domain *fq_domain; 335 int iommu_dma_init_fq(struct iommu_domain *domain) 390 int iommu_get_dma_cookie(struct iommu_domain *domain) 415 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) 440 void iommu_put_dma_cookie(struct iommu_domain *domain) 563 struct iommu_domain *domain) 670 static int iommu_dma_init_domain(struct iommu_domain *domain, struct device *dev) 761 static dma_addr_t iommu_dma_alloc_iova(struct iommu_domain *domain, 827 struct iommu_domain *domain = iommu_get_dma_domain(dev); 850 struct iommu_domain *domai [all...] |
H A D | dma-iommu.h | 14 int iommu_get_dma_cookie(struct iommu_domain *domain); 15 void iommu_put_dma_cookie(struct iommu_domain *domain); 17 int iommu_dma_init_fq(struct iommu_domain *domain); 29 static inline int iommu_dma_init_fq(struct iommu_domain *domain) 34 static inline int iommu_get_dma_cookie(struct iommu_domain *domain) 39 static inline void iommu_put_dma_cookie(struct iommu_domain *domain)
|
/linux-master/drivers/iommu/intel/ |
H A D | svm.c | 196 static int intel_svm_set_dev_pasid(struct iommu_domain *domain, 551 static void intel_svm_domain_free(struct iommu_domain *domain) 564 struct iommu_domain *intel_svm_domain_alloc(struct device *dev,
|
H A D | nested.c | 21 static int intel_nested_attach_dev(struct iommu_domain *domain, 80 static void intel_nested_domain_free(struct iommu_domain *domain) 91 static int intel_nested_cache_invalidate_user(struct iommu_domain *domain, 140 struct iommu_domain *intel_nested_domain_alloc(struct iommu_domain *parent,
|
H A D | iommu.h | 658 struct iommu_domain domain; /* generic domain data structure for 797 /* Convert generic struct iommu_domain to private struct dmar_domain */ 798 static inline struct dmar_domain *to_dmar_domain(struct iommu_domain *dom) 1104 int prepare_domain_attach_device(struct iommu_domain *domain, 1111 struct iommu_domain *intel_nested_domain_alloc(struct iommu_domain *parent, 1154 struct iommu_domain *intel_svm_domain_alloc(struct device *dev, 1160 static inline struct iommu_domain *intel_svm_domain_alloc(struct device *dev,
|
H A D | iommu.c | 212 static void intel_iommu_domain_free(struct iommu_domain *domain); 1377 static void intel_flush_iotlb_all(struct iommu_domain *domain) 3622 static int blocking_domain_attach_dev(struct iommu_domain *domain, 3629 static struct iommu_domain blocking_domain = { 3636 static struct iommu_domain *intel_iommu_domain_alloc(unsigned type) 3639 struct iommu_domain *domain; 3671 static struct iommu_domain * 3673 struct iommu_domain *parent, 3681 struct iommu_domain *domain; 3725 static void intel_iommu_domain_free(struct iommu_domain *domai [all...] |
/linux-master/drivers/iommu/arm/arm-smmu/ |
H A D | arm-smmu.h | 377 struct iommu_domain domain;
|
H A D | arm-smmu.c | 102 static struct arm_smmu_domain *to_smmu_domain(struct iommu_domain *dom) 635 struct iommu_domain *domain = &smmu_domain->domain; 870 static struct iommu_domain *arm_smmu_domain_alloc_paging(struct device *dev) 889 static void arm_smmu_domain_free(struct iommu_domain *domain) 1116 static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) 1186 static int arm_smmu_attach_dev_identity(struct iommu_domain *domain, 1196 static struct iommu_domain arm_smmu_identity_domain = { 1201 static int arm_smmu_attach_dev_blocked(struct iommu_domain *domain, 1211 static struct iommu_domain arm_smmu_blocked_domain = { 1216 static int arm_smmu_map_pages(struct iommu_domain *domai [all...] |
/linux-master/drivers/iommu/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3.h | 731 struct iommu_domain domain; 769 static inline struct arm_smmu_domain *to_smmu_domain(struct iommu_domain *dom) 805 struct iommu_domain *arm_smmu_sva_domain_alloc(void); 806 void arm_smmu_sva_remove_dev_pasid(struct iommu_domain *domain, 841 static inline struct iommu_domain *arm_smmu_sva_domain_alloc(void) 846 static inline void arm_smmu_sva_remove_dev_pasid(struct iommu_domain *domain,
|
H A D | arm-smmu-v3.c | 2206 struct iommu_domain *domain = &smmu_domain->domain; 2240 static struct iommu_domain *arm_smmu_domain_alloc(unsigned type) 2248 static struct iommu_domain *arm_smmu_domain_alloc_paging(struct device *dev) 2279 static void arm_smmu_domain_free(struct iommu_domain *domain) 2543 struct iommu_domain *domain = iommu_get_domain_for_dev(master->dev); 2560 static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) 2678 static int arm_smmu_attach_dev_identity(struct iommu_domain *domain, 2692 static struct iommu_domain arm_smmu_identity_domain = { 2697 static int arm_smmu_attach_dev_blocked(struct iommu_domain *domain, 2710 static struct iommu_domain arm_smmu_blocked_domai [all...] |
H A D | arm-smmu-v3-sva.c | 428 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); 607 void arm_smmu_sva_remove_dev_pasid(struct iommu_domain *domain, 633 static int arm_smmu_sva_set_dev_pasid(struct iommu_domain *domain, 649 static void arm_smmu_sva_domain_free(struct iommu_domain *domain) 659 struct iommu_domain *arm_smmu_sva_domain_alloc(void) 661 struct iommu_domain *domain;
|
/linux-master/drivers/iommu/amd/ |
H A D | iommu.c | 2398 static struct iommu_domain *do_iommu_domain_alloc(unsigned int type, 2438 static struct iommu_domain *amd_iommu_domain_alloc(unsigned int type) 2440 struct iommu_domain *domain; 2449 static struct iommu_domain * 2451 struct iommu_domain *parent, 2463 void amd_iommu_domain_free(struct iommu_domain *dom) 2482 static int amd_iommu_attach_device(struct iommu_domain *dom, 2525 static int amd_iommu_iotlb_sync_map(struct iommu_domain *dom, 2536 static int amd_iommu_map_pages(struct iommu_domain *dom, unsigned long iova, 2562 static void amd_iommu_iotlb_gather_add_page(struct iommu_domain *domai [all...] |
H A D | pasid.c | 102 int iommu_sva_set_dev_pasid(struct iommu_domain *domain, 145 struct iommu_domain *domain) 163 static void iommu_sva_domain_free(struct iommu_domain *domain) 178 struct iommu_domain *amd_iommu_domain_alloc_sva(struct device *dev,
|
H A D | amd_iommu_types.h | 523 struct iommu_domain; 578 struct iommu_domain domain; /* generic domain handle used by
|
H A D | amd_iommu.h | 50 struct iommu_domain *amd_iommu_domain_alloc_sva(struct device *dev, 52 void amd_iommu_domain_free(struct iommu_domain *dom); 53 int iommu_sva_set_dev_pasid(struct iommu_domain *domain, 56 struct iommu_domain *domain); 181 static inline struct protection_domain *to_pdomain(struct iommu_domain *dom)
|