Home
last modified time | relevance | path

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

1234

/kernel/linux/linux-5.10/include/linux/
Diommu.h39 struct iommu_domain;
48 typedef int (*iommu_fault_handler_t)(struct iommu_domain *,
82 struct iommu_domain { struct
237 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type);
238 void (*domain_free)(struct iommu_domain *);
240 int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
241 void (*detach_dev)(struct iommu_domain *domain, struct device *dev);
242 int (*map)(struct iommu_domain *domain, unsigned long iova,
244 size_t (*unmap)(struct iommu_domain *domain, unsigned long iova,
246 void (*flush_iotlb_all)(struct iommu_domain *domain);
[all …]
Ddma-iommu.h17 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);
42 struct iommu_domain;
52 static inline int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie()
57 static inline int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie()
62 static inline void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
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()
/kernel/linux/linux-5.10/drivers/iommu/amd/
Damd_iommu.h42 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, u32 pasid,
60 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, u32 pasid);
61 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, u32 pasid,
63 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, u32 pasid);
64 extern struct iommu_domain *amd_iommu_get_v2_domain(struct pci_dev *pdev);
104 extern bool amd_iommu_is_attach_deferred(struct iommu_domain *domain,
/kernel/linux/linux-5.10/drivers/soc/fsl/qbman/
Dqman_portal.c54 pcfg->iommu_domain = iommu_domain_alloc(&platform_bus_type); in portal_set_cpu()
55 if (!pcfg->iommu_domain) { in portal_set_cpu()
63 ret = iommu_domain_set_attr(pcfg->iommu_domain, DOMAIN_ATTR_GEOMETRY, in portal_set_cpu()
70 ret = iommu_domain_set_attr(pcfg->iommu_domain, DOMAIN_ATTR_WINDOWS, in portal_set_cpu()
79 ret = iommu_domain_set_attr(pcfg->iommu_domain, in portal_set_cpu()
87 ret = iommu_domain_window_enable(pcfg->iommu_domain, 0, 0, 1ULL << 36, in portal_set_cpu()
94 ret = iommu_attach_device(pcfg->iommu_domain, dev); in portal_set_cpu()
100 ret = iommu_domain_set_attr(pcfg->iommu_domain, in portal_set_cpu()
117 iommu_detach_device(pcfg->iommu_domain, NULL); in portal_set_cpu()
119 iommu_domain_free(pcfg->iommu_domain); in portal_set_cpu()
[all …]
/kernel/linux/linux-5.10/drivers/iommu/
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()
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) in gart_iommu_sync_map()
[all …]
Diommu.c45 struct iommu_domain *default_domain;
46 struct iommu_domain *domain;
85 static struct iommu_domain *__iommu_domain_alloc(struct bus_type *bus,
87 static int __iommu_attach_device(struct iommu_domain *domain,
89 static int __iommu_attach_group(struct iommu_domain *domain,
91 static void __iommu_detach_group(struct iommu_domain *domain,
728 struct iommu_domain *domain = group->default_domain; in iommu_create_device_direct_mappings()
780 static bool iommu_is_attach_deferred(struct iommu_domain *domain, in iommu_is_attach_deferred()
1204 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in iommu_page_response()
1485 struct iommu_domain *dom; in iommu_group_alloc_default_domain()
[all …]
Dfsl_pamu_domain.c26 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()
63 geom = &dma_domain->iommu_domain.geometry; in get_phys_addr()
121 phys_addr_t wnd_addr = dma_domain->iommu_domain.geometry.aperture_start; in map_win()
170 wnd_addr = dma_domain->iommu_domain.geometry.aperture_start; in update_liodn()
379 static phys_addr_t fsl_pamu_iova_to_phys(struct iommu_domain *domain, in fsl_pamu_iova_to_phys()
396 static void fsl_pamu_domain_free(struct iommu_domain *domain) in fsl_pamu_domain_free()
409 static struct iommu_domain *fsl_pamu_domain_alloc(unsigned type) in fsl_pamu_domain_alloc()
422 dma_domain->iommu_domain. geometry.aperture_start = 0; in fsl_pamu_domain_alloc()
423 dma_domain->iommu_domain.geometry.aperture_end = (1ULL << 36) - 1; in fsl_pamu_domain_alloc()
[all …]
Ds390-iommu.c25 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()
179 struct iommu_domain *domain; in s390_iommu_release_device()
257 static int s390_iommu_map(struct iommu_domain *domain, unsigned long iova, in s390_iommu_map()
275 static phys_addr_t s390_iommu_iova_to_phys(struct iommu_domain *domain, in s390_iommu_iova_to_phys()
306 static size_t s390_iommu_unmap(struct iommu_domain *domain, in s390_iommu_unmap()
Dexynos-iommu.c236 struct iommu_domain *domain; /* domain this device is attached */
252 struct iommu_domain domain; /* generic domain data structure */
281 static struct exynos_iommu_domain *to_exynos_domain(struct iommu_domain *dom) in to_exynos_domain()
737 static struct iommu_domain *exynos_iommu_domain_alloc(unsigned type) in exynos_iommu_domain_alloc()
798 static void exynos_iommu_domain_free(struct iommu_domain *iommu_domain) in exynos_iommu_domain_free() argument
800 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); in exynos_iommu_domain_free()
820 if (iommu_domain->type == IOMMU_DOMAIN_DMA) in exynos_iommu_domain_free()
821 iommu_put_dma_cookie(iommu_domain); in exynos_iommu_domain_free()
841 static void exynos_iommu_detach_device(struct iommu_domain *iommu_domain, in exynos_iommu_detach_device() argument
844 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); in exynos_iommu_detach_device()
[all …]
Dfsl_pamu_domain.h62 struct iommu_domain iommu_domain; member
Dipmmu-vmsa.c75 struct iommu_domain io_domain;
84 static struct ipmmu_vmsa_domain *to_vmsa_domain(struct iommu_domain *dom) in to_vmsa_domain()
569 static struct iommu_domain *__ipmmu_domain_alloc(unsigned type) in __ipmmu_domain_alloc()
582 static struct iommu_domain *ipmmu_domain_alloc(unsigned type) in ipmmu_domain_alloc()
584 struct iommu_domain *io_domain = NULL; in ipmmu_domain_alloc()
603 static void ipmmu_domain_free(struct iommu_domain *io_domain) in ipmmu_domain_free()
617 static int ipmmu_attach_device(struct iommu_domain *io_domain, in ipmmu_attach_device()
666 static void ipmmu_detach_device(struct iommu_domain *io_domain, in ipmmu_detach_device()
681 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_map()
692 static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_unmap()
[all …]
Ddma-iommu.c49 struct iommu_domain *fq_domain;
78 int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie()
103 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie()
130 void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
240 struct iommu_domain *domain) in iova_reserve_iommu_regions()
280 struct iommu_domain *domain; in iommu_dma_flush_iotlb_all()
303 static int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base, in iommu_dma_init_domain()
361 struct iommu_domain *domain) in iommu_dma_deferred_attach()
404 static dma_addr_t iommu_dma_alloc_iova(struct iommu_domain *domain, in iommu_dma_alloc_iova()
463 struct iommu_domain *domain = iommu_get_dma_domain(dev); in __iommu_dma_unmap()
[all …]
Dmtk_iommu.c130 struct iommu_domain domain;
180 static struct mtk_iommu_domain *to_mtk_domain(struct iommu_domain *dom) in to_mtk_domain()
235 struct iommu_domain *domain = &data->m4u_dom->domain; in mtk_iommu_tlb_flush_page_nosync()
346 static struct iommu_domain *mtk_iommu_domain_alloc(unsigned type) in mtk_iommu_domain_alloc()
376 static void mtk_iommu_domain_free(struct iommu_domain *domain) in mtk_iommu_domain_free()
385 static int mtk_iommu_attach_device(struct iommu_domain *domain, in mtk_iommu_attach_device()
405 static void mtk_iommu_detach_device(struct iommu_domain *domain, in mtk_iommu_detach_device()
416 static int mtk_iommu_map(struct iommu_domain *domain, unsigned long iova, in mtk_iommu_map()
430 static size_t mtk_iommu_unmap(struct iommu_domain *domain, in mtk_iommu_unmap()
439 static void mtk_iommu_flush_iotlb_all(struct iommu_domain *domain) in mtk_iommu_flush_iotlb_all()
[all …]
Dsun50i-iommu.c108 struct iommu_domain *domain;
114 struct iommu_domain domain;
126 static struct sun50i_iommu_domain *to_sun50i_domain(struct iommu_domain *domain) in to_sun50i_domain()
326 static void sun50i_iommu_flush_iotlb_all(struct iommu_domain *domain) in sun50i_iommu_flush_iotlb_all()
348 static void sun50i_iommu_iotlb_sync(struct iommu_domain *domain, in sun50i_iommu_iotlb_sync()
522 static int sun50i_iommu_map(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_map()
555 static size_t sun50i_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_unmap()
579 static phys_addr_t sun50i_iommu_iova_to_phys(struct iommu_domain *domain, in sun50i_iommu_iova_to_phys()
601 static struct iommu_domain *sun50i_iommu_domain_alloc(unsigned type) in sun50i_iommu_domain_alloc()
640 static void sun50i_iommu_domain_free(struct iommu_domain *domain) in sun50i_iommu_domain_free()
[all …]
Dmtk_iommu_v1.c93 struct iommu_domain domain;
99 static struct mtk_iommu_domain *to_mtk_domain(struct iommu_domain *dom) in to_mtk_domain()
239 static struct iommu_domain *mtk_iommu_domain_alloc(unsigned type) in mtk_iommu_domain_alloc()
253 static void mtk_iommu_domain_free(struct iommu_domain *domain) in mtk_iommu_domain_free()
263 static int mtk_iommu_attach_device(struct iommu_domain *domain, in mtk_iommu_attach_device()
289 static void mtk_iommu_detach_device(struct iommu_domain *domain, in mtk_iommu_detach_device()
297 static int mtk_iommu_map(struct iommu_domain *domain, unsigned long iova, in mtk_iommu_map()
326 static size_t mtk_iommu_unmap(struct iommu_domain *domain, in mtk_iommu_unmap()
344 static phys_addr_t mtk_iommu_iova_to_phys(struct iommu_domain *domain, in mtk_iommu_iova_to_phys()
Dmsm_iommu.c43 struct iommu_domain domain;
50 static struct msm_priv *to_msm_priv(struct iommu_domain *dom) in to_msm_priv()
313 static struct iommu_domain *msm_iommu_domain_alloc(unsigned type) in msm_iommu_domain_alloc()
337 static void msm_iommu_domain_free(struct iommu_domain *domain) in msm_iommu_domain_free()
410 static int msm_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in msm_iommu_attach_dev()
459 static void msm_iommu_detach_dev(struct iommu_domain *domain, in msm_iommu_detach_dev()
486 static int msm_iommu_map(struct iommu_domain *domain, unsigned long iova, in msm_iommu_map()
500 static size_t msm_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in msm_iommu_unmap()
513 static phys_addr_t msm_iommu_iova_to_phys(struct iommu_domain *domain, in msm_iommu_iova_to_phys()
Drockchip-iommu.c91 struct iommu_domain domain;
109 struct iommu_domain *domain; /* domain to which iommu is attached */
128 static struct rk_iommu_domain *to_rk_domain(struct iommu_domain *dom) in to_rk_domain()
589 static phys_addr_t rk_iommu_iova_to_phys(struct iommu_domain *domain, in rk_iommu_iova_to_phys()
760 static int rk_iommu_map(struct iommu_domain *domain, unsigned long _iova, in rk_iommu_map()
797 static size_t rk_iommu_unmap(struct iommu_domain *domain, unsigned long _iova, in rk_iommu_unmap()
864 struct iommu_domain *domain = iommu->domain; in rk_iommu_enable()
896 static void rk_iommu_detach_device(struct iommu_domain *domain, in rk_iommu_detach_device()
929 static int rk_iommu_attach_device(struct iommu_domain *domain, in rk_iommu_attach_device()
973 static struct iommu_domain *rk_iommu_domain_alloc(unsigned type) in rk_iommu_domain_alloc()
[all …]
/kernel/linux/linux-5.10/drivers/media/platform/qcom/venus/
Dfirmware.c132 struct iommu_domain *iommu; in venus_boot_no_tz()
140 iommu = core->fw.iommu_domain; in venus_boot_no_tz()
158 struct iommu_domain *iommu; in venus_shutdown_no_tz()
172 iommu = core->fw.iommu_domain; in venus_shutdown_no_tz()
238 struct iommu_domain *iommu_dom; in venus_firmware_init()
284 core->fw.iommu_domain = iommu_dom; in venus_firmware_init()
300 struct iommu_domain *iommu; in venus_firmware_deinit()
305 iommu = core->fw.iommu_domain; in venus_firmware_deinit()
/kernel/linux/linux-5.10/drivers/iommu/arm/arm-smmu/
Dqcom_iommu.c65 struct iommu_domain *domain;
72 struct iommu_domain domain;
77 static struct qcom_iommu_domain *to_qcom_iommu_domain(struct iommu_domain *dom) in to_qcom_iommu_domain()
236 static int qcom_iommu_init_domain(struct iommu_domain *domain, in qcom_iommu_init_domain()
332 static struct iommu_domain *qcom_iommu_domain_alloc(unsigned type) in qcom_iommu_domain_alloc()
359 static void qcom_iommu_domain_free(struct iommu_domain *domain) in qcom_iommu_domain_free()
380 static int qcom_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in qcom_iommu_attach_dev()
413 static void qcom_iommu_detach_dev(struct iommu_domain *domain, struct device *dev) in qcom_iommu_detach_dev()
435 static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_map()
452 static size_t qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_unmap()
[all …]
/kernel/linux/linux-5.10/drivers/net/ethernet/marvell/octeontx2/nic/
Dotx2_txrx.h148 static inline u64 otx2_iova_to_phys(void *iommu_domain, dma_addr_t dma_addr) in otx2_iova_to_phys() argument
151 if (likely(iommu_domain)) in otx2_iova_to_phys()
152 return iommu_iova_to_phys(iommu_domain, dma_addr); in otx2_iova_to_phys()
/kernel/linux/linux-5.10/drivers/gpu/drm/rockchip/
Drockchip_drm_drv.h25 struct iommu_domain;
48 struct iommu_domain *domain;
/kernel/linux/linux-5.10/drivers/net/wireless/ath/ath10k/
Dsnoc.h62 struct iommu_domain *iommu_domain; member
/kernel/linux/linux-5.10/drivers/staging/media/tegra-vde/
Dvde.h23 struct iommu_domain;
46 struct iommu_domain *domain;
/kernel/linux/linux-5.10/drivers/dma/fsl-dpaa2-qdma/
Ddpaa2-qdma.h115 struct iommu_domain *iommu_domain; member

1234