Lines Matching refs:domain
307 struct fsl_dma_domain *domain; in iommu_alloc_dma_domain() local
309 domain = kmem_cache_zalloc(fsl_pamu_domain_cache, GFP_KERNEL); in iommu_alloc_dma_domain()
310 if (!domain) in iommu_alloc_dma_domain()
313 domain->stash_id = ~(u32)0; in iommu_alloc_dma_domain()
314 domain->snoop_id = ~(u32)0; in iommu_alloc_dma_domain()
315 domain->win_cnt = pamu_get_max_subwin_cnt(); in iommu_alloc_dma_domain()
316 domain->geom_size = 0; in iommu_alloc_dma_domain()
318 INIT_LIST_HEAD(&domain->devices); in iommu_alloc_dma_domain()
320 spin_lock_init(&domain->domain_lock); in iommu_alloc_dma_domain()
322 return domain; in iommu_alloc_dma_domain()
366 if (old_domain_info && old_domain_info->domain != dma_domain) { in attach_device()
368 detach_device(dev, old_domain_info->domain); in attach_device()
376 info->domain = dma_domain; in attach_device()
389 static phys_addr_t fsl_pamu_iova_to_phys(struct iommu_domain *domain, in fsl_pamu_iova_to_phys() argument
392 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in fsl_pamu_iova_to_phys()
394 if (iova < domain->geometry.aperture_start || in fsl_pamu_iova_to_phys()
395 iova > domain->geometry.aperture_end) in fsl_pamu_iova_to_phys()
406 static void fsl_pamu_domain_free(struct iommu_domain *domain) in fsl_pamu_domain_free() argument
408 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in fsl_pamu_domain_free()
504 static void fsl_pamu_window_disable(struct iommu_domain *domain, u32 wnd_nr) in fsl_pamu_window_disable() argument
506 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in fsl_pamu_window_disable()
534 static int fsl_pamu_window_enable(struct iommu_domain *domain, u32 wnd_nr, in fsl_pamu_window_enable() argument
537 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in fsl_pamu_window_enable()
576 ret = check_size(size, domain->geometry.aperture_start); in fsl_pamu_window_enable()
614 struct iommu_domain *domain = &dma_domain->iommu_domain; in handle_attach_device() local
638 &domain->geometry, win_cnt); in handle_attach_device()
657 static int fsl_pamu_attach_device(struct iommu_domain *domain, in fsl_pamu_attach_device() argument
660 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in fsl_pamu_attach_device()
695 static void fsl_pamu_detach_device(struct iommu_domain *domain, in fsl_pamu_detach_device() argument
698 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in fsl_pamu_detach_device()
727 static int configure_domain_geometry(struct iommu_domain *domain, void *data) in configure_domain_geometry() argument
730 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in configure_domain_geometry()
753 memcpy(&domain->geometry, geom_attr, in configure_domain_geometry()
817 static int fsl_pamu_set_domain_attr(struct iommu_domain *domain, in fsl_pamu_set_domain_attr() argument
820 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in fsl_pamu_set_domain_attr()
825 ret = configure_domain_geometry(domain, data); in fsl_pamu_set_domain_attr()
842 static int fsl_pamu_get_domain_attr(struct iommu_domain *domain, in fsl_pamu_get_domain_attr() argument
845 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in fsl_pamu_get_domain_attr()
1004 static int fsl_pamu_set_windows(struct iommu_domain *domain, u32 w_count) in fsl_pamu_set_windows() argument
1006 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in fsl_pamu_set_windows()
1035 ret = pamu_set_domain_geometry(dma_domain, &domain->geometry, in fsl_pamu_set_windows()
1053 static u32 fsl_pamu_get_windows(struct iommu_domain *domain) in fsl_pamu_get_windows() argument
1055 struct fsl_dma_domain *dma_domain = to_fsl_dma_domain(domain); in fsl_pamu_get_windows()