/linux-4.1.27/include/linux/ |
D | iommu.h | 38 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 …]
|
D | remoteproc.h | 411 struct iommu_domain *domain;
|
/linux-4.1.27/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 | 890 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 …]
|
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 | 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() 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()
|
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() 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()
|
D | tegra-smmu.c | 38 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()
|
D | exynos-iommu.c | 192 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 …]
|
D | arm-smmu.c | 339 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 …]
|
D | omap-iommu.c | 62 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()
|
D | amd_iommu.c | 130 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 …]
|
D | amd_iommu_types.h | 401 struct iommu_domain; 410 struct iommu_domain domain; /* generic domain handle used by
|
D | omap-iommu.h | 32 struct iommu_domain *domain;
|
D | intel-iommu.c | 342 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()
|
D | amd_iommu_v2.c | 68 struct iommu_domain *domain; 276 struct iommu_domain *domain; in unbind_pasid()
|
/linux-4.1.27/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() 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 …]
|
D | assigned-dev.c | 772 if (!kvm->arch.iommu_domain) { in kvm_vm_ioctl_assign_device()
|
/linux-4.1.27/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 | 531 struct iommu_domain *iommu; in msm_gpu_init()
|
/linux-4.1.27/drivers/gpu/drm/nouveau/ |
D | nouveau_platform.h | 32 struct iommu_domain; 54 struct iommu_domain *domain;
|
/linux-4.1.27/arch/powerpc/include/asm/ |
D | device.h | 35 void *iommu_domain; member
|
/linux-4.1.27/arch/arm/include/asm/ |
D | dma-iommu.h | 14 struct iommu_domain *domain;
|
/linux-4.1.27/drivers/infiniband/hw/usnic/ |
D | usnic_uiom.h | 41 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.1.27/drivers/gpu/drm/tegra/ |
D | drm.h | 42 struct iommu_domain *domain; 135 struct iommu_domain *domain;
|
/linux-4.1.27/drivers/gpu/drm/msm/mdp/mdp5/ |
D | mdp5_cfg.h | 87 struct iommu_domain *iommu;
|
/linux-4.1.27/drivers/gpu/drm/msm/mdp/mdp4/ |
D | mdp4_kms.h | 59 struct iommu_domain *iommu;
|
/linux-4.1.27/drivers/remoteproc/ |
D | remoteproc_core.c | 75 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/ |
D | gk20a.c | 90 struct iommu_domain *domain;
|
/linux-4.1.27/arch/x86/include/asm/ |
D | kvm_host.h | 587 struct iommu_domain *iommu_domain; member
|
/linux-4.1.27/drivers/vfio/ |
D | vfio_iommu_type1.c | 65 struct iommu_domain *domain;
|