Lines Matching defs:iommu
85 struct msm_iommu *iommu = to_msm_iommu(pagetable->parent);
93 if (atomic_dec_return(&iommu->pagetables) == 0)
149 struct msm_iommu *iommu = to_msm_iommu(parent);
181 &ttbr0_cfg, iommu->domain);
192 if (atomic_inc_return(&iommu->pagetables) == 1) {
219 struct msm_iommu *iommu = arg;
220 if (iommu->base.handler)
221 return iommu->base.handler(iommu->base.arg, iova, flags);
228 struct msm_iommu *iommu = to_msm_iommu(mmu);
230 iommu_detach_device(iommu->domain, mmu->dev);
236 struct msm_iommu *iommu = to_msm_iommu(mmu);
243 ret = iommu_map_sgtable(iommu->domain, iova, sgt, prot);
251 struct msm_iommu *iommu = to_msm_iommu(mmu);
256 iommu_unmap(iommu->domain, iova, len);
263 struct msm_iommu *iommu = to_msm_iommu(mmu);
264 iommu_domain_free(iommu->domain);
265 kfree(iommu);
277 struct msm_iommu *iommu;
283 iommu = kzalloc(sizeof(*iommu), GFP_KERNEL);
284 if (!iommu)
287 iommu->domain = domain;
288 msm_mmu_init(&iommu->base, dev, &funcs, MSM_MMU_IOMMU);
289 iommu_set_fault_handler(domain, msm_fault_handler, iommu);
291 atomic_set(&iommu->pagetables, 0);
293 ret = iommu_attach_device(iommu->domain, dev);
295 kfree(iommu);
299 return &iommu->base;