| /OK3568_Linux_fs/kernel/include/linux/ |
| H A D | iommu.h | 51 struct iommu_domain; 60 typedef int (*iommu_fault_handler_t)(struct iommu_domain *, 94 struct iommu_domain { struct 254 struct iommu_domain *(*domain_alloc)(unsigned iommu_domain_type); 255 void (*domain_free)(struct iommu_domain *); 257 int (*attach_dev)(struct iommu_domain *domain, struct device *dev); 258 void (*detach_dev)(struct iommu_domain *domain, struct device *dev); 259 int (*map)(struct iommu_domain *domain, unsigned long iova, 261 int (*map_pages)(struct iommu_domain *domain, unsigned long iova, 264 int (*map_sg)(struct iommu_domain *domain, unsigned long iova, [all …]
|
| H 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); 47 struct iommu_domain; 57 static inline int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie() 62 static inline int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie() 67 static inline void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie()
|
| 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()
|
| /OK3568_Linux_fs/kernel/drivers/iommu/amd/ |
| H A D | amd_iommu.h | 42 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,
|
| /OK3568_Linux_fs/kernel/drivers/soc/fsl/qbman/ |
| H A D | qman_portal.c | 54 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/iommu/ |
| H 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 …]
|
| H A D | iommu.c | 46 struct iommu_domain *default_domain; 47 struct iommu_domain *domain; 86 static struct iommu_domain *__iommu_domain_alloc(struct bus_type *bus, 88 static int __iommu_attach_device(struct iommu_domain *domain, 90 static int __iommu_attach_group(struct iommu_domain *domain, 92 static void __iommu_detach_group(struct iommu_domain *domain, 732 struct iommu_domain *domain = group->default_domain; in iommu_create_device_direct_mappings() 784 static bool iommu_is_attach_deferred(struct iommu_domain *domain, in iommu_is_attach_deferred() 1208 struct iommu_domain *domain = iommu_get_domain_for_dev(dev); in iommu_page_response() 1489 struct iommu_domain *dom; in iommu_group_alloc_default_domain() [all …]
|
| H 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() 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 …]
|
| H 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() 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()
|
| H A D | exynos-iommu.c | 236 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 …]
|
| H A D | dma-iommu.c | 50 struct iommu_domain *fq_domain; 85 int iommu_get_dma_cookie(struct iommu_domain *domain) in iommu_get_dma_cookie() 110 int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base) in iommu_get_msi_cookie() 137 void iommu_put_dma_cookie(struct iommu_domain *domain) in iommu_put_dma_cookie() 247 struct iommu_domain *domain) in iova_reserve_iommu_regions() 287 struct iommu_domain *domain; in iommu_dma_flush_iotlb_all() 310 static int iommu_dma_init_domain(struct iommu_domain *domain, dma_addr_t base, in iommu_dma_init_domain() 380 struct iommu_domain *domain) in iommu_dma_deferred_attach() 400 struct iommu_domain *domain; in iommu_dma_reserve_iova() 427 struct iommu_domain *domain; in iommu_dma_enable_best_fit_algo() [all …]
|
| H A D | ipmmu-vmsa.c | 75 struct iommu_domain io_domain; 84 static struct ipmmu_vmsa_domain *to_vmsa_domain(struct iommu_domain *dom) in to_vmsa_domain() 568 static struct iommu_domain *__ipmmu_domain_alloc(unsigned type) in __ipmmu_domain_alloc() 581 static struct iommu_domain *ipmmu_domain_alloc(unsigned type) in ipmmu_domain_alloc() 583 struct iommu_domain *io_domain = NULL; in ipmmu_domain_alloc() 602 static void ipmmu_domain_free(struct iommu_domain *io_domain) in ipmmu_domain_free() 616 static int ipmmu_attach_device(struct iommu_domain *io_domain, in ipmmu_attach_device() 665 static void ipmmu_detach_device(struct iommu_domain *io_domain, in ipmmu_detach_device() 680 static int ipmmu_map(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_map() 691 static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova, in ipmmu_unmap() [all …]
|
| H A D | sun50i-iommu.c | 107 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() 640 static void sun50i_iommu_domain_free(struct iommu_domain *domain) in sun50i_iommu_domain_free() [all …]
|
| H A D | mtk_iommu_v1.c | 93 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()
|
| H A D | fsl_pamu_domain.h | 62 struct iommu_domain iommu_domain; member
|
| H A D | msm_iommu.c | 43 struct iommu_domain domain; 50 static struct msm_priv *to_msm_priv(struct iommu_domain *dom) in to_msm_priv() 306 static struct iommu_domain *msm_iommu_domain_alloc(unsigned type) in msm_iommu_domain_alloc() 330 static void msm_iommu_domain_free(struct iommu_domain *domain) in msm_iommu_domain_free() 402 static int msm_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in msm_iommu_attach_dev() 451 static void msm_iommu_detach_dev(struct iommu_domain *domain, in msm_iommu_detach_dev() 478 static int msm_iommu_map(struct iommu_domain *domain, unsigned long iova, in msm_iommu_map() 492 static void msm_iommu_sync_map(struct iommu_domain *domain, unsigned long iova, in msm_iommu_sync_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()
|
| H A D | mtk_iommu.c | 131 struct iommu_domain domain; 207 static struct mtk_iommu_domain *to_mtk_domain(struct iommu_domain *dom) in to_mtk_domain() 433 static struct iommu_domain *mtk_iommu_domain_alloc(unsigned type) in mtk_iommu_domain_alloc() 452 static void mtk_iommu_domain_free(struct iommu_domain *domain) in mtk_iommu_domain_free() 458 static int mtk_iommu_attach_device(struct iommu_domain *domain, in mtk_iommu_attach_device() 506 static void mtk_iommu_detach_device(struct iommu_domain *domain, in mtk_iommu_detach_device() 514 static int mtk_iommu_map(struct iommu_domain *domain, unsigned long iova, in mtk_iommu_map() 527 static size_t mtk_iommu_unmap(struct iommu_domain *domain, in mtk_iommu_unmap() 541 static void mtk_iommu_flush_iotlb_all(struct iommu_domain *domain) in mtk_iommu_flush_iotlb_all() 548 static void mtk_iommu_iotlb_sync(struct iommu_domain *domain, in mtk_iommu_iotlb_sync() [all …]
|
| H A D | tegra-smmu.c | 52 struct iommu_domain domain; 64 static struct tegra_smmu_as *to_smmu_as(struct iommu_domain *dom) in to_smmu_as() 286 static struct iommu_domain *tegra_smmu_domain_alloc(unsigned type) in tegra_smmu_domain_alloc() 330 static void tegra_smmu_domain_free(struct iommu_domain *domain) in tegra_smmu_domain_free() 476 static int tegra_smmu_attach_dev(struct iommu_domain *domain, in tegra_smmu_attach_dev() 511 static void tegra_smmu_detach_dev(struct iommu_domain *domain, struct device *dev) in tegra_smmu_detach_dev() 704 __tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in __tegra_smmu_map() 741 __tegra_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in __tegra_smmu_unmap() 758 static int tegra_smmu_map(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_map() 772 static size_t tegra_smmu_unmap(struct iommu_domain *domain, unsigned long iova, in tegra_smmu_unmap() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/media/platform/qcom/venus/ |
| H A D | firmware.c | 132 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()
|
| /OK3568_Linux_fs/kernel/drivers/iommu/arm/arm-smmu/ |
| H A D | qcom_iommu.c | 65 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() 228 static int qcom_iommu_init_domain(struct iommu_domain *domain, in qcom_iommu_init_domain() 324 static struct iommu_domain *qcom_iommu_domain_alloc(unsigned type) in qcom_iommu_domain_alloc() 351 static void qcom_iommu_domain_free(struct iommu_domain *domain) in qcom_iommu_domain_free() 372 static int qcom_iommu_attach_dev(struct iommu_domain *domain, struct device *dev) in qcom_iommu_attach_dev() 405 static void qcom_iommu_detach_dev(struct iommu_domain *domain, struct device *dev) in qcom_iommu_detach_dev() 427 static int qcom_iommu_map(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_map() 444 static size_t qcom_iommu_unmap(struct iommu_domain *domain, unsigned long iova, in qcom_iommu_unmap() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/video/rockchip/mpp/ |
| H A D | mpp_iommu_av1d.c | 42 struct iommu_domain domain; 57 struct iommu_domain *domain; /* domain to which iommu is attached */ 183 static struct av1_iommu_domain *to_av1_domain(struct iommu_domain *dom) in to_av1_domain() 214 struct iommu_domain *domain = iommu->domain; in av1_iommu_enable() 288 static void av1_iommu_flush_tlb_all(struct iommu_domain *domain) in av1_iommu_flush_tlb_all() 356 static bool av1_iommu_is_attach_deferred(struct iommu_domain *domain, in av1_iommu_is_attach_deferred() 364 static struct iommu_domain *av1_iommu_domain_alloc(unsigned type) in av1_iommu_domain_alloc() 438 static phys_addr_t av1_iommu_iova_to_phys(struct iommu_domain *domain, in av1_iommu_iova_to_phys() 563 static size_t av1_iommu_unmap(struct iommu_domain *domain, unsigned long _iova, in av1_iommu_unmap() 593 static int av1_iommu_map(struct iommu_domain *domain, unsigned long _iova, in av1_iommu_map() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/net/ethernet/marvell/octeontx2/nic/ |
| H A D | otx2_txrx.h | 148 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()
|
| /OK3568_Linux_fs/kernel/drivers/video/rockchip/iep/ |
| H A D | iep_iommu_drm.c | 43 struct iommu_domain *domain; 88 struct iommu_domain *domain = drm_info->domain; in iep_drm_detach() 107 struct iommu_domain *domain = drm_info->domain; in iep_drm_attach_unlock() 158 struct iommu_domain *domain = drm_info->domain; in iep_drm_clear_map() 324 struct iommu_domain *domain = drm_info->domain; in iep_drm_import()
|
| /OK3568_Linux_fs/kernel/drivers/net/wireless/ath/ath10k/ |
| H A D | snoc.h | 62 struct iommu_domain *iommu_domain; member
|
| /OK3568_Linux_fs/kernel/drivers/staging/media/tegra-vde/ |
| H A D | vde.h | 23 struct iommu_domain; 46 struct iommu_domain *domain;
|