Searched refs:iommu_domain (Results 1 - 25 of 105) sorted by last modified time

12345

/linux-master/include/linux/
H A Diommu.h38 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 Dvfio_iommu_type1.c81 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 Dvirtio-iommu.c63 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 Dtegra-smmu.c55 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 Dsun50i-iommu.c111 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 Ds390-iommu.c28 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 Drockchip-iommu.c91 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 Diommu.c57 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 Diommu-sva.c73 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 Dexynos-iommu.c29 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 Ddma-iommu.c85 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 Ddma-iommu.h14 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 Dsvm.c196 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 Dnested.c21 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 Diommu.h658 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 Diommu.c212 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 Darm-smmu.h377 struct iommu_domain domain;
H A Darm-smmu.c102 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 Darm-smmu-v3.h731 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 Darm-smmu-v3.c2206 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 Darm-smmu-v3-sva.c428 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 Diommu.c2398 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 Dpasid.c102 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 Damd_iommu_types.h523 struct iommu_domain;
578 struct iommu_domain domain; /* generic domain handle used by
H A Damd_iommu.h50 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)

Completed in 306 milliseconds

12345