/Linux-v4.19/include/linux/ |
D | iommu.h | 49 struct iommu_domain; 56 typedef int (*iommu_fault_handler_t)(struct iommu_domain *, 89 struct iommu_domain { struct 193 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type); 194 void (*domain_free)(struct iommu_domain *); 196 int (*attach_dev)(struct iommu_domain *domain, struct device *dev); 197 void (*detach_dev)(struct iommu_domain *domain, struct device *dev); 198 int (*map)(struct iommu_domain *domain, unsigned long iova, 200 size_t (*unmap)(struct iommu_domain *domain, unsigned long iova, 202 void (*flush_iotlb_all)(struct iommu_domain *domain); [all …]
|
D | dma-iommu.h | 31 int iommu_get_dma_cookie(struct iommu_domain *domain); 32 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base); 33 void iommu_put_dma_cookie(struct iommu_domain *domain); 36 int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base, 80 struct iommu_domain; 89 static inline int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie() 94 static inline int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie() 99 static inline void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
|
/Linux-v4.19/drivers/iommu/ |
D | amd_iommu_proto.h | 51 struct iommu_domain; 56 extern void amd_iommu_domain_direct_map(struct iommu_domain *dom); 57 extern int amd_iommu_domain_enable_v2(struct iommu_domain *dom, int pasids); 58 extern int amd_iommu_flush_page(struct iommu_domain *dom, int pasid, 60 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, int pasid); 61 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, int pasid, 63 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, int pasid); 64 extern struct iommu_domain *amd_iommu_get_v2_domain(struct pci_dev *pdev);
|
D | fsl_pamu_domain.c | 38 static struct fsl_dma_domain *to_fsl_dma_domain(struct iommu_domain *dom) in to_fsl_dma_domain() 40 return container_of(dom, struct fsl_dma_domain, iommu_domain); in to_fsl_dma_domain() 75 geom = &dma_domain->iommu_domain.geometry; in get_phys_addr() 133 phys_addr_t wnd_addr = dma_domain->iommu_domain.geometry.aperture_start; in map_win() 182 wnd_addr = dma_domain->iommu_domain.geometry.aperture_start; in update_liodn() 338 info->dev->archdata.iommu_domain = NULL; in remove_device_ref() 367 old_domain_info = dev->archdata.iommu_domain; in attach_device() 386 if (!dev->archdata.iommu_domain) in attach_device() 387 dev->archdata.iommu_domain = info; in attach_device() 391 static phys_addr_t fsl_pamu_iova_to_phys(struct iommu_domain *domain, in fsl_pamu_iova_to_phys() [all …]
|
D | iommu.c | 59 struct iommu_domain *default_domain; 60 struct iommu_domain *domain; 111 static struct iommu_domain *__iommu_domain_alloc(struct bus_type *bus, 113 static int __iommu_attach_device(struct iommu_domain *domain, 115 static int __iommu_attach_group(struct iommu_domain *domain, 117 static void __iommu_detach_group(struct iommu_domain *domain, 524 struct iommu_domain *domain = group->default_domain; in iommu_group_create_direct_mappings() 1062 struct iommu_domain *dom; in iommu_group_get_for_dev() 1086 struct iommu_domain *iommu_group_default_domain(struct iommu_group *group) in iommu_group_default_domain() 1277 void iommu_set_fault_handler(struct iommu_domain *domain, in iommu_set_fault_handler() [all …]
|
D | s390-iommu.c | 25 struct iommu_domain domain; 37 static struct s390_domain *to_s390_domain(struct iommu_domain *dom) in to_s390_domain() 54 static struct iommu_domain *s390_domain_alloc(unsigned domain_type) in s390_domain_alloc() 78 static void s390_domain_free(struct iommu_domain *domain) in s390_domain_free() 86 static int s390_iommu_attach_device(struct iommu_domain *domain, in s390_iommu_attach_device() 138 static void s390_iommu_detach_device(struct iommu_domain *domain, in s390_iommu_detach_device() 186 struct iommu_domain *domain; in s390_iommu_remove_device() 267 static int s390_iommu_map(struct iommu_domain *domain, unsigned long iova, in s390_iommu_map() 285 static phys_addr_t s390_iommu_iova_to_phys(struct iommu_domain *domain, in s390_iommu_iova_to_phys() 316 static size_t s390_iommu_unmap(struct iommu_domain *domain, in s390_iommu_unmap()
|
D | exynos-iommu.c | 239 struct iommu_domain *domain; /* domain this device is attached */ 255 struct iommu_domain domain; /* generic domain data structure */ 284 static struct exynos_iommu_domain *to_exynos_domain(struct iommu_domain *dom) in to_exynos_domain() 738 static struct iommu_domain *exynos_iommu_domain_alloc(unsigned type) in exynos_iommu_domain_alloc() 799 static void exynos_iommu_domain_free(struct iommu_domain *iommu_domain) in exynos_iommu_domain_free() argument 801 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); in exynos_iommu_domain_free() 821 if (iommu_domain->type == IOMMU_DOMAIN_DMA) in exynos_iommu_domain_free() 822 iommu_put_dma_cookie(iommu_domain); in exynos_iommu_domain_free() 842 static void exynos_iommu_detach_device(struct iommu_domain *iommu_domain, in exynos_iommu_detach_device() argument 846 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); in exynos_iommu_detach_device() [all …]
|
D | tegra-gart.c | 69 struct iommu_domain domain; /* generic domain handle */ 80 static struct gart_domain *to_gart_domain(struct iommu_domain *dom) in to_gart_domain() 170 static int gart_iommu_attach_dev(struct iommu_domain *domain, in gart_iommu_attach_dev() 203 static void gart_iommu_detach_dev(struct iommu_domain *domain, in gart_iommu_detach_dev() 225 static struct iommu_domain *gart_iommu_domain_alloc(unsigned type) in gart_iommu_domain_alloc() 250 static void gart_iommu_domain_free(struct iommu_domain *domain) in gart_iommu_domain_free() 269 static int gart_iommu_map(struct iommu_domain *domain, unsigned long iova, in gart_iommu_map() 302 static size_t gart_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in gart_iommu_unmap() 319 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 | dma-iommu.c | 92 int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie() 117 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie() 144 void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie() 226 struct iommu_domain *domain) in iova_reserve_iommu_regions() 272 int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base, in iommu_dma_init_domain() 347 static dma_addr_t iommu_dma_alloc_iova(struct iommu_domain *domain, in iommu_dma_alloc_iova() 401 static void __iommu_dma_unmap(struct iommu_domain *domain, dma_addr_t dma_addr, in __iommu_dma_unmap() 521 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in iommu_dma_alloc() 611 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in __iommu_dma_map() 729 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in iommu_dma_map_sg() [all …]
|
D | ipmmu-vmsa.c | 71 struct iommu_domain io_domain; 80 static struct ipmmu_vmsa_domain *to_vmsa_domain(struct iommu_domain *dom) in to_vmsa_domain() 595 static struct iommu_domain *__ipmmu_domain_alloc(unsigned type) in __ipmmu_domain_alloc() 608 static struct iommu_domain *ipmmu_domain_alloc(unsigned type) in ipmmu_domain_alloc() 610 struct iommu_domain *io_domain = NULL; in ipmmu_domain_alloc() 629 static void ipmmu_domain_free(struct iommu_domain *io_domain) in ipmmu_domain_free() 643 static int ipmmu_attach_device(struct iommu_domain *io_domain, in ipmmu_attach_device() 692 static void ipmmu_detach_device(struct iommu_domain *io_domain, in ipmmu_detach_device() 707 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_map() 718 static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_unmap() [all …]
|
D | qcom_iommu.c | 69 struct iommu_domain *domain; 76 struct iommu_domain domain; 80 static struct qcom_iommu_domain *to_qcom_iommu_domain(struct iommu_domain *dom) in to_qcom_iommu_domain() 211 static int qcom_iommu_init_domain(struct iommu_domain *domain, in qcom_iommu_init_domain() 305 static struct iommu_domain *qcom_iommu_domain_alloc(unsigned type) in qcom_iommu_domain_alloc() 332 static void qcom_iommu_domain_free(struct iommu_domain *domain) in qcom_iommu_domain_free() 355 static int qcom_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in qcom_iommu_attach_dev() 388 static void qcom_iommu_detach_dev(struct iommu_domain *domain, struct device *dev) in qcom_iommu_detach_dev() 412 static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_map() 429 static size_t qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_unmap() [all …]
|
D | mtk_iommu.c | 113 struct iommu_domain domain; 139 static struct mtk_iommu_domain *to_mtk_domain(struct iommu_domain *dom) in to_mtk_domain() 296 static struct iommu_domain *mtk_iommu_domain_alloc(unsigned type) in mtk_iommu_domain_alloc() 326 static void mtk_iommu_domain_free(struct iommu_domain *domain) in mtk_iommu_domain_free() 335 static int mtk_iommu_attach_device(struct iommu_domain *domain, in mtk_iommu_attach_device() 355 static void mtk_iommu_detach_device(struct iommu_domain *domain, in mtk_iommu_detach_device() 366 static int mtk_iommu_map(struct iommu_domain *domain, unsigned long iova, in mtk_iommu_map() 381 static size_t mtk_iommu_unmap(struct iommu_domain *domain, in mtk_iommu_unmap() 395 static void mtk_iommu_iotlb_sync(struct iommu_domain *domain) in mtk_iommu_iotlb_sync() 400 static phys_addr_t mtk_iommu_iova_to_phys(struct iommu_domain *domain, in mtk_iommu_iova_to_phys()
|
D | mtk_iommu_v1.c | 99 struct iommu_domain domain; 105 static struct mtk_iommu_domain *to_mtk_domain(struct iommu_domain *dom) in to_mtk_domain() 246 static struct iommu_domain *mtk_iommu_domain_alloc(unsigned type) in mtk_iommu_domain_alloc() 260 static void mtk_iommu_domain_free(struct iommu_domain *domain) in mtk_iommu_domain_free() 270 static int mtk_iommu_attach_device(struct iommu_domain *domain, in mtk_iommu_attach_device() 293 static void mtk_iommu_detach_device(struct iommu_domain *domain, in mtk_iommu_detach_device() 304 static int mtk_iommu_map(struct iommu_domain *domain, unsigned long iova, in mtk_iommu_map() 333 static size_t mtk_iommu_unmap(struct iommu_domain *domain, in mtk_iommu_unmap() 350 static phys_addr_t mtk_iommu_iova_to_phys(struct iommu_domain *domain, in mtk_iommu_iova_to_phys()
|
D | msm_iommu.c | 54 struct iommu_domain domain; 61 static struct msm_priv *to_msm_priv(struct iommu_domain *dom) in to_msm_priv() 315 static struct iommu_domain *msm_iommu_domain_alloc(unsigned type) in msm_iommu_domain_alloc() 339 static void msm_iommu_domain_free(struct iommu_domain *domain) in msm_iommu_domain_free() 432 static int msm_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in msm_iommu_attach_dev() 481 static void msm_iommu_detach_dev(struct iommu_domain *domain, in msm_iommu_detach_dev() 508 static int msm_iommu_map(struct iommu_domain *domain, unsigned long iova, in msm_iommu_map() 522 static size_t msm_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in msm_iommu_unmap() 535 static phys_addr_t msm_iommu_iova_to_phys(struct iommu_domain *domain, in msm_iommu_iova_to_phys()
|
D | rockchip-iommu.c | 89 struct iommu_domain domain; 106 struct iommu_domain *domain; /* domain to which iommu is attached */ 125 static struct rk_iommu_domain *to_rk_domain(struct iommu_domain *dom) in to_rk_domain() 586 static phys_addr_t rk_iommu_iova_to_phys(struct iommu_domain *domain, in rk_iommu_iova_to_phys() 757 static int rk_iommu_map(struct iommu_domain *domain, unsigned long _iova, in rk_iommu_map() 794 static size_t rk_iommu_unmap(struct iommu_domain *domain, unsigned long _iova, in rk_iommu_unmap() 861 struct iommu_domain *domain = iommu->domain; in rk_iommu_enable() 893 static void rk_iommu_detach_device(struct iommu_domain *domain, in rk_iommu_detach_device() 926 static int rk_iommu_attach_device(struct iommu_domain *domain, in rk_iommu_attach_device() 970 static struct iommu_domain *rk_iommu_domain_alloc(unsigned type) in rk_iommu_domain_alloc() [all …]
|
D | tegra-smmu.c | 52 struct iommu_domain domain; 63 static struct tegra_smmu_as *to_smmu_as(struct iommu_domain *dom) in to_smmu_as() 271 static struct iommu_domain *tegra_smmu_domain_alloc(unsigned type) in tegra_smmu_domain_alloc() 313 static void tegra_smmu_domain_free(struct iommu_domain *domain) in tegra_smmu_domain_free() 451 static int tegra_smmu_attach_dev(struct iommu_domain *domain, in tegra_smmu_attach_dev() 486 static void tegra_smmu_detach_dev(struct iommu_domain *domain, struct device *dev) in tegra_smmu_detach_dev() 643 static int tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_map() 664 static size_t tegra_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_unmap() 681 static phys_addr_t tegra_smmu_iova_to_phys(struct iommu_domain *domain, in tegra_smmu_iova_to_phys()
|
D | arm-smmu.c | 251 struct iommu_domain domain; 268 static struct arm_smmu_domain *to_smmu_domain(struct iommu_domain *dom) in to_smmu_domain() 538 struct iommu_domain *domain = dev; in arm_smmu_context_fault() 722 static int arm_smmu_init_domain_context(struct iommu_domain *domain, in arm_smmu_init_domain_context() 908 static void arm_smmu_destroy_domain_context(struct iommu_domain *domain) in arm_smmu_destroy_domain_context() 934 static struct iommu_domain *arm_smmu_domain_alloc(unsigned type) in arm_smmu_domain_alloc() 963 static void arm_smmu_domain_free(struct iommu_domain *domain) in arm_smmu_domain_free() 1190 static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) in arm_smmu_attach_dev() 1233 static int arm_smmu_map(struct iommu_domain *domain, unsigned long iova, in arm_smmu_map() 1244 static size_t arm_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in arm_smmu_unmap() [all …]
|
D | omap-iommu.h | 54 struct iommu_domain domain; 62 struct iommu_domain *domain;
|
/Linux-v4.19/drivers/soc/fsl/qbman/ |
D | qman_portal.c | 53 pcfg->iommu_domain = iommu_domain_alloc(&platform_bus_type); in portal_set_cpu() 54 if (!pcfg->iommu_domain) { in portal_set_cpu() 62 ret = iommu_domain_set_attr(pcfg->iommu_domain, DOMAIN_ATTR_GEOMETRY, in portal_set_cpu() 69 ret = iommu_domain_set_attr(pcfg->iommu_domain, DOMAIN_ATTR_WINDOWS, in portal_set_cpu() 78 ret = iommu_domain_set_attr(pcfg->iommu_domain, in portal_set_cpu() 86 ret = iommu_domain_window_enable(pcfg->iommu_domain, 0, 0, 1ULL << 36, in portal_set_cpu() 93 ret = iommu_attach_device(pcfg->iommu_domain, dev); in portal_set_cpu() 99 ret = iommu_domain_set_attr(pcfg->iommu_domain, in portal_set_cpu() 116 iommu_detach_device(pcfg->iommu_domain, NULL); in portal_set_cpu() 118 iommu_domain_free(pcfg->iommu_domain); in portal_set_cpu() [all …]
|
D | qman_priv.h | 160 struct iommu_domain *iommu_domain; member
|
/Linux-v4.19/drivers/gpu/drm/msm/ |
D | msm_iommu.c | 23 struct iommu_domain *domain; 27 static int msm_fault_handler(struct iommu_domain *domain, struct device *dev, in msm_fault_handler() 101 struct msm_mmu *msm_iommu_new(struct device *dev, struct iommu_domain *domain) in msm_iommu_new()
|
/Linux-v4.19/drivers/gpu/drm/rockchip/ |
D | rockchip_drm_drv.h | 33 struct iommu_domain; 55 struct iommu_domain *domain;
|
/Linux-v4.19/drivers/gpu/drm/exynos/ |
D | exynos_drm_iommu.h | 70 struct iommu_domain *domain = priv->mapping; in __exynos_iommu_attach() 80 struct iommu_domain *domain = priv->mapping; in __exynos_iommu_detach()
|
/Linux-v4.19/arch/powerpc/include/asm/ |
D | device.h | 34 void *iommu_domain; member
|