Home
last modified time | relevance | path

Searched refs:iommu_domain (Results 1 – 42 of 42) sorted by relevance

/linux-4.4.14/include/linux/
Diommu.h38 struct iommu_domain;
45 typedef int (*iommu_fault_handler_t)(struct iommu_domain *,
78 struct iommu_domain { struct
157 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type);
158 void (*domain_free)(struct iommu_domain *);
160 int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
161 void (*detach_dev)(struct iommu_domain *domain, struct device *dev);
162 int (*map)(struct iommu_domain *domain, unsigned long iova,
164 size_t (*unmap)(struct iommu_domain *domain, unsigned long iova,
166 size_t (*map_sg)(struct iommu_domain *domain, unsigned long iova,
[all …]
Ddma-iommu.h28 int iommu_get_dma_cookie(struct iommu_domain *domain);
29 void iommu_put_dma_cookie(struct iommu_domain *domain);
32 int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base, u64 size);
67 struct iommu_domain;
74 static inline int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie()
79 static inline void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
Dremoteproc.h413 struct iommu_domain *domain;
/linux-4.4.14/drivers/iommu/
Damd_iommu_proto.h43 struct iommu_domain;
48 extern void amd_iommu_domain_direct_map(struct iommu_domain *dom);
49 extern int amd_iommu_domain_enable_v2(struct iommu_domain *dom, int pasids);
50 extern int amd_iommu_flush_page(struct iommu_domain *dom, int pasid,
52 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, int pasid);
53 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, int pasid,
55 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, int pasid);
56 extern struct iommu_domain *amd_iommu_get_v2_domain(struct pci_dev *pdev);
Dfsl_pamu_domain.c36 static struct fsl_dma_domain *to_fsl_dma_domain(struct iommu_domain *dom) in to_fsl_dma_domain()
38 return container_of(dom, struct fsl_dma_domain, iommu_domain); in to_fsl_dma_domain()
73 geom = &dma_domain->iommu_domain.geometry; in get_phys_addr()
131 phys_addr_t wnd_addr = dma_domain->iommu_domain.geometry.aperture_start; in map_win()
180 wnd_addr = dma_domain->iommu_domain.geometry.aperture_start; in update_liodn()
336 info->dev->archdata.iommu_domain = NULL; in remove_device_ref()
365 old_domain_info = dev->archdata.iommu_domain; in attach_device()
384 if (!dev->archdata.iommu_domain) in attach_device()
385 dev->archdata.iommu_domain = info; in attach_device()
389 static phys_addr_t fsl_pamu_iova_to_phys(struct iommu_domain *domain, in fsl_pamu_iova_to_phys()
[all …]
Diommu.c54 struct iommu_domain *default_domain;
55 struct iommu_domain *domain;
80 static struct iommu_domain *__iommu_domain_alloc(struct bus_type *bus,
82 static int __iommu_attach_device(struct iommu_domain *domain,
84 static int __iommu_attach_group(struct iommu_domain *domain,
86 static void __iommu_detach_group(struct iommu_domain *domain,
331 struct iommu_domain *domain = group->default_domain; in iommu_group_create_direct_mappings()
864 struct iommu_domain *iommu_group_default_domain(struct iommu_group *group) in iommu_group_default_domain()
1051 void iommu_set_fault_handler(struct iommu_domain *domain, in iommu_set_fault_handler()
1062 static struct iommu_domain *__iommu_domain_alloc(struct bus_type *bus, in __iommu_domain_alloc()
[all …]
Ds390-iommu.c23 struct iommu_domain domain;
35 static struct s390_domain *to_s390_domain(struct iommu_domain *dom) in to_s390_domain()
52 struct iommu_domain *s390_domain_alloc(unsigned domain_type) in s390_domain_alloc()
76 void s390_domain_free(struct iommu_domain *domain) in s390_domain_free()
84 static int s390_iommu_attach_device(struct iommu_domain *domain, in s390_iommu_attach_device()
137 static void s390_iommu_detach_device(struct iommu_domain *domain, in s390_iommu_detach_device()
189 struct iommu_domain *domain; in s390_iommu_remove_device()
269 static int s390_iommu_map(struct iommu_domain *domain, unsigned long iova, in s390_iommu_map()
287 static phys_addr_t s390_iommu_iova_to_phys(struct iommu_domain *domain, in s390_iommu_iova_to_phys()
318 static size_t s390_iommu_unmap(struct iommu_domain *domain, in s390_iommu_unmap()
Dshmobile-iommu.c45 struct iommu_domain domain;
51 static struct shmobile_iommu_domain *to_sh_domain(struct iommu_domain *dom) in to_sh_domain()
91 static struct iommu_domain *shmobile_iommu_domain_alloc(unsigned type) in shmobile_iommu_domain_alloc()
115 static void shmobile_iommu_domain_free(struct iommu_domain *domain) in shmobile_iommu_domain_free()
128 static int shmobile_iommu_attach_device(struct iommu_domain *domain, in shmobile_iommu_attach_device()
157 static void shmobile_iommu_detach_device(struct iommu_domain *domain, in shmobile_iommu_detach_device()
220 static int shmobile_iommu_map(struct iommu_domain *domain, unsigned long iova, in shmobile_iommu_map()
264 static size_t shmobile_iommu_unmap(struct iommu_domain *domain, in shmobile_iommu_unmap()
305 static phys_addr_t shmobile_iommu_iova_to_phys(struct iommu_domain *domain, in shmobile_iommu_iova_to_phys()
Dexynos-iommu.c210 struct iommu_domain domain; /* generic domain data structure */
234 static struct exynos_iommu_domain *to_exynos_domain(struct iommu_domain *dom) in to_exynos_domain()
660 static struct iommu_domain *exynos_iommu_domain_alloc(unsigned type) in exynos_iommu_domain_alloc()
711 static void exynos_iommu_domain_free(struct iommu_domain *iommu_domain) in exynos_iommu_domain_free() argument
713 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); in exynos_iommu_domain_free()
740 static int exynos_iommu_attach_device(struct iommu_domain *iommu_domain, in exynos_iommu_attach_device() argument
744 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); in exynos_iommu_attach_device()
777 static void exynos_iommu_detach_device(struct iommu_domain *iommu_domain, in exynos_iommu_detach_device() argument
780 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); in exynos_iommu_detach_device()
957 static int exynos_iommu_map(struct iommu_domain *iommu_domain, in exynos_iommu_map() argument
[all …]
Dtegra-gart.c67 struct iommu_domain domain; /* generic domain handle */
76 static struct gart_domain *to_gart_domain(struct iommu_domain *dom) in to_gart_domain()
166 static int gart_iommu_attach_dev(struct iommu_domain *domain, in gart_iommu_attach_dev()
199 static void gart_iommu_detach_dev(struct iommu_domain *domain, in gart_iommu_detach_dev()
221 static struct iommu_domain *gart_iommu_domain_alloc(unsigned type) in gart_iommu_domain_alloc()
246 static void gart_iommu_domain_free(struct iommu_domain *domain) in gart_iommu_domain_free()
265 static int gart_iommu_map(struct iommu_domain *domain, unsigned long iova, in gart_iommu_map()
289 static size_t gart_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in gart_iommu_unmap()
306 static phys_addr_t gart_iommu_iova_to_phys(struct iommu_domain *domain, in gart_iommu_iova_to_phys()
Dfsl_pamu_domain.h74 struct iommu_domain iommu_domain; member
Dmsm_iommu.c55 struct iommu_domain domain;
58 static struct msm_priv *to_msm_priv(struct iommu_domain *dom) in to_msm_priv()
86 static int __flush_iotlb(struct iommu_domain *domain) in __flush_iotlb()
218 static struct iommu_domain *msm_iommu_domain_alloc(unsigned type) in msm_iommu_domain_alloc()
249 static void msm_iommu_domain_free(struct iommu_domain *domain) in msm_iommu_domain_free()
273 static int msm_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in msm_iommu_attach_dev()
328 static void msm_iommu_detach_dev(struct iommu_domain *domain, in msm_iommu_detach_dev()
367 static int msm_iommu_map(struct iommu_domain *domain, unsigned long va, in msm_iommu_map()
474 static size_t msm_iommu_unmap(struct iommu_domain *domain, unsigned long va, in msm_iommu_unmap()
554 static phys_addr_t msm_iommu_iova_to_phys(struct iommu_domain *domain, in msm_iommu_iova_to_phys()
Dipmmu-vmsa.c41 struct iommu_domain io_domain;
59 static struct ipmmu_vmsa_domain *to_vmsa_domain(struct iommu_domain *dom) in to_vmsa_domain()
440 struct iommu_domain *io_domain; in ipmmu_irq()
456 static struct iommu_domain *ipmmu_domain_alloc(unsigned type) in ipmmu_domain_alloc()
472 static void ipmmu_domain_free(struct iommu_domain *io_domain) in ipmmu_domain_free()
485 static int ipmmu_attach_device(struct iommu_domain *io_domain, in ipmmu_attach_device()
527 static void ipmmu_detach_device(struct iommu_domain *io_domain, in ipmmu_detach_device()
542 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_map()
553 static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_unmap()
561 static phys_addr_t ipmmu_iova_to_phys(struct iommu_domain *io_domain, in ipmmu_iova_to_phys()
Ddma-iommu.c44 int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie()
64 void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
88 int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base, u64 size) in iommu_dma_init_domain()
168 static void __iommu_dma_unmap(struct iommu_domain *domain, dma_addr_t dma_addr) in __iommu_dma_unmap()
285 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in iommu_dma_alloc()
366 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in iommu_dma_map_page()
443 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in iommu_dma_map_sg()
Drockchip-iommu.c84 struct iommu_domain domain;
92 struct iommu_domain *domain; /* domain to which iommu is attached */
105 static struct rk_iommu_domain *to_rk_domain(struct iommu_domain *dom) in to_rk_domain()
510 static phys_addr_t rk_iommu_iova_to_phys(struct iommu_domain *domain, in rk_iommu_iova_to_phys()
657 static int rk_iommu_map(struct iommu_domain *domain, unsigned long _iova, in rk_iommu_map()
688 static size_t rk_iommu_unmap(struct iommu_domain *domain, unsigned long _iova, in rk_iommu_unmap()
743 static int rk_iommu_attach_device(struct iommu_domain *domain, in rk_iommu_attach_device()
795 static void rk_iommu_detach_device(struct iommu_domain *domain, in rk_iommu_detach_device()
825 static struct iommu_domain *rk_iommu_domain_alloc(unsigned type) in rk_iommu_domain_alloc()
858 static void rk_iommu_domain_free(struct iommu_domain *domain) in rk_iommu_domain_free()
Dtegra-smmu.c41 struct iommu_domain domain;
52 static struct tegra_smmu_as *to_smmu_as(struct iommu_domain *dom) in to_smmu_as()
260 static struct iommu_domain *tegra_smmu_domain_alloc(unsigned type) in tegra_smmu_domain_alloc()
302 static void tegra_smmu_domain_free(struct iommu_domain *domain) in tegra_smmu_domain_free()
440 static int tegra_smmu_attach_dev(struct iommu_domain *domain, in tegra_smmu_attach_dev()
475 static void tegra_smmu_detach_dev(struct iommu_domain *domain, struct device *dev) in tegra_smmu_detach_dev()
632 static int tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_map()
653 static size_t tegra_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_unmap()
670 static phys_addr_t tegra_smmu_iova_to_phys(struct iommu_domain *domain, in tegra_smmu_iova_to_phys()
Darm-smmu.c349 struct iommu_domain domain;
367 static struct arm_smmu_domain *to_smmu_domain(struct iommu_domain *dom) in to_smmu_domain()
632 struct iommu_domain *domain = dev; in arm_smmu_context_fault()
796 static int arm_smmu_init_domain_context(struct iommu_domain *domain, in arm_smmu_init_domain_context()
925 static void arm_smmu_destroy_domain_context(struct iommu_domain *domain) in arm_smmu_destroy_domain_context()
954 static struct iommu_domain *arm_smmu_domain_alloc(unsigned type) in arm_smmu_domain_alloc()
975 static void arm_smmu_domain_free(struct iommu_domain *domain) in arm_smmu_domain_free()
1111 static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) in arm_smmu_attach_dev()
1156 static void arm_smmu_detach_dev(struct iommu_domain *domain, struct device *dev) in arm_smmu_detach_dev()
1169 static int arm_smmu_map(struct iommu_domain *domain, unsigned long iova, in arm_smmu_map()
[all …]
Domap-iommu.c58 struct iommu_domain domain;
78 static struct omap_iommu_domain *to_omap_domain(struct iommu_domain *dom) in to_omap_domain()
787 struct iommu_domain *domain = obj->domain; in iommu_fault_handler()
1036 static int omap_iommu_map(struct iommu_domain *domain, unsigned long da, in omap_iommu_map()
1063 static size_t omap_iommu_unmap(struct iommu_domain *domain, unsigned long da, in omap_iommu_unmap()
1076 omap_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in omap_iommu_attach_dev()
1135 static void omap_iommu_detach_dev(struct iommu_domain *domain, in omap_iommu_detach_dev()
1145 static struct iommu_domain *omap_iommu_domain_alloc(unsigned type) in omap_iommu_domain_alloc()
1181 static void omap_iommu_domain_free(struct iommu_domain *domain) in omap_iommu_domain_free()
1196 static phys_addr_t omap_iommu_iova_to_phys(struct iommu_domain *domain, in omap_iommu_iova_to_phys()
Damd_iommu.c124 static struct protection_domain *to_pdomain(struct iommu_domain *dom) in to_pdomain()
344 struct iommu_domain *domain; in init_iommu_group()
2231 struct iommu_domain *domain; in amd_iommu_add_device()
2305 struct iommu_domain *io_domain; in get_domain()
2925 static struct iommu_domain *amd_iommu_domain_alloc(unsigned type) in amd_iommu_domain_alloc()
2970 static void amd_iommu_domain_free(struct iommu_domain *dom) in amd_iommu_domain_free()
2993 static void amd_iommu_detach_device(struct iommu_domain *dom, in amd_iommu_detach_device()
3015 static int amd_iommu_attach_device(struct iommu_domain *dom, in amd_iommu_attach_device()
3042 static int amd_iommu_map(struct iommu_domain *dom, unsigned long iova, in amd_iommu_map()
3064 static size_t amd_iommu_unmap(struct iommu_domain *dom, unsigned long iova, in amd_iommu_unmap()
[all …]
Darm-smmu-v3.c631 struct iommu_domain domain;
644 static struct arm_smmu_domain *to_smmu_domain(struct iommu_domain *dom) in to_smmu_domain()
1381 static struct iommu_domain *arm_smmu_domain_alloc(unsigned type) in arm_smmu_domain_alloc()
1420 static void arm_smmu_domain_free(struct iommu_domain *domain) in arm_smmu_domain_free()
1498 static int arm_smmu_domain_finalise(struct iommu_domain *domain) in arm_smmu_domain_finalise()
1618 static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) in arm_smmu_attach_dev()
1667 static void arm_smmu_detach_dev(struct iommu_domain *domain, struct device *dev) in arm_smmu_detach_dev()
1686 static int arm_smmu_map(struct iommu_domain *domain, unsigned long iova, in arm_smmu_map()
1704 arm_smmu_unmap(struct iommu_domain *domain, unsigned long iova, size_t size) in arm_smmu_unmap()
1721 arm_smmu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) in arm_smmu_iova_to_phys()
[all …]
Damd_iommu_types.h401 struct iommu_domain;
411 struct iommu_domain domain; /* generic domain handle used by
Domap-iommu.h35 struct iommu_domain *domain;
Dintel-iommu.c412 struct iommu_domain domain; /* generic domain data structure for
565 static struct dmar_domain *to_dmar_domain(struct iommu_domain *dom) in to_dmar_domain()
4751 static struct iommu_domain *intel_iommu_domain_alloc(unsigned type) in intel_iommu_domain_alloc()
4754 struct iommu_domain *domain; in intel_iommu_domain_alloc()
4779 static void intel_iommu_domain_free(struct iommu_domain *domain) in intel_iommu_domain_free()
4784 static int intel_iommu_attach_device(struct iommu_domain *domain, in intel_iommu_attach_device()
4848 static void intel_iommu_detach_device(struct iommu_domain *domain, in intel_iommu_detach_device()
4854 static int intel_iommu_map(struct iommu_domain *domain, in intel_iommu_map()
4892 static size_t intel_iommu_unmap(struct iommu_domain *domain, in intel_iommu_unmap()
4931 static phys_addr_t intel_iommu_iova_to_phys(struct iommu_domain *domain, in intel_iommu_iova_to_phys()
Damd_iommu_v2.c68 struct iommu_domain *domain;
284 struct iommu_domain *domain; in unbind_pasid()
/linux-4.4.14/arch/x86/kvm/
Diommu.c78 struct iommu_domain *domain = kvm->arch.iommu_domain; in kvm_iommu_map_pages()
175 struct iommu_domain *domain = kvm->arch.iommu_domain; in kvm_assign_device()
216 struct iommu_domain *domain = kvm->arch.iommu_domain; in kvm_deassign_device()
246 kvm->arch.iommu_domain = iommu_domain_alloc(&pci_bus_type); in kvm_iommu_map_guest()
247 if (!kvm->arch.iommu_domain) { in kvm_iommu_map_guest()
258 iommu_domain_free(kvm->arch.iommu_domain); in kvm_iommu_map_guest()
259 kvm->arch.iommu_domain = NULL; in kvm_iommu_map_guest()
276 struct iommu_domain *domain; in kvm_iommu_put_pages()
281 domain = kvm->arch.iommu_domain; in kvm_iommu_put_pages()
343 struct iommu_domain *domain = kvm->arch.iommu_domain; in kvm_iommu_unmap_guest()
[all …]
Dassigned-dev.c788 if (!kvm->arch.iommu_domain) { in kvm_vm_ioctl_assign_device()
/linux-4.4.14/drivers/gpu/drm/msm/
Dmsm_iommu.c23 struct iommu_domain *domain;
27 static int msm_fault_handler(struct iommu_domain *iommu, struct device *dev, in msm_fault_handler()
50 struct iommu_domain *domain = iommu->domain; in msm_iommu_map()
89 struct iommu_domain *domain = iommu->domain; in msm_iommu_unmap()
127 struct msm_mmu *msm_iommu_new(struct device *dev, struct iommu_domain *domain) in msm_iommu_new()
Dmsm_mmu.h45 struct msm_mmu *msm_iommu_new(struct device *dev, struct iommu_domain *domain);
Dmsm_gpu.c573 struct iommu_domain *iommu; in msm_gpu_init()
/linux-4.4.14/arch/powerpc/include/asm/
Ddevice.h38 void *iommu_domain; member
/linux-4.4.14/arch/arm/include/asm/
Ddma-iommu.h14 struct iommu_domain *domain;
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/core/
Dtegra.h25 struct iommu_domain *domain;
/linux-4.4.14/drivers/infiniband/hw/usnic/
Dusnic_uiom.h56 struct iommu_domain *domain;
Dusnic_uiom.c68 static int usnic_uiom_dma_fault(struct iommu_domain *domain, in usnic_uiom_dma_fault()
/linux-4.4.14/drivers/gpu/drm/tegra/
Ddrm.h43 struct iommu_domain *domain;
144 struct iommu_domain *domain;
/linux-4.4.14/drivers/gpu/drm/msm/mdp/mdp5/
Dmdp5_cfg.h101 struct iommu_domain *iommu;
/linux-4.4.14/drivers/gpu/drm/msm/mdp/mdp4/
Dmdp4_kms.h59 struct iommu_domain *iommu;
/linux-4.4.14/drivers/remoteproc/
Dremoteproc_core.c78 static int rproc_iommu_fault(struct iommu_domain *domain, struct device *dev, in rproc_iommu_fault()
96 struct iommu_domain *domain; in rproc_enable_iommu()
130 struct iommu_domain *domain = rproc->domain; in rproc_disable_iommu()
/linux-4.4.14/arch/arm64/mm/
Ddma-mapping.c816 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in do_iommu_attach()
968 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in arch_teardown_dma_ops()
/linux-4.4.14/arch/x86/include/asm/
Dkvm_host.h640 struct iommu_domain *iommu_domain; member
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/
Dgk20a.c104 struct iommu_domain *domain;
/linux-4.4.14/drivers/vfio/
Dvfio_iommu_type1.c65 struct iommu_domain *domain;