/linux-4.4.14/include/linux/ |
D | iommu.h | 38 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 …]
|
D | dma-iommu.h | 28 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()
|
D | remoteproc.h | 413 struct iommu_domain *domain;
|
/linux-4.4.14/drivers/iommu/ |
D | amd_iommu_proto.h | 43 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);
|
D | fsl_pamu_domain.c | 36 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 …]
|
D | iommu.c | 54 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 …]
|
D | s390-iommu.c | 23 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()
|
D | shmobile-iommu.c | 45 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()
|
D | exynos-iommu.c | 210 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 …]
|
D | tegra-gart.c | 67 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()
|
D | fsl_pamu_domain.h | 74 struct iommu_domain iommu_domain; member
|
D | msm_iommu.c | 55 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()
|
D | ipmmu-vmsa.c | 41 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()
|
D | dma-iommu.c | 44 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()
|
D | rockchip-iommu.c | 84 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()
|
D | tegra-smmu.c | 41 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()
|
D | arm-smmu.c | 349 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 …]
|
D | omap-iommu.c | 58 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()
|
D | amd_iommu.c | 124 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 …]
|
D | arm-smmu-v3.c | 631 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 …]
|
D | amd_iommu_types.h | 401 struct iommu_domain; 411 struct iommu_domain domain; /* generic domain handle used by
|
D | omap-iommu.h | 35 struct iommu_domain *domain;
|
D | intel-iommu.c | 412 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()
|
D | amd_iommu_v2.c | 68 struct iommu_domain *domain; 284 struct iommu_domain *domain; in unbind_pasid()
|
/linux-4.4.14/arch/x86/kvm/ |
D | iommu.c | 78 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 …]
|
D | assigned-dev.c | 788 if (!kvm->arch.iommu_domain) { in kvm_vm_ioctl_assign_device()
|
/linux-4.4.14/drivers/gpu/drm/msm/ |
D | msm_iommu.c | 23 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()
|
D | msm_mmu.h | 45 struct msm_mmu *msm_iommu_new(struct device *dev, struct iommu_domain *domain);
|
D | msm_gpu.c | 573 struct iommu_domain *iommu; in msm_gpu_init()
|
/linux-4.4.14/arch/powerpc/include/asm/ |
D | device.h | 38 void *iommu_domain; member
|
/linux-4.4.14/arch/arm/include/asm/ |
D | dma-iommu.h | 14 struct iommu_domain *domain;
|
/linux-4.4.14/drivers/gpu/drm/nouveau/include/nvkm/core/ |
D | tegra.h | 25 struct iommu_domain *domain;
|
/linux-4.4.14/drivers/infiniband/hw/usnic/ |
D | usnic_uiom.h | 56 struct iommu_domain *domain;
|
D | usnic_uiom.c | 68 static int usnic_uiom_dma_fault(struct iommu_domain *domain, in usnic_uiom_dma_fault()
|
/linux-4.4.14/drivers/gpu/drm/tegra/ |
D | drm.h | 43 struct iommu_domain *domain; 144 struct iommu_domain *domain;
|
/linux-4.4.14/drivers/gpu/drm/msm/mdp/mdp5/ |
D | mdp5_cfg.h | 101 struct iommu_domain *iommu;
|
/linux-4.4.14/drivers/gpu/drm/msm/mdp/mdp4/ |
D | mdp4_kms.h | 59 struct iommu_domain *iommu;
|
/linux-4.4.14/drivers/remoteproc/ |
D | remoteproc_core.c | 78 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/ |
D | dma-mapping.c | 816 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/ |
D | kvm_host.h | 640 struct iommu_domain *iommu_domain; member
|
/linux-4.4.14/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/ |
D | gk20a.c | 104 struct iommu_domain *domain;
|
/linux-4.4.14/drivers/vfio/ |
D | vfio_iommu_type1.c | 65 struct iommu_domain *domain;
|