Home
last modified time | relevance | path

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

1234

/drivers/iommu/amd/
Damd_iommu.h40 struct iommu_domain;
54 extern void amd_iommu_domain_direct_map(struct iommu_domain *dom);
55 extern int amd_iommu_domain_enable_v2(struct iommu_domain *dom, int pasids);
56 extern int amd_iommu_flush_page(struct iommu_domain *dom, u32 pasid,
62 extern int amd_iommu_flush_tlb(struct iommu_domain *dom, u32 pasid);
63 extern int amd_iommu_domain_set_gcr3(struct iommu_domain *dom, u32 pasid,
65 extern int amd_iommu_domain_clear_gcr3(struct iommu_domain *dom, u32 pasid);
120 extern bool amd_iommu_is_attach_deferred(struct iommu_domain *domain,
/drivers/soc/fsl/qbman/
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()
/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, unsigned long iova, in gart_iommu_sync_map()
[all …]
Diommu.c47 struct iommu_domain *default_domain;
48 struct iommu_domain *domain;
78 static struct iommu_domain *__iommu_domain_alloc(struct bus_type *bus,
80 static int __iommu_attach_device(struct iommu_domain *domain,
82 static int __iommu_attach_group(struct iommu_domain *domain,
84 static void __iommu_detach_group(struct iommu_domain *domain,
791 struct iommu_domain *domain = group->default_domain; in iommu_create_device_direct_mappings()
855 static bool iommu_is_attach_deferred(struct iommu_domain *domain, in iommu_is_attach_deferred()
1279 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in iommu_page_response()
1562 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()
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 …]
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()
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()
Dexynos-iommu.c234 struct iommu_domain *domain; /* domain this device is attached */
250 struct iommu_domain domain; /* generic domain data structure */
279 static struct exynos_iommu_domain *to_exynos_domain(struct iommu_domain *dom) in to_exynos_domain()
732 static struct iommu_domain *exynos_iommu_domain_alloc(unsigned type) in exynos_iommu_domain_alloc()
786 static void exynos_iommu_domain_free(struct iommu_domain *iommu_domain) in exynos_iommu_domain_free() argument
788 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); in exynos_iommu_domain_free()
826 static void exynos_iommu_detach_device(struct iommu_domain *iommu_domain, in exynos_iommu_detach_device() argument
829 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); in exynos_iommu_detach_device()
835 if (!has_sysmmu(dev) || owner->domain != iommu_domain) in exynos_iommu_detach_device()
864 static int exynos_iommu_attach_device(struct iommu_domain *iommu_domain, in exynos_iommu_attach_device() argument
[all …]
Dsprd-iommu.c77 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()
241 static void sprd_iommu_domain_free(struct iommu_domain *domain) in sprd_iommu_domain_free()
249 static int sprd_iommu_attach_device(struct iommu_domain *domain, in sprd_iommu_attach_device()
276 static void sprd_iommu_detach_device(struct iommu_domain *domain, in sprd_iommu_detach_device()
291 static int sprd_iommu_map(struct iommu_domain *domain, unsigned long iova, in sprd_iommu_map()
326 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()
[all …]
Dapple-dart.c158 struct iommu_domain domain;
189 static struct apple_dart_domain *to_dart_domain(struct iommu_domain *dom) in to_dart_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()
357 static int apple_dart_map_pages(struct iommu_domain *domain, unsigned long iova, in apple_dart_map_pages()
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()
[all …]
Ddma-iommu.c53 struct iommu_domain *fq_domain;
107 int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie()
132 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie()
159 void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
269 struct iommu_domain *domain) in iova_reserve_iommu_regions()
309 struct iommu_domain *domain; in iommu_dma_flush_iotlb_all()
328 int iommu_dma_init_fq(struct iommu_domain *domain) in iommu_dma_init_fq()
363 static int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base, in iommu_dma_init_domain()
416 struct iommu_domain *domain; in iommu_dma_enable_best_fit_algo()
462 static dma_addr_t iommu_dma_alloc_iova(struct iommu_domain *domain, in iommu_dma_alloc_iova()
[all …]
Dsun50i-iommu.c107 struct iommu_domain *domain;
113 struct iommu_domain domain;
125 static struct sun50i_iommu_domain *to_sun50i_domain(struct iommu_domain *domain) in to_sun50i_domain()
325 static void sun50i_iommu_flush_iotlb_all(struct iommu_domain *domain) in sun50i_iommu_flush_iotlb_all()
347 static void sun50i_iommu_iotlb_sync(struct iommu_domain *domain, in sun50i_iommu_iotlb_sync()
521 static int sun50i_iommu_map(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_map()
554 static size_t sun50i_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_unmap()
578 static phys_addr_t sun50i_iommu_iova_to_phys(struct iommu_domain *domain, in sun50i_iommu_iova_to_phys()
600 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()
[all …]
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()
566 static struct iommu_domain *ipmmu_domain_alloc(unsigned type) in ipmmu_domain_alloc()
582 static void ipmmu_domain_free(struct iommu_domain *io_domain) in ipmmu_domain_free()
595 static int ipmmu_attach_device(struct iommu_domain *io_domain, in ipmmu_attach_device()
644 static void ipmmu_detach_device(struct iommu_domain *io_domain, in ipmmu_detach_device()
659 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_map()
670 static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_unmap()
678 static void ipmmu_flush_iotlb_all(struct iommu_domain *io_domain) in ipmmu_flush_iotlb_all()
686 static void ipmmu_iotlb_sync(struct iommu_domain *io_domain, in ipmmu_iotlb_sync()
[all …]
Dfsl_pamu_domain.h16 struct iommu_domain iommu_domain; member
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.c42 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()
Dmtk_iommu.c132 struct iommu_domain domain;
208 static struct mtk_iommu_domain *to_mtk_domain(struct iommu_domain *dom) in to_mtk_domain()
441 static struct iommu_domain *mtk_iommu_domain_alloc(unsigned type) in mtk_iommu_domain_alloc()
455 static void mtk_iommu_domain_free(struct iommu_domain *domain) in mtk_iommu_domain_free()
460 static int mtk_iommu_attach_device(struct iommu_domain *domain, in mtk_iommu_attach_device()
507 static void mtk_iommu_detach_device(struct iommu_domain *domain, in mtk_iommu_detach_device()
515 static int mtk_iommu_map(struct iommu_domain *domain, unsigned long iova, in mtk_iommu_map()
528 static size_t mtk_iommu_unmap(struct iommu_domain *domain, in mtk_iommu_unmap()
538 static void mtk_iommu_flush_iotlb_all(struct iommu_domain *domain) in mtk_iommu_flush_iotlb_all()
545 static void mtk_iommu_iotlb_sync(struct iommu_domain *domain, in mtk_iommu_iotlb_sync()
[all …]
Dtegra-smmu.c53 struct iommu_domain domain;
65 static struct tegra_smmu_as *to_smmu_as(struct iommu_domain *dom) in to_smmu_as()
280 static struct iommu_domain *tegra_smmu_domain_alloc(unsigned type) in tegra_smmu_domain_alloc()
324 static void tegra_smmu_domain_free(struct iommu_domain *domain) in tegra_smmu_domain_free()
485 static int tegra_smmu_attach_dev(struct iommu_domain *domain, in tegra_smmu_attach_dev()
519 static void tegra_smmu_detach_dev(struct iommu_domain *domain, struct device *dev) in tegra_smmu_detach_dev()
703 __tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in __tegra_smmu_map()
740 __tegra_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in __tegra_smmu_unmap()
757 static int tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_map()
771 static size_t tegra_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_unmap()
[all …]
Drockchip-iommu.c89 struct iommu_domain domain;
114 struct iommu_domain *domain; /* domain to which iommu is attached */
134 static struct rk_iommu_domain *to_rk_domain(struct iommu_domain *dom) in to_rk_domain()
647 static phys_addr_t rk_iommu_iova_to_phys(struct iommu_domain *domain, in rk_iommu_iova_to_phys()
817 static int rk_iommu_map(struct iommu_domain *domain, unsigned long _iova, in rk_iommu_map()
855 static size_t rk_iommu_unmap(struct iommu_domain *domain, unsigned long _iova, in rk_iommu_unmap()
922 struct iommu_domain *domain = iommu->domain; in rk_iommu_enable()
954 static void rk_iommu_detach_device(struct iommu_domain *domain, in rk_iommu_detach_device()
987 static int rk_iommu_attach_device(struct iommu_domain *domain, in rk_iommu_attach_device()
1031 static struct iommu_domain *rk_iommu_domain_alloc(unsigned type) in rk_iommu_domain_alloc()
[all …]
/drivers/media/platform/qcom/venus/
Dfirmware.c134 struct iommu_domain *iommu; in venus_boot_no_tz()
142 iommu = core->fw.iommu_domain; in venus_boot_no_tz()
160 struct iommu_domain *iommu; in venus_shutdown_no_tz()
174 iommu = core->fw.iommu_domain; in venus_shutdown_no_tz()
254 struct iommu_domain *iommu_dom; in venus_firmware_init()
300 core->fw.iommu_domain = iommu_dom; in venus_firmware_init()
316 struct iommu_domain *iommu; in venus_firmware_deinit()
321 iommu = core->fw.iommu_domain; in venus_firmware_deinit()
325 if (core->fw.iommu_domain) { in venus_firmware_deinit()
327 core->fw.iommu_domain = NULL; in venus_firmware_deinit()
/drivers/iommu/arm/arm-smmu/
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()
329 static struct iommu_domain *qcom_iommu_domain_alloc(unsigned type) in qcom_iommu_domain_alloc()
350 static void qcom_iommu_domain_free(struct iommu_domain *domain) in qcom_iommu_domain_free()
369 static int qcom_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in qcom_iommu_attach_dev()
402 static void qcom_iommu_detach_dev(struct iommu_domain *domain, struct device *dev) in qcom_iommu_detach_dev()
424 static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_map()
441 static size_t qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_unmap()
[all …]
/drivers/net/ethernet/marvell/octeontx2/nic/
Dotx2_txrx.h149 static inline u64 otx2_iova_to_phys(void *iommu_domain, dma_addr_t dma_addr) in otx2_iova_to_phys() argument
152 if (likely(iommu_domain)) in otx2_iova_to_phys()
153 return iommu_iova_to_phys(iommu_domain, dma_addr); in otx2_iova_to_phys()
/drivers/gpu/drm/rockchip/
Drockchip_drm_drv.h25 struct iommu_domain;
48 struct iommu_domain *domain;
/drivers/gpu/drm/msm/
Dmsm_iommu.c14 struct iommu_domain *domain;
145 static int msm_fault_handler(struct iommu_domain *domain, struct device *dev,
228 static int msm_fault_handler(struct iommu_domain *domain, struct device *dev, in msm_fault_handler()
304 struct msm_mmu *msm_iommu_new(struct device *dev, struct iommu_domain *domain) in msm_iommu_new()
/drivers/net/wireless/ath/ath10k/
Dsnoc.h65 struct iommu_domain *iommu_domain; member
/drivers/staging/media/tegra-vde/
Dvde.h23 struct iommu_domain;
46 struct iommu_domain *domain;

1234