/linux/drivers/iommu/ |
H A D | dma-iommu.h | 14 int iommu_get_dma_cookie(struct iommu_domain *domain); 15 void iommu_put_dma_cookie(struct iommu_domain *domain); 17 int iommu_dma_init_fq(struct iommu_domain *domain); 29 static inline int iommu_dma_init_fq(struct iommu_domain *domain) in iommu_dma_init_fq() 34 static inline int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie() 39 static inline void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
|
H A D | fsl_pamu_domain.c | 27 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() 218 dma_domain->iommu_domain. geometry.aperture_start = 0; in fsl_pamu_domain_alloc() 219 dma_domain->iommu_domain.geometry.aperture_end = (1ULL << 36) - 1; in fsl_pamu_domain_alloc() 220 dma_domain->iommu_domain.geometry.force_aperture = true; in fsl_pamu_domain_alloc() 222 return &dma_domain->iommu_domain; in fsl_pamu_domain_alloc() 240 static int fsl_pamu_attach_device(struct iommu_domain *domain, in fsl_pamu_attach_device() [all …]
|
H A D | iommu.c | 58 struct iommu_domain *default_domain; 59 struct iommu_domain *blocking_domain; 60 struct iommu_domain *domain; 98 static int __iommu_attach_device(struct iommu_domain *domain, 100 static int __iommu_attach_group(struct iommu_domain *domain, 102 static struct iommu_domain *__iommu_paging_domain_alloc_flags(struct device *dev, 112 struct iommu_domain *new_domain, 115 struct iommu_domain *new_domain, 118 struct iommu_domain *new_domain) in __iommu_group_set_domain() 123 struct iommu_domain *new_domain) in __iommu_group_set_domain_nofail() [all …]
|
H A D | iommu-priv.h | 28 struct iommu_domain *new_domain); 41 int iommu_attach_group_handle(struct iommu_domain *domain, 44 void iommu_detach_group_handle(struct iommu_domain *domain, 47 struct iommu_domain *new_domain,
|
H A D | sprd-iommu.c | 78 struct iommu_domain domain; 86 static struct sprd_iommu_domain *to_sprd_domain(struct iommu_domain *dom) in to_sprd_domain() 129 sprd_iommu_pgt_size(struct iommu_domain *domain) in sprd_iommu_pgt_size() 136 static struct iommu_domain *sprd_iommu_domain_alloc_paging(struct device *dev) in sprd_iommu_domain_alloc_paging() 239 static void sprd_iommu_domain_free(struct iommu_domain *domain) in sprd_iommu_domain_free() 247 static int sprd_iommu_attach_device(struct iommu_domain *domain, in sprd_iommu_attach_device() 284 static int sprd_iommu_map(struct iommu_domain *domain, unsigned long iova, in sprd_iommu_map() 321 static size_t sprd_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in sprd_iommu_unmap() 344 static int sprd_iommu_sync_map(struct iommu_domain *domain, in sprd_iommu_sync_map() 360 static void sprd_iommu_sync(struct iommu_domain *domain, in sprd_iommu_sync() [all …]
|
H A D | exynos-iommu.c | 29 static struct iommu_domain exynos_identity_domain; 238 struct iommu_domain *domain; /* domain this device is attached */ 254 struct iommu_domain domain; /* generic domain data structure */ 422 static struct exynos_iommu_domain *to_exynos_domain(struct iommu_domain *dom) in to_exynos_domain() 892 static struct iommu_domain *exynos_iommu_domain_alloc_paging(struct device *dev) in exynos_iommu_domain_alloc_paging() 943 static void exynos_iommu_domain_free(struct iommu_domain *iommu_domain) in exynos_iommu_domain_free() argument 945 struct exynos_iommu_domain *domain = to_exynos_domain(iommu_domain); in exynos_iommu_domain_free() 983 static int exynos_iommu_identity_attach(struct iommu_domain *identity_domain, in exynos_iommu_identity_attach() 1029 static struct iommu_domain exynos_identity_domain = { 1034 static int exynos_iommu_attach_device(struct iommu_domain *iommu_domain, in exynos_iommu_attach_device() argument [all …]
|
H A D | iommu-sva.c | 13 static struct iommu_domain *iommu_sva_domain_alloc(struct device *dev, 76 struct iommu_domain *domain; in iommu_sva_bind_device() 166 struct iommu_domain *domain = handle->handle.domain; in iommu_sva_unbind_device() 188 struct iommu_domain *domain = handle->handle.domain; in iommu_sva_get_pasid() 296 static struct iommu_domain *iommu_sva_domain_alloc(struct device *dev, in iommu_sva_domain_alloc() 300 struct iommu_domain *domain; in iommu_sva_domain_alloc()
|
H A D | sun50i-iommu.c | 111 struct iommu_domain *domain; 116 struct iommu_domain domain; 128 static struct sun50i_iommu_domain *to_sun50i_domain(struct iommu_domain *domain) in to_sun50i_domain() 384 static void sun50i_iommu_flush_iotlb_all(struct iommu_domain *domain) in sun50i_iommu_flush_iotlb_all() 406 static int sun50i_iommu_iotlb_sync_map(struct iommu_domain *domain, in sun50i_iommu_iotlb_sync_map() 420 static void sun50i_iommu_iotlb_sync(struct iommu_domain *domain, in sun50i_iommu_iotlb_sync() 595 static int sun50i_iommu_map(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_map() 638 static size_t sun50i_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in sun50i_iommu_unmap() 662 static phys_addr_t sun50i_iommu_iova_to_phys(struct iommu_domain *domain, in sun50i_iommu_iova_to_phys() 684 static struct iommu_domain * [all …]
|
H A D | ipmmu-vmsa.c | 72 struct iommu_domain io_domain; 81 static struct ipmmu_vmsa_domain *to_vmsa_domain(struct iommu_domain *dom) in to_vmsa_domain() 565 static struct iommu_domain *ipmmu_domain_alloc_paging(struct device *dev) in ipmmu_domain_alloc_paging() 578 static void ipmmu_domain_free(struct iommu_domain *io_domain) in ipmmu_domain_free() 591 static int ipmmu_attach_device(struct iommu_domain *io_domain, in ipmmu_attach_device() 638 static int ipmmu_iommu_identity_attach(struct iommu_domain *identity_domain, in ipmmu_iommu_identity_attach() 641 struct iommu_domain *io_domain = iommu_get_domain_for_dev(dev); in ipmmu_iommu_identity_attach() 663 static struct iommu_domain ipmmu_iommu_identity_domain = { 668 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_map() 678 static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_unmap() [all …]
|
H 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_paging(struct device *dev) in msm_iommu_domain_alloc_paging() 326 static void msm_iommu_domain_free(struct iommu_domain *domain) in msm_iommu_domain_free() 394 static int msm_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in msm_iommu_attach_dev() 443 static int msm_iommu_identity_attach(struct iommu_domain *identity_domain, in msm_iommu_identity_attach() 446 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in msm_iommu_identity_attach() 480 static struct iommu_domain msm_iommu_identity_domain = { 485 static int msm_iommu_map(struct iommu_domain *domain, unsigned long iova, in msm_iommu_map() 501 static int msm_iommu_sync_map(struct iommu_domain *domain, unsigned long iova, in msm_iommu_sync_map() [all …]
|
H A D | fsl_pamu_domain.h | 16 struct iommu_domain iommu_domain; member
|
H A D | mtk_iommu_v1.c | 114 struct iommu_domain domain; 134 static struct mtk_iommu_v1_domain *to_mtk_domain(struct iommu_domain *dom) in to_mtk_domain() 274 static struct iommu_domain *mtk_iommu_v1_domain_alloc_paging(struct device *dev) in mtk_iommu_v1_domain_alloc_paging() 285 static void mtk_iommu_v1_domain_free(struct iommu_domain *domain) in mtk_iommu_v1_domain_free() 295 static int mtk_iommu_v1_attach_device(struct iommu_domain *domain, struct device *dev) in mtk_iommu_v1_attach_device() 320 static int mtk_iommu_v1_identity_attach(struct iommu_domain *identity_domain, in mtk_iommu_v1_identity_attach() 333 static struct iommu_domain mtk_iommu_v1_identity_domain = { 338 static int mtk_iommu_v1_map(struct iommu_domain *domain, unsigned long iova, in mtk_iommu_v1_map() 364 static size_t mtk_iommu_v1_unmap(struct iommu_domain *domain, unsigned long iova, in mtk_iommu_v1_unmap() 382 static phys_addr_t mtk_iommu_v1_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova) in mtk_iommu_v1_iova_to_phys()
|
H A D | apple-dart.c | 268 struct iommu_domain domain; 299 static struct apple_dart_domain *to_dart_domain(struct iommu_domain *dom) in to_dart_domain() 499 static void apple_dart_flush_iotlb_all(struct iommu_domain *domain) in apple_dart_flush_iotlb_all() 504 static void apple_dart_iotlb_sync(struct iommu_domain *domain, in apple_dart_iotlb_sync() 510 static int apple_dart_iotlb_sync_map(struct iommu_domain *domain, in apple_dart_iotlb_sync_map() 517 static phys_addr_t apple_dart_iova_to_phys(struct iommu_domain *domain, in apple_dart_iova_to_phys() 529 static int apple_dart_map_pages(struct iommu_domain *domain, unsigned long iova, in apple_dart_map_pages() 544 static size_t apple_dart_unmap_pages(struct iommu_domain *domain, in apple_dart_unmap_pages() 659 static int apple_dart_attach_dev_paging(struct iommu_domain *domain, in apple_dart_attach_dev_paging() 680 static int apple_dart_attach_dev_identity(struct iommu_domain *domain, in apple_dart_attach_dev_identity() [all …]
|
H A D | dma-iommu.c | 86 struct iommu_domain *fq_domain; 336 int iommu_dma_init_fq(struct iommu_domain *domain) in iommu_dma_init_fq() 391 int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie() 416 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie() 441 void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie() 564 struct iommu_domain *domain) in iova_reserve_iommu_regions() 671 static int iommu_dma_init_domain(struct iommu_domain *domain, struct device *dev) in iommu_dma_init_domain() 762 static dma_addr_t iommu_dma_alloc_iova(struct iommu_domain *domain, in iommu_dma_alloc_iova() 828 struct iommu_domain *domain = iommu_get_dma_domain(dev); in __iommu_dma_unmap() 851 struct iommu_domain *domain = iommu_get_dma_domain(dev); in __iommu_dma_map() [all …]
|
H A D | tegra-smmu.c | 55 struct iommu_domain domain; 67 static struct tegra_smmu_as *to_smmu_as(struct iommu_domain *dom) in to_smmu_as() 277 static struct iommu_domain *tegra_smmu_domain_alloc_paging(struct device *dev) in tegra_smmu_domain_alloc_paging() 318 static void tegra_smmu_domain_free(struct iommu_domain *domain) in tegra_smmu_domain_free() 479 static int tegra_smmu_attach_dev(struct iommu_domain *domain, in tegra_smmu_attach_dev() 513 static int tegra_smmu_identity_attach(struct iommu_domain *identity_domain, in tegra_smmu_identity_attach() 516 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in tegra_smmu_identity_attach() 541 static struct iommu_domain tegra_smmu_identity_domain = { 714 __tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in __tegra_smmu_map() 751 __tegra_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in __tegra_smmu_unmap() [all …]
|
/linux/include/linux/ |
H 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/soc/fsl/qbman/ |
H A D | qman_portal.c | 51 pcfg->iommu_domain = iommu_paging_domain_alloc(dev); in portal_set_cpu() 52 if (IS_ERR(pcfg->iommu_domain)) { in portal_set_cpu() 54 pcfg->iommu_domain = NULL; in portal_set_cpu() 57 ret = fsl_pamu_configure_l1_stash(pcfg->iommu_domain, cpu); in portal_set_cpu() 63 ret = iommu_attach_device(pcfg->iommu_domain, dev); in portal_set_cpu() 78 iommu_domain_free(pcfg->iommu_domain); in portal_set_cpu() 79 pcfg->iommu_domain = NULL; in portal_set_cpu() 91 pcfg->iommu_domain = NULL; in init_pcfg() 131 if (pcfg->iommu_domain) { in qman_portal_update_sdest() 132 if (fsl_pamu_configure_l1_stash(pcfg->iommu_domain, cpu) < 0) { in qman_portal_update_sdest()
|
/linux/drivers/media/platform/qcom/venus/ |
H A D | firmware.c | 151 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()
|
/linux/drivers/iommu/arm/arm-smmu/ |
H 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() 216 static int qcom_iommu_init_domain(struct iommu_domain *domain, in qcom_iommu_init_domain() 325 static struct iommu_domain *qcom_iommu_domain_alloc_paging(struct device *dev) in qcom_iommu_domain_alloc_paging() 344 static void qcom_iommu_domain_free(struct iommu_domain *domain) in qcom_iommu_domain_free() 363 static int qcom_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in qcom_iommu_attach_dev() 391 static int qcom_iommu_identity_attach(struct iommu_domain *identity_domain, in qcom_iommu_identity_attach() 394 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in qcom_iommu_identity_attach() 424 static struct iommu_domain qcom_iommu_identity_domain = { [all …]
|
/linux/drivers/iommu/iommufd/ |
H A D | io_pagetable.h | 15 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);
|
H A D | io_pagetable.c | 486 struct iommu_domain *domain; 497 struct iommu_domain *domain = arg->domain; in __iommu_read_and_clear_dirty() 520 iommu_read_and_clear_dirty(struct iommu_domain *domain, in iommu_read_and_clear_dirty() 583 struct iommu_domain *domain, in iopt_read_and_clear_dirty_data() 601 struct iommu_domain *domain) in iopt_clear_dirty_data() 630 struct iommu_domain *domain, bool enable) in iopt_set_dirty_tracking() 924 struct iommu_domain *domain) in iopt_unfill_domain() 937 struct iommu_domain *storage_domain = in iopt_unfill_domain() 984 struct iommu_domain *domain) in iopt_fill_domain() 1068 struct iommu_domain *domain) in iopt_table_add_domain() [all …]
|
/linux/arch/powerpc/include/asm/ |
H 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/wireless/ath/ath11k/ |
H A D | ahb.h | 28 struct iommu_domain *iommu_domain; member
|
/linux/drivers/gpu/drm/rockchip/ |
H A D | rockchip_drm_drv.h | 43 struct iommu_domain; 68 struct iommu_domain *domain;
|
/linux/drivers/net/wireless/ath/ath10k/ |
H A D | snoc.h | 65 struct iommu_domain *iommu_domain; member
|