Lines Matching defs:iommu
35 /* based on iommu_pgsize() in iommu.c: */
157 struct msm_iommu *iommu = to_msm_iommu(pagetable->parent);
165 if (atomic_dec_return(&iommu->pagetables) == 0)
193 struct msm_iommu *iommu = to_msm_iommu(mmu);
195 return &iommu->domain->geometry;
252 struct msm_iommu *iommu = to_msm_iommu(parent);
295 if (atomic_inc_return(&iommu->pagetables) == 1) {
325 struct msm_iommu *iommu = arg;
326 struct msm_mmu *mmu = &iommu->base;
327 struct adreno_smmu_priv *adreno_smmu = dev_get_drvdata(iommu->base.dev);
335 if (iommu->base.handler)
336 return iommu->base.handler(iommu->base.arg, iova, flags, ptr);
356 struct msm_iommu *iommu = to_msm_iommu(mmu);
358 iommu_detach_device(iommu->domain, mmu->dev);
364 struct msm_iommu *iommu = to_msm_iommu(mmu);
371 ret = iommu_map_sgtable(iommu->domain, iova, sgt, prot);
379 struct msm_iommu *iommu = to_msm_iommu(mmu);
384 iommu_unmap(iommu->domain, iova, len);
391 struct msm_iommu *iommu = to_msm_iommu(mmu);
392 iommu_domain_free(iommu->domain);
393 kfree(iommu);
407 struct msm_iommu *iommu;
416 iommu = kzalloc(sizeof(*iommu), GFP_KERNEL);
417 if (!iommu) {
422 iommu->domain = domain;
423 msm_mmu_init(&iommu->base, dev, &funcs, MSM_MMU_IOMMU);
425 atomic_set(&iommu->pagetables, 0);
427 ret = iommu_attach_device(iommu->domain, dev);
430 kfree(iommu);
434 return &iommu->base;
440 struct msm_iommu *iommu;
447 iommu = to_msm_iommu(mmu);
448 iommu_set_fault_handler(iommu->domain, msm_fault_handler, iommu);
450 /* Enable stall on iommu fault: */