Home
last modified time | relevance | path

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

/linux-4.1.27/include/linux/
Diommu.h38 struct iommu_domain;
45 typedef int (*iommu_fault_handler_t)(struct iommu_domain *,
78 struct iommu_domain { struct
142 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type);
143 void (*domain_free)(struct iommu_domain *);
145 int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
146 void (*detach_dev)(struct iommu_domain *domain, struct device *dev);
147 int (*map)(struct iommu_domain *domain, unsigned long iova,
149 size_t (*unmap)(struct iommu_domain *domain, unsigned long iova,
151 size_t (*map_sg)(struct iommu_domain *domain, unsigned long iova,
[all …]
Dremoteproc.h411 struct iommu_domain *domain;
/linux-4.1.27/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.c890 void iommu_set_fault_handler(struct iommu_domain *domain, in iommu_set_fault_handler()
901 struct iommu_domain *iommu_domain_alloc(struct bus_type *bus) in iommu_domain_alloc()
903 struct iommu_domain *domain; in iommu_domain_alloc()
919 void iommu_domain_free(struct iommu_domain *domain) in iommu_domain_free()
925 int iommu_attach_device(struct iommu_domain *domain, struct device *dev) in iommu_attach_device()
938 void iommu_detach_device(struct iommu_domain *domain, struct device *dev) in iommu_detach_device()
960 struct iommu_domain *domain = data; in iommu_group_do_attach_device()
965 int iommu_attach_group(struct iommu_domain *domain, struct iommu_group *group) in iommu_attach_group()
974 struct iommu_domain *domain = data; in iommu_group_do_detach_device()
981 void iommu_detach_group(struct iommu_domain *domain, struct iommu_group *group) in iommu_detach_group()
[all …]
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()
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()
449 struct iommu_domain *io_domain; in ipmmu_irq()
465 static struct iommu_domain *ipmmu_domain_alloc(unsigned type) in ipmmu_domain_alloc()
481 static void ipmmu_domain_free(struct iommu_domain *io_domain) in ipmmu_domain_free()
494 static int ipmmu_attach_device(struct iommu_domain *io_domain, in ipmmu_attach_device()
536 static void ipmmu_detach_device(struct iommu_domain *io_domain, in ipmmu_detach_device()
551 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_map()
562 static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_unmap()
570 static phys_addr_t ipmmu_iova_to_phys(struct iommu_domain *io_domain, in ipmmu_iova_to_phys()
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()
646 static int rk_iommu_map(struct iommu_domain *domain, unsigned long _iova, in rk_iommu_map()
677 static size_t rk_iommu_unmap(struct iommu_domain *domain, unsigned long _iova, in rk_iommu_unmap()
732 static int rk_iommu_attach_device(struct iommu_domain *domain, in rk_iommu_attach_device()
784 static void rk_iommu_detach_device(struct iommu_domain *domain, in rk_iommu_detach_device()
814 static struct iommu_domain *rk_iommu_domain_alloc(unsigned type) in rk_iommu_domain_alloc()
847 static void rk_iommu_domain_free(struct iommu_domain *domain) in rk_iommu_domain_free()
Dtegra-smmu.c38 struct iommu_domain domain;
47 static struct tegra_smmu_as *to_smmu_as(struct iommu_domain *dom) in to_smmu_as()
235 static struct iommu_domain *tegra_smmu_domain_alloc(unsigned type) in tegra_smmu_domain_alloc()
285 static void tegra_smmu_domain_free(struct iommu_domain *domain) in tegra_smmu_domain_free()
407 static int tegra_smmu_attach_dev(struct iommu_domain *domain, in tegra_smmu_attach_dev()
442 static void tegra_smmu_detach_dev(struct iommu_domain *domain, struct device *dev) in tegra_smmu_detach_dev()
537 static int tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_map()
561 static size_t tegra_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_unmap()
585 static phys_addr_t tegra_smmu_iova_to_phys(struct iommu_domain *domain, in tegra_smmu_iova_to_phys()
Dexynos-iommu.c192 struct iommu_domain *domain;
203 struct iommu_domain domain; /* generic domain data structure */
214 struct iommu_domain *domain;
218 static struct exynos_iommu_domain *to_exynos_domain(struct iommu_domain *dom) in to_exynos_domain()
446 phys_addr_t pgtable, struct iommu_domain *domain) in __sysmmu_enable()
480 struct iommu_domain *domain) in __exynos_sysmmu_enable()
705 static struct iommu_domain *exynos_iommu_domain_alloc(unsigned type) in exynos_iommu_domain_alloc()
756 static void exynos_iommu_domain_free(struct iommu_domain *domain) in exynos_iommu_domain_free()
787 static int exynos_iommu_attach_device(struct iommu_domain *domain, in exynos_iommu_attach_device()
818 static void exynos_iommu_detach_device(struct iommu_domain *domain, in exynos_iommu_detach_device()
[all …]
Darm-smmu.c339 struct iommu_domain domain;
357 static struct arm_smmu_domain *to_smmu_domain(struct iommu_domain *dom) in to_smmu_domain()
646 struct iommu_domain *domain = dev; in arm_smmu_context_fault()
815 static int arm_smmu_init_domain_context(struct iommu_domain *domain, in arm_smmu_init_domain_context()
943 static void arm_smmu_destroy_domain_context(struct iommu_domain *domain) in arm_smmu_destroy_domain_context()
972 static struct iommu_domain *arm_smmu_domain_alloc(unsigned type) in arm_smmu_domain_alloc()
993 static void arm_smmu_domain_free(struct iommu_domain *domain) in arm_smmu_domain_free()
1129 static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) in arm_smmu_attach_dev()
1174 static void arm_smmu_detach_dev(struct iommu_domain *domain, struct device *dev) in arm_smmu_detach_dev()
1187 static int arm_smmu_map(struct iommu_domain *domain, unsigned long iova, in arm_smmu_map()
[all …]
Domap-iommu.c62 struct iommu_domain domain;
87 static struct omap_iommu_domain *to_omap_domain(struct iommu_domain *dom) in to_omap_domain()
913 struct iommu_domain *domain = obj->domain; in iommu_fault_handler()
1123 static int omap_iommu_map(struct iommu_domain *domain, unsigned long da, in omap_iommu_map()
1150 static size_t omap_iommu_unmap(struct iommu_domain *domain, unsigned long da, in omap_iommu_unmap()
1163 omap_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in omap_iommu_attach_dev()
1222 static void omap_iommu_detach_dev(struct iommu_domain *domain, in omap_iommu_detach_dev()
1232 static struct iommu_domain *omap_iommu_domain_alloc(unsigned type) in omap_iommu_domain_alloc()
1272 static void omap_iommu_domain_free(struct iommu_domain *domain) in omap_iommu_domain_free()
1287 static phys_addr_t omap_iommu_iova_to_phys(struct iommu_domain *domain, in omap_iommu_iova_to_phys()
Damd_iommu.c130 static struct protection_domain *to_pdomain(struct iommu_domain *dom) in to_pdomain()
3246 static struct iommu_domain *amd_iommu_domain_alloc(unsigned type) in amd_iommu_domain_alloc()
3275 static void amd_iommu_domain_free(struct iommu_domain *dom) in amd_iommu_domain_free()
3298 static void amd_iommu_detach_device(struct iommu_domain *dom, in amd_iommu_detach_device()
3320 static int amd_iommu_attach_device(struct iommu_domain *dom, in amd_iommu_attach_device()
3347 static int amd_iommu_map(struct iommu_domain *dom, unsigned long iova, in amd_iommu_map()
3369 static size_t amd_iommu_unmap(struct iommu_domain *dom, unsigned long iova, in amd_iommu_unmap()
3387 static phys_addr_t amd_iommu_iova_to_phys(struct iommu_domain *dom, in amd_iommu_iova_to_phys()
3485 void amd_iommu_domain_direct_map(struct iommu_domain *dom) in amd_iommu_domain_direct_map()
3506 int amd_iommu_domain_enable_v2(struct iommu_domain *dom, int pasids) in amd_iommu_domain_enable_v2()
[all …]
Damd_iommu_types.h401 struct iommu_domain;
410 struct iommu_domain domain; /* generic domain handle used by
Domap-iommu.h32 struct iommu_domain *domain;
Dintel-iommu.c342 struct iommu_domain domain; /* generic domain data structure for
444 static struct dmar_domain *to_dmar_domain(struct iommu_domain *dom) in to_dmar_domain()
4367 static struct iommu_domain *intel_iommu_domain_alloc(unsigned type) in intel_iommu_domain_alloc()
4370 struct iommu_domain *domain; in intel_iommu_domain_alloc()
4397 static void intel_iommu_domain_free(struct iommu_domain *domain) in intel_iommu_domain_free()
4402 static int intel_iommu_attach_device(struct iommu_domain *domain, in intel_iommu_attach_device()
4467 static void intel_iommu_detach_device(struct iommu_domain *domain, in intel_iommu_detach_device()
4473 static int intel_iommu_map(struct iommu_domain *domain, in intel_iommu_map()
4511 static size_t intel_iommu_unmap(struct iommu_domain *domain, in intel_iommu_unmap()
4559 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;
276 struct iommu_domain *domain; in unbind_pasid()
/linux-4.1.27/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()
215 struct iommu_domain *domain = kvm->arch.iommu_domain; in kvm_deassign_device()
244 kvm->arch.iommu_domain = iommu_domain_alloc(&pci_bus_type); in kvm_iommu_map_guest()
245 if (!kvm->arch.iommu_domain) { in kvm_iommu_map_guest()
256 iommu_domain_free(kvm->arch.iommu_domain); in kvm_iommu_map_guest()
257 kvm->arch.iommu_domain = NULL; in kvm_iommu_map_guest()
274 struct iommu_domain *domain; in kvm_iommu_put_pages()
279 domain = kvm->arch.iommu_domain; in kvm_iommu_put_pages()
341 struct iommu_domain *domain = kvm->arch.iommu_domain; in kvm_iommu_unmap_guest()
[all …]
Dassigned-dev.c772 if (!kvm->arch.iommu_domain) { in kvm_vm_ioctl_assign_device()
/linux-4.1.27/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.c531 struct iommu_domain *iommu; in msm_gpu_init()
/linux-4.1.27/drivers/gpu/drm/nouveau/
Dnouveau_platform.h32 struct iommu_domain;
54 struct iommu_domain *domain;
/linux-4.1.27/arch/powerpc/include/asm/
Ddevice.h35 void *iommu_domain; member
/linux-4.1.27/arch/arm/include/asm/
Ddma-iommu.h14 struct iommu_domain *domain;
/linux-4.1.27/drivers/infiniband/hw/usnic/
Dusnic_uiom.h41 struct iommu_domain *domain;
Dusnic_uiom.c68 static int usnic_uiom_dma_fault(struct iommu_domain *domain, in usnic_uiom_dma_fault()
/linux-4.1.27/drivers/gpu/drm/tegra/
Ddrm.h42 struct iommu_domain *domain;
135 struct iommu_domain *domain;
/linux-4.1.27/drivers/gpu/drm/msm/mdp/mdp5/
Dmdp5_cfg.h87 struct iommu_domain *iommu;
/linux-4.1.27/drivers/gpu/drm/msm/mdp/mdp4/
Dmdp4_kms.h59 struct iommu_domain *iommu;
/linux-4.1.27/drivers/remoteproc/
Dremoteproc_core.c75 static int rproc_iommu_fault(struct iommu_domain *domain, struct device *dev, in rproc_iommu_fault()
93 struct iommu_domain *domain; in rproc_enable_iommu()
127 struct iommu_domain *domain = rproc->domain; in rproc_disable_iommu()
/linux-4.1.27/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/
Dgk20a.c90 struct iommu_domain *domain;
/linux-4.1.27/arch/x86/include/asm/
Dkvm_host.h587 struct iommu_domain *iommu_domain; member
/linux-4.1.27/drivers/vfio/
Dvfio_iommu_type1.c65 struct iommu_domain *domain;