Home
last modified time | relevance | path

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

12345

/openbmc/linux/include/linux/
H A Diommu.h38 struct iommu_domain;
49 typedef int (*iommu_fault_handler_t)(struct iommu_domain *,
95 struct iommu_domain { struct
348 void (*flush_iotlb_all)(struct iommu_domain *domain);
351 void (*iotlb_sync)(struct iommu_domain *domain,
358 int (*enable_nesting)(struct iommu_domain *domain);
362 void (*free)(struct iommu_domain *domain);
670 struct iommu_domain *domain;
728 struct iommu_domain *
1071 static inline struct iommu_domain *
[all …]
H A Domap-iommu.h13 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()
/openbmc/linux/drivers/iommu/
H A Ddma-iommu.h12 int iommu_get_dma_cookie(struct iommu_domain *domain);
13 void iommu_put_dma_cookie(struct iommu_domain *domain);
15 int iommu_dma_init_fq(struct iommu_domain *domain);
27 static inline int iommu_dma_init_fq(struct iommu_domain *domain) in iommu_dma_init_fq()
32 static inline int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie()
37 static inline void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
H A Dfsl_pamu_domain.c27 static struct fsl_dma_domain *to_fsl_dma_domain(struct iommu_domain *dom) in to_fsl_dma_domain()
29 return container_of(dom, struct fsl_dma_domain, iommu_domain); in to_fsl_dma_domain()
172 static phys_addr_t fsl_pamu_iova_to_phys(struct iommu_domain *domain, in fsl_pamu_iova_to_phys()
186 static void fsl_pamu_domain_free(struct iommu_domain *domain) in fsl_pamu_domain_free()
195 static struct iommu_domain *fsl_pamu_domain_alloc(unsigned type) in fsl_pamu_domain_alloc()
211 dma_domain->iommu_domain. geometry.aperture_start = 0; in fsl_pamu_domain_alloc()
212 dma_domain->iommu_domain.geometry.aperture_end = (1ULL << 36) - 1; in fsl_pamu_domain_alloc()
213 dma_domain->iommu_domain.geometry.force_aperture = true; in fsl_pamu_domain_alloc()
215 return &dma_domain->iommu_domain; in fsl_pamu_domain_alloc()
233 static int fsl_pamu_attach_device(struct iommu_domain *domain, in fsl_pamu_attach_device()
[all …]
H A Dtegra-gart.c44 struct iommu_domain *active_domain; /* current active domain */
106 static int gart_iommu_attach_dev(struct iommu_domain *domain, in gart_iommu_attach_dev()
129 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in gart_iommu_set_platform_dma()
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()
255 static void gart_iommu_sync_map(struct iommu_domain *domain, unsigned long iova, in gart_iommu_sync_map()
[all …]
H A Diommu.c60 struct iommu_domain *default_domain;
61 struct iommu_domain *blocking_domain;
62 struct iommu_domain *domain;
1731 static struct iommu_domain *
1744 static struct iommu_domain *
1750 struct iommu_domain *dom; in iommu_group_alloc_default_domain()
1976 struct iommu_domain *domain; in __iommu_domain_alloc()
2121 struct iommu_domain *domain; in iommu_get_domain_for_dev()
2949 struct iommu_domain *dom; in iommu_setup_default_domain()
3488 struct iommu_domain *domain; in iommu_get_domain_for_dev_pasid()
[all …]
H A Ds390-iommu.c20 struct iommu_domain domain;
27 static struct s390_domain *to_s390_domain(struct iommu_domain *dom) in to_s390_domain()
42 static struct iommu_domain *s390_domain_alloc(unsigned domain_type) in s390_domain_alloc()
76 static void s390_domain_free(struct iommu_domain *domain) in s390_domain_free()
104 static int s390_iommu_attach_device(struct iommu_domain *domain, in s390_iommu_attach_device()
208 static void s390_iommu_flush_iotlb_all(struct iommu_domain *domain) in s390_iommu_flush_iotlb_all()
221 static void s390_iommu_iotlb_sync(struct iommu_domain *domain, in s390_iommu_iotlb_sync()
240 static void s390_iommu_iotlb_sync_map(struct iommu_domain *domain, in s390_iommu_iotlb_sync_map()
314 static int s390_iommu_map_pages(struct iommu_domain *domain, in s390_iommu_map_pages()
347 static phys_addr_t s390_iommu_iova_to_phys(struct iommu_domain *domain, in s390_iommu_iova_to_phys()
[all …]
H A Dsprd-iommu.c79 struct iommu_domain domain;
87 static struct sprd_iommu_domain *to_sprd_domain(struct iommu_domain *dom) in to_sprd_domain()
130 sprd_iommu_pgt_size(struct iommu_domain *domain) in sprd_iommu_pgt_size()
137 static struct iommu_domain *sprd_iommu_domain_alloc(unsigned int domain_type) in sprd_iommu_domain_alloc()
243 static void sprd_iommu_domain_free(struct iommu_domain *domain) in sprd_iommu_domain_free()
251 static int sprd_iommu_attach_device(struct iommu_domain *domain, in sprd_iommu_attach_device()
288 static int sprd_iommu_map(struct iommu_domain *domain, unsigned long iova, in sprd_iommu_map()
325 static size_t sprd_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in sprd_iommu_unmap()
348 static void sprd_iommu_sync_map(struct iommu_domain *domain, in sprd_iommu_sync_map()
363 static void sprd_iommu_sync(struct iommu_domain *domain, in sprd_iommu_sync()
[all …]
H A Dexynos-iommu.c235 struct iommu_domain *domain; /* domain this device is attached */
251 struct iommu_domain domain; /* generic domain data structure */
889 static struct iommu_domain *exynos_iommu_domain_alloc(unsigned type) in exynos_iommu_domain_alloc()
943 static void exynos_iommu_domain_free(struct iommu_domain *iommu_domain) in exynos_iommu_domain_free() argument
983 static void exynos_iommu_detach_device(struct iommu_domain *iommu_domain, in exynos_iommu_detach_device() argument
992 if (!has_sysmmu(dev) || owner->domain != iommu_domain) in exynos_iommu_detach_device()
1021 static int exynos_iommu_attach_device(struct iommu_domain *iommu_domain, in exynos_iommu_attach_device() argument
1046 owner->domain = iommu_domain; in exynos_iommu_attach_device()
1220 static int exynos_iommu_map(struct iommu_domain *iommu_domain, in exynos_iommu_map() argument
1276 static size_t exynos_iommu_unmap(struct iommu_domain *iommu_domain, in exynos_iommu_unmap() argument
[all …]
H A Dfsl_pamu_domain.h16 struct iommu_domain iommu_domain; member
H A Dsun50i-iommu.c109 struct iommu_domain *domain;
115 struct iommu_domain domain;
383 static void sun50i_iommu_flush_iotlb_all(struct iommu_domain *domain) in sun50i_iommu_flush_iotlb_all()
405 static void sun50i_iommu_iotlb_sync_map(struct iommu_domain *domain, in sun50i_iommu_iotlb_sync_map()
417 static void sun50i_iommu_iotlb_sync(struct iommu_domain *domain, in sun50i_iommu_iotlb_sync()
591 static int sun50i_iommu_map(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_map()
648 static phys_addr_t sun50i_iommu_iova_to_phys(struct iommu_domain *domain, in sun50i_iommu_iova_to_phys()
670 static struct iommu_domain *sun50i_iommu_domain_alloc(unsigned type) in sun50i_iommu_domain_alloc()
701 static void sun50i_iommu_domain_free(struct iommu_domain *domain) in sun50i_iommu_domain_free()
760 static void sun50i_iommu_detach_device(struct iommu_domain *domain, in sun50i_iommu_detach_device()
[all …]
H A Diommu-sva.c61 struct iommu_domain *domain; in iommu_sva_bind_device()
126 struct iommu_domain *domain = handle->domain; in iommu_sva_unbind_device()
142 struct iommu_domain *domain = handle->domain; in iommu_sva_get_pasid()
H A Ddma-iommu.c70 struct iommu_domain *fq_domain;
243 int iommu_dma_init_fq(struct iommu_domain *domain) in iommu_dma_init_fq()
309 int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie()
359 void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
482 struct iommu_domain *domain) in iova_reserve_iommu_regions()
725 struct iommu_domain *domain = iommu_get_dma_domain(dev); in __iommu_dma_unmap()
748 struct iommu_domain *domain = iommu_get_dma_domain(dev); in __iommu_dma_map()
838 struct iommu_domain *domain = iommu_get_dma_domain(dev); in __iommu_dma_alloc_noncontiguous()
1037 struct iommu_domain *domain = iommu_get_dma_domain(dev); in iommu_dma_map_page()
1090 struct iommu_domain *domain = iommu_get_dma_domain(dev); in iommu_dma_unmap_page()
[all …]
H A Drockchip-iommu.c89 struct iommu_domain domain;
115 struct iommu_domain *domain; /* domain to which iommu is attached */
126 static struct iommu_domain rk_identity_domain;
136 static struct rk_iommu_domain *to_rk_domain(struct iommu_domain *dom) in to_rk_domain()
649 static phys_addr_t rk_iommu_iova_to_phys(struct iommu_domain *domain, in rk_iommu_iova_to_phys()
924 struct iommu_domain *domain = iommu->domain; in rk_iommu_enable()
992 static void rk_iommu_identity_free(struct iommu_domain *domain) in rk_iommu_identity_free()
1001 static struct iommu_domain rk_identity_domain = {
1013 static int rk_iommu_attach_device(struct iommu_domain *domain, in rk_iommu_attach_device()
1058 static struct iommu_domain *rk_iommu_domain_alloc(unsigned type) in rk_iommu_domain_alloc()
[all …]
H A Dipmmu-vmsa.c73 struct iommu_domain io_domain;
82 static struct ipmmu_vmsa_domain *to_vmsa_domain(struct iommu_domain *dom) in to_vmsa_domain()
554 static struct iommu_domain *ipmmu_domain_alloc(unsigned type) in ipmmu_domain_alloc()
570 static void ipmmu_domain_free(struct iommu_domain *io_domain) in ipmmu_domain_free()
583 static int ipmmu_attach_device(struct iommu_domain *io_domain, in ipmmu_attach_device()
630 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_map()
640 static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_unmap()
649 static void ipmmu_flush_iotlb_all(struct iommu_domain *io_domain) in ipmmu_flush_iotlb_all()
657 static void ipmmu_iotlb_sync(struct iommu_domain *io_domain, in ipmmu_iotlb_sync()
663 static phys_addr_t ipmmu_iova_to_phys(struct iommu_domain *io_domain, in ipmmu_iova_to_phys()
/openbmc/linux/drivers/soc/fsl/qbman/
H A Dqman_portal.c51 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()
/openbmc/linux/drivers/iommu/amd/
H A Damd_iommu.h42 struct iommu_domain;
56 void amd_iommu_domain_direct_map(struct iommu_domain *dom);
57 int amd_iommu_domain_enable_v2(struct iommu_domain *dom, int pasids);
58 int amd_iommu_flush_page(struct iommu_domain *dom, u32 pasid, u64 address);
63 int amd_iommu_flush_tlb(struct iommu_domain *dom, u32 pasid);
64 int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, u32 pasid,
66 int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, u32 pasid);
/openbmc/linux/drivers/media/platform/qcom/venus/
H A Dfirmware.c151 struct iommu_domain *iommu; in venus_boot_no_tz()
159 iommu = core->fw.iommu_domain; in venus_boot_no_tz()
177 struct iommu_domain *iommu; in venus_shutdown_no_tz()
196 iommu = core->fw.iommu_domain; in venus_shutdown_no_tz()
286 struct iommu_domain *iommu_dom; in venus_firmware_init()
332 core->fw.iommu_domain = iommu_dom; in venus_firmware_init()
348 struct iommu_domain *iommu; in venus_firmware_deinit()
353 iommu = core->fw.iommu_domain; in venus_firmware_deinit()
357 if (core->fw.iommu_domain) { in venus_firmware_deinit()
359 core->fw.iommu_domain = NULL; in venus_firmware_deinit()
/openbmc/linux/drivers/iommu/iommufd/
H A Dio_pagetable.h15 struct iommu_domain;
44 struct iommu_domain *storage_domain;
65 int iopt_area_fill_domain(struct iopt_area *area, struct iommu_domain *domain);
67 struct iommu_domain *domain);
69 struct iommu_domain *domain);
/openbmc/linux/arch/powerpc/include/asm/
H A Dfsl_pamu_stash.h10 struct iommu_domain;
19 int fsl_pamu_configure_l1_stash(struct iommu_domain *domain, u32 cpu);
/openbmc/linux/drivers/net/wireless/ath/ath11k/
H A Dahb.h28 struct iommu_domain *iommu_domain; member
/openbmc/linux/drivers/iommu/arm/arm-smmu/
H A Dqcom_iommu.c63 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()
335 static struct iommu_domain *qcom_iommu_domain_alloc(unsigned type) in qcom_iommu_domain_alloc()
356 static void qcom_iommu_domain_free(struct iommu_domain *domain) in qcom_iommu_domain_free()
403 static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_map()
421 static size_t qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_unmap()
447 static void qcom_iommu_flush_iotlb_all(struct iommu_domain *domain) in qcom_iommu_flush_iotlb_all()
460 static void qcom_iommu_iotlb_sync(struct iommu_domain *domain, in qcom_iommu_iotlb_sync()
[all …]
/openbmc/linux/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_txrx.h158 static inline u64 otx2_iova_to_phys(void *iommu_domain, dma_addr_t dma_addr) in otx2_iova_to_phys() argument
161 if (likely(iommu_domain)) in otx2_iova_to_phys()
162 return iommu_iova_to_phys(iommu_domain, dma_addr); in otx2_iova_to_phys()
/openbmc/linux/drivers/gpu/drm/rockchip/
H A Drockchip_drm_drv.h25 struct iommu_domain;
49 struct iommu_domain *domain;
/openbmc/linux/drivers/net/wireless/ath/ath10k/
H A Dsnoc.h65 struct iommu_domain *iommu_domain; member

12345