| /linux/include/linux/ |
| A D | iommu.h | 39 struct iommu_domain; 49 typedef int (*iommu_fault_handler_t)(struct iommu_domain *, 89 struct iommu_domain { struct 247 void (*domain_free)(struct iommu_domain *); 261 void (*flush_iotlb_all)(struct iommu_domain *domain); 264 void (*iotlb_sync)(struct iommu_domain *domain, 271 int (*enable_nesting)(struct iommu_domain *domain); 272 int (*set_pgtable_quirks)(struct iommu_domain *domain, 279 struct iommu_domain *domain, 306 int (*sva_bind_gpasid)(struct iommu_domain *domain, [all …]
|
| A D | dma-iommu.h | 17 int iommu_get_dma_cookie(struct iommu_domain *domain); 18 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base); 19 void iommu_put_dma_cookie(struct iommu_domain *domain); 23 int iommu_dma_init_fq(struct iommu_domain *domain); 42 struct iommu_domain *domain); 48 struct iommu_domain; 58 static inline int iommu_dma_init_fq(struct iommu_domain *domain) in iommu_dma_init_fq() 63 static inline int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie() 68 static inline int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie() 73 static inline void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
|
| A D | omap-iommu.h | 13 struct iommu_domain; 19 int omap_iommu_domain_deactivate(struct iommu_domain *domain); 20 int omap_iommu_domain_activate(struct iommu_domain *domain); 25 static inline int omap_iommu_domain_deactivate(struct iommu_domain *domain) in omap_iommu_domain_deactivate() 30 static inline int omap_iommu_domain_activate(struct iommu_domain *domain) in omap_iommu_domain_activate()
|
| /linux/drivers/iommu/amd/ |
| A D | amd_iommu.h | 39 struct iommu_domain; 53 extern void amd_iommu_domain_direct_map(struct iommu_domain *dom); 54 extern int amd_iommu_domain_enable_v2(struct iommu_domain *dom, int pasids); 55 extern int amd_iommu_flush_page(struct iommu_domain *dom, u32 pasid, 61 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, u32 pasid); 62 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, u32 pasid, 64 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, u32 pasid); 119 extern bool amd_iommu_is_attach_deferred(struct iommu_domain *domain,
|
| /linux/drivers/soc/fsl/qbman/ |
| A D | qman_portal.c | 51 pcfg->iommu_domain = iommu_domain_alloc(&platform_bus_type); in portal_set_cpu() 52 if (!pcfg->iommu_domain) { in portal_set_cpu() 56 ret = fsl_pamu_configure_l1_stash(pcfg->iommu_domain, cpu); in portal_set_cpu() 62 ret = iommu_attach_device(pcfg->iommu_domain, dev); in portal_set_cpu() 77 iommu_domain_free(pcfg->iommu_domain); in portal_set_cpu() 78 pcfg->iommu_domain = NULL; in portal_set_cpu() 90 pcfg->iommu_domain = NULL; in init_pcfg() 130 if (pcfg->iommu_domain) { in qman_portal_update_sdest() 131 if (fsl_pamu_configure_l1_stash(pcfg->iommu_domain, cpu) < 0) { in qman_portal_update_sdest()
|
| /linux/drivers/iommu/ |
| A D | tegra-gart.c | 44 struct iommu_domain *active_domain; /* current active domain */ 106 static int gart_iommu_attach_dev(struct iommu_domain *domain, in gart_iommu_attach_dev() 127 static void gart_iommu_detach_dev(struct iommu_domain *domain, in gart_iommu_detach_dev() 144 static struct iommu_domain *gart_iommu_domain_alloc(unsigned type) in gart_iommu_domain_alloc() 146 struct iommu_domain *domain; in gart_iommu_domain_alloc() 161 static void gart_iommu_domain_free(struct iommu_domain *domain) in gart_iommu_domain_free() 180 static int gart_iommu_map(struct iommu_domain *domain, unsigned long iova, in gart_iommu_map() 209 static size_t gart_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in gart_iommu_unmap() 225 static phys_addr_t gart_iommu_iova_to_phys(struct iommu_domain *domain, in gart_iommu_iova_to_phys() 264 static void gart_iommu_sync_map(struct iommu_domain *domain, unsigned long iova, in gart_iommu_sync_map() [all …]
|
| A D | iommu.c | 48 struct iommu_domain *default_domain; 49 struct iommu_domain *domain; 1537 struct iommu_domain *dom; in iommu_group_alloc_default_domain() 1743 struct iommu_domain *domain = data; in iommu_group_do_dma_attach() 1760 struct iommu_domain *domain = data; in iommu_group_do_probe_finalize() 1943 struct iommu_domain *domain; in __iommu_domain_alloc() 2276 struct iommu_domain *domain; in iommu_get_domain_for_dev() 2312 struct iommu_domain *domain = data; in iommu_group_do_attach_device() 2347 struct iommu_domain *domain = data; in iommu_group_do_detach_device() 2631 size_t iommu_unmap(struct iommu_domain *domain, in iommu_unmap() [all …]
|
| A D | fsl_pamu_domain.c | 26 static struct fsl_dma_domain *to_fsl_dma_domain(struct iommu_domain *dom) in to_fsl_dma_domain() 28 return container_of(dom, struct fsl_dma_domain, iommu_domain); in to_fsl_dma_domain() 171 static phys_addr_t fsl_pamu_iova_to_phys(struct iommu_domain *domain, in fsl_pamu_iova_to_phys() 185 static void fsl_pamu_domain_free(struct iommu_domain *domain) in fsl_pamu_domain_free() 194 static struct iommu_domain *fsl_pamu_domain_alloc(unsigned type) in fsl_pamu_domain_alloc() 210 dma_domain->iommu_domain. geometry.aperture_start = 0; in fsl_pamu_domain_alloc() 211 dma_domain->iommu_domain.geometry.aperture_end = (1ULL << 36) - 1; in fsl_pamu_domain_alloc() 212 dma_domain->iommu_domain.geometry.force_aperture = true; in fsl_pamu_domain_alloc() 214 return &dma_domain->iommu_domain; in fsl_pamu_domain_alloc() 232 static int fsl_pamu_attach_device(struct iommu_domain *domain, in fsl_pamu_attach_device() [all …]
|
| A 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() 146 static void s390_iommu_detach_device(struct iommu_domain *domain, in s390_iommu_detach_device() 187 struct iommu_domain *domain; in s390_iommu_release_device() 265 static int s390_iommu_map(struct iommu_domain *domain, unsigned long iova, in s390_iommu_map() 283 static phys_addr_t s390_iommu_iova_to_phys(struct iommu_domain *domain, in s390_iommu_iova_to_phys() 314 static size_t s390_iommu_unmap(struct iommu_domain *domain, in s390_iommu_unmap()
|
| A D | sprd-iommu.c | 77 struct iommu_domain domain; 85 static struct sprd_iommu_domain *to_sprd_domain(struct iommu_domain *dom) in to_sprd_domain() 128 sprd_iommu_pgt_size(struct iommu_domain *domain) in sprd_iommu_pgt_size() 135 static struct iommu_domain *sprd_iommu_domain_alloc(unsigned int domain_type) in sprd_iommu_domain_alloc() 154 static void sprd_iommu_domain_free(struct iommu_domain *domain) in sprd_iommu_domain_free() 233 static int sprd_iommu_attach_device(struct iommu_domain *domain, in sprd_iommu_attach_device() 260 static void sprd_iommu_detach_device(struct iommu_domain *domain, in sprd_iommu_detach_device() 275 static int sprd_iommu_map(struct iommu_domain *domain, unsigned long iova, in sprd_iommu_map() 332 static void sprd_iommu_sync_map(struct iommu_domain *domain, in sprd_iommu_sync_map() 347 static void sprd_iommu_sync(struct iommu_domain *domain, in sprd_iommu_sync() [all …]
|
| A D | exynos-iommu.c | 234 struct iommu_domain *domain; /* domain this device is attached */ 250 struct iommu_domain domain; /* generic domain data structure */ 728 static struct iommu_domain *exynos_iommu_domain_alloc(unsigned type) in exynos_iommu_domain_alloc() 782 static void exynos_iommu_domain_free(struct iommu_domain *iommu_domain) in exynos_iommu_domain_free() argument 822 static void exynos_iommu_detach_device(struct iommu_domain *iommu_domain, in exynos_iommu_detach_device() argument 831 if (!has_sysmmu(dev) || owner->domain != iommu_domain) in exynos_iommu_detach_device() 860 static int exynos_iommu_attach_device(struct iommu_domain *iommu_domain, in exynos_iommu_attach_device() argument 885 owner->domain = iommu_domain; in exynos_iommu_attach_device() 1059 static int exynos_iommu_map(struct iommu_domain *iommu_domain, in exynos_iommu_map() argument 1115 static size_t exynos_iommu_unmap(struct iommu_domain *iommu_domain, in exynos_iommu_unmap() argument [all …]
|
| A D | dma-iommu.c | 51 struct iommu_domain *fq_domain; 102 int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie() 151 void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie() 260 struct iommu_domain *domain) in iova_reserve_iommu_regions() 300 struct iommu_domain *domain; in iommu_dma_flush_iotlb_all() 319 int iommu_dma_init_fq(struct iommu_domain *domain) in iommu_dma_init_fq() 491 struct iommu_domain *domain = iommu_get_dma_domain(dev); in __iommu_dma_unmap() 514 struct iommu_domain *domain = iommu_get_dma_domain(dev); in __iommu_dma_map() 607 struct iommu_domain *domain = iommu_get_dma_domain(dev); in __iommu_dma_alloc_noncontiguous() 799 struct iommu_domain *domain = iommu_get_dma_domain(dev); in iommu_dma_map_page() [all …]
|
| A D | apple-dart.c | 158 struct iommu_domain domain; 328 static void apple_dart_flush_iotlb_all(struct iommu_domain *domain) in apple_dart_flush_iotlb_all() 333 static void apple_dart_iotlb_sync(struct iommu_domain *domain, in apple_dart_iotlb_sync() 339 static void apple_dart_iotlb_sync_map(struct iommu_domain *domain, in apple_dart_iotlb_sync_map() 345 static phys_addr_t apple_dart_iova_to_phys(struct iommu_domain *domain, in apple_dart_iova_to_phys() 372 static size_t apple_dart_unmap_pages(struct iommu_domain *domain, in apple_dart_unmap_pages() 401 static int apple_dart_finalize_domain(struct iommu_domain *domain, in apple_dart_finalize_domain() 488 static int apple_dart_attach_dev(struct iommu_domain *domain, in apple_dart_attach_dev() 530 static void apple_dart_detach_dev(struct iommu_domain *domain, in apple_dart_detach_dev() 574 static struct iommu_domain *apple_dart_domain_alloc(unsigned int type) in apple_dart_domain_alloc() [all …]
|
| A D | sun50i-iommu.c | 106 struct iommu_domain *domain; 112 struct iommu_domain domain; 124 static struct sun50i_iommu_domain *to_sun50i_domain(struct iommu_domain *domain) in to_sun50i_domain() 324 static void sun50i_iommu_flush_iotlb_all(struct iommu_domain *domain) in sun50i_iommu_flush_iotlb_all() 346 static void sun50i_iommu_iotlb_sync(struct iommu_domain *domain, in sun50i_iommu_iotlb_sync() 520 static int sun50i_iommu_map(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_map() 577 static phys_addr_t sun50i_iommu_iova_to_phys(struct iommu_domain *domain, in sun50i_iommu_iova_to_phys() 599 static struct iommu_domain *sun50i_iommu_domain_alloc(unsigned type) in sun50i_iommu_domain_alloc() 631 static void sun50i_iommu_domain_free(struct iommu_domain *domain) in sun50i_iommu_domain_free() 690 static void sun50i_iommu_detach_device(struct iommu_domain *domain, in sun50i_iommu_detach_device() [all …]
|
| A D | mtk_iommu_v1.c | 92 struct iommu_domain domain; 98 static struct mtk_iommu_domain *to_mtk_domain(struct iommu_domain *dom) in to_mtk_domain() 238 static struct iommu_domain *mtk_iommu_domain_alloc(unsigned type) in mtk_iommu_domain_alloc() 252 static void mtk_iommu_domain_free(struct iommu_domain *domain) in mtk_iommu_domain_free() 262 static int mtk_iommu_attach_device(struct iommu_domain *domain, in mtk_iommu_attach_device() 288 static void mtk_iommu_detach_device(struct iommu_domain *domain, in mtk_iommu_detach_device() 296 static int mtk_iommu_map(struct iommu_domain *domain, unsigned long iova, in mtk_iommu_map() 325 static size_t mtk_iommu_unmap(struct iommu_domain *domain, in mtk_iommu_unmap() 343 static phys_addr_t mtk_iommu_iova_to_phys(struct iommu_domain *domain, in mtk_iommu_iova_to_phys()
|
| A D | fsl_pamu_domain.h | 16 struct iommu_domain iommu_domain; member
|
| A D | ipmmu-vmsa.c | 73 struct iommu_domain io_domain; 82 static struct ipmmu_vmsa_domain *to_vmsa_domain(struct iommu_domain *dom) in to_vmsa_domain() 570 static struct iommu_domain *ipmmu_domain_alloc(unsigned type) in ipmmu_domain_alloc() 586 static void ipmmu_domain_free(struct iommu_domain *io_domain) in ipmmu_domain_free() 599 static int ipmmu_attach_device(struct iommu_domain *io_domain, in ipmmu_attach_device() 648 static void ipmmu_detach_device(struct iommu_domain *io_domain, in ipmmu_detach_device() 663 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_map() 674 static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_unmap() 682 static void ipmmu_flush_iotlb_all(struct iommu_domain *io_domain) in ipmmu_flush_iotlb_all() 690 static void ipmmu_iotlb_sync(struct iommu_domain *io_domain, in ipmmu_iotlb_sync() [all …]
|
| A D | msm_iommu.c | 42 struct iommu_domain domain; 49 static struct msm_priv *to_msm_priv(struct iommu_domain *dom) in to_msm_priv() 305 static struct iommu_domain *msm_iommu_domain_alloc(unsigned type) in msm_iommu_domain_alloc() 329 static void msm_iommu_domain_free(struct iommu_domain *domain) in msm_iommu_domain_free() 401 static int msm_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in msm_iommu_attach_dev() 450 static void msm_iommu_detach_dev(struct iommu_domain *domain, in msm_iommu_detach_dev() 477 static int msm_iommu_map(struct iommu_domain *domain, unsigned long iova, in msm_iommu_map() 491 static void msm_iommu_sync_map(struct iommu_domain *domain, unsigned long iova, in msm_iommu_sync_map() 499 static size_t msm_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in msm_iommu_unmap() 512 static phys_addr_t msm_iommu_iova_to_phys(struct iommu_domain *domain, in msm_iommu_iova_to_phys()
|
| A D | mtk_iommu.c | 130 struct iommu_domain domain; 206 static struct mtk_iommu_domain *to_mtk_domain(struct iommu_domain *dom) in to_mtk_domain() 432 static struct iommu_domain *mtk_iommu_domain_alloc(unsigned type) in mtk_iommu_domain_alloc() 446 static void mtk_iommu_domain_free(struct iommu_domain *domain) in mtk_iommu_domain_free() 451 static int mtk_iommu_attach_device(struct iommu_domain *domain, in mtk_iommu_attach_device() 490 static void mtk_iommu_detach_device(struct iommu_domain *domain, in mtk_iommu_detach_device() 498 static int mtk_iommu_map(struct iommu_domain *domain, unsigned long iova, in mtk_iommu_map() 511 static size_t mtk_iommu_unmap(struct iommu_domain *domain, in mtk_iommu_unmap() 521 static void mtk_iommu_flush_iotlb_all(struct iommu_domain *domain) in mtk_iommu_flush_iotlb_all() 528 static void mtk_iommu_iotlb_sync(struct iommu_domain *domain, in mtk_iommu_iotlb_sync() [all …]
|
| /linux/drivers/media/platform/qcom/venus/ |
| A D | firmware.c | 147 struct iommu_domain *iommu; in venus_boot_no_tz() 155 iommu = core->fw.iommu_domain; in venus_boot_no_tz() 173 struct iommu_domain *iommu; in venus_shutdown_no_tz() 194 iommu = core->fw.iommu_domain; in venus_shutdown_no_tz() 274 struct iommu_domain *iommu_dom; in venus_firmware_init() 320 core->fw.iommu_domain = iommu_dom; in venus_firmware_init() 336 struct iommu_domain *iommu; in venus_firmware_deinit() 341 iommu = core->fw.iommu_domain; in venus_firmware_deinit() 345 if (core->fw.iommu_domain) { in venus_firmware_deinit() 347 core->fw.iommu_domain = NULL; in venus_firmware_deinit()
|
| /linux/drivers/iommu/arm/arm-smmu/ |
| A D | qcom_iommu.c | 63 struct iommu_domain *domain; 70 struct iommu_domain domain; 75 static struct qcom_iommu_domain *to_qcom_iommu_domain(struct iommu_domain *dom) in to_qcom_iommu_domain() 226 static int qcom_iommu_init_domain(struct iommu_domain *domain, in qcom_iommu_init_domain() 322 static struct iommu_domain *qcom_iommu_domain_alloc(unsigned type) in qcom_iommu_domain_alloc() 343 static void qcom_iommu_domain_free(struct iommu_domain *domain) in qcom_iommu_domain_free() 417 static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_map() 434 static size_t qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_unmap() 459 static void qcom_iommu_flush_iotlb_all(struct iommu_domain *domain) in qcom_iommu_flush_iotlb_all() 472 static void qcom_iommu_iotlb_sync(struct iommu_domain *domain, in qcom_iommu_iotlb_sync() [all …]
|
| /linux/arch/powerpc/include/asm/ |
| A D | fsl_pamu_stash.h | 10 struct iommu_domain; 19 int fsl_pamu_configure_l1_stash(struct iommu_domain *domain, u32 cpu);
|
| /linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
| A D | otx2_txrx.h | 152 static inline u64 otx2_iova_to_phys(void *iommu_domain, dma_addr_t dma_addr) in otx2_iova_to_phys() argument 155 if (likely(iommu_domain)) in otx2_iova_to_phys() 156 return iommu_iova_to_phys(iommu_domain, dma_addr); in otx2_iova_to_phys()
|
| /linux/drivers/gpu/drm/rockchip/ |
| A D | rockchip_drm_drv.h | 25 struct iommu_domain; 48 struct iommu_domain *domain;
|
| /linux/drivers/gpu/drm/msm/ |
| A D | msm_iommu.c | 14 struct iommu_domain *domain; 145 static int msm_fault_handler(struct iommu_domain *domain, struct device *dev, 223 static int msm_fault_handler(struct iommu_domain *domain, struct device *dev, in msm_fault_handler() 299 struct msm_mmu *msm_iommu_new(struct device *dev, struct iommu_domain *domain) in msm_iommu_new()
|