Lines Matching defs:iopte

469 static void iopte_free(struct omap_iommu *obj, u32 *iopte, bool dma_valid)
473 /* Note: freed iopte's must be clean ready for re-use */
474 if (iopte) {
476 pt_dma = virt_to_phys(iopte);
481 kmem_cache_free(iopte_cachep, iopte);
488 u32 *iopte;
499 iopte = kmem_cache_zalloc(iopte_cachep, GFP_KERNEL);
503 if (!iopte)
506 *pt_dma = dma_map_single(obj->dev, iopte, IOPTE_TABLE_SIZE,
510 iopte_free(obj, iopte, false);
518 if (WARN_ON(*pt_dma != virt_to_phys(iopte))) {
522 iopte_free(obj, iopte, false);
526 *iopgd = virt_to_phys(iopte) | IOPGD_TABLE;
529 dev_vdbg(obj->dev, "%s: a new pte:%p\n", __func__, iopte);
532 iopte_free(obj, iopte, false);
536 iopte = iopte_offset(iopgd, da);
540 __func__, da, iopgd, *iopgd, iopte, *iopte);
542 return iopte;
583 u32 *iopte = iopte_alloc(obj, iopgd, &pt_dma, da);
586 if (IS_ERR(iopte))
587 return PTR_ERR(iopte);
589 *iopte = (pa & IOPAGE_MASK) | prot | IOPTE_SMALL;
593 __func__, da, pa, iopte, *iopte);
602 u32 *iopte = iopte_alloc(obj, iopgd, &pt_dma, da);
612 if (IS_ERR(iopte))
613 return PTR_ERR(iopte);
616 *(iopte + i) = (pa & IOLARGE_MASK) | prot | IOPTE_LARGE;
688 u32 *iopgd, *iopte = NULL;
695 iopte = iopte_offset(iopgd, da);
698 *ppte = iopte;
715 u32 *iopte = iopte_offset(iopgd, da);
718 if (*iopte & IOPTE_LARGE) {
721 iopte = iopte_offset(iopgd, (da & IOLARGE_MASK));
724 memset(iopte, 0, nent * sizeof(*iopte));
731 iopte = iopte_offset(iopgd, 0);
733 if (iopte[i])
736 iopte_free(obj, iopte, true);
808 u32 *iopgd, *iopte;
834 iopte = iopte_offset(iopgd, da);
837 obj->name, errs, da, iopgd, *iopgd, iopte, *iopte);