Lines Matching defs:iopgd

158 	if (!obj->iopgd || !IS_ALIGNED((unsigned long)obj->iopgd,  SZ_16K))
161 pa = virt_to_phys(obj->iopgd);
484 static u32 *iopte_alloc(struct omap_iommu *obj, u32 *iopgd,
491 if (*iopgd)
501 if (!*iopgd) {
525 *iopgd = virt_to_phys(iopte) | IOPGD_TABLE;
535 iopte = iopte_offset(iopgd, da);
536 *pt_dma = iopgd_page_paddr(iopgd);
539 __func__, da, iopgd, *iopgd, iopte, *iopte);
546 u32 *iopgd = iopgd_offset(obj, da);
555 *iopgd = (pa & IOSECTION_MASK) | prot | IOPGD_SECTION;
562 u32 *iopgd = iopgd_offset(obj, da);
573 *(iopgd + i) = (pa & IOSUPER_MASK) | prot | IOPGD_SUPER;
580 u32 *iopgd = iopgd_offset(obj, da);
582 u32 *iopte = iopte_alloc(obj, iopgd, &pt_dma, da);
599 u32 *iopgd = iopgd_offset(obj, da);
601 u32 *iopte = iopte_alloc(obj, iopgd, &pt_dma, da);
687 u32 *iopgd, *iopte = NULL;
689 iopgd = iopgd_offset(obj, da);
690 if (!*iopgd)
693 if (iopgd_is_table(*iopgd))
694 iopte = iopte_offset(iopgd, da);
696 *ppgd = iopgd;
703 u32 *iopgd = iopgd_offset(obj, da);
709 if (!*iopgd)
712 if (iopgd_is_table(*iopgd)) {
714 u32 *iopte = iopte_offset(iopgd, da);
720 iopte = iopte_offset(iopgd, (da & IOLARGE_MASK));
724 pt_dma = iopgd_page_paddr(iopgd);
730 iopte = iopte_offset(iopgd, 0);
739 if ((*iopgd & IOPGD_SUPER) == IOPGD_SUPER) {
742 iopgd = iopgd_offset(obj, (da & IOSUPER_MASK));
746 memset(iopgd, 0, nent * sizeof(*iopgd));
780 u32 *iopgd;
783 iopgd = iopgd_offset(obj, da);
786 if (!*iopgd)
789 if (iopgd_is_table(*iopgd))
790 iopte_free(obj, iopte_offset(iopgd, 0), true);
792 *iopgd = 0;
807 u32 *iopgd, *iopte;
825 iopgd = iopgd_offset(obj, da);
827 if (!iopgd_is_table(*iopgd)) {
829 obj->name, errs, da, iopgd, *iopgd);
833 iopte = iopte_offset(iopgd, da);
836 obj->name, errs, da, iopgd, *iopgd, iopte, *iopte);
844 * @iopgd: page table
846 static int omap_iommu_attach(struct omap_iommu *obj, u32 *iopgd)
852 obj->pd_dma = dma_map_single(obj->dev, iopgd, IOPGD_TABLE_SIZE,
860 obj->iopgd = iopgd;
892 obj->iopgd = NULL;
1018 if (obj->domain && obj->iopgd)