Lines Matching refs:pte
491 unsigned long *pte, struct page *page, int is_pde) in flush_ptc_and_tlb() argument
498 val = SMMU_PTC_FLUSH_TYPE_ADR | VA_PAGE_TO_PA(pte, page); in flush_ptc_and_tlb()
688 unsigned long *pte; in __smmu_iommu_unmap() local
692 pte = locate_pte(as, iova, false, &page, &count); in __smmu_iommu_unmap()
693 if (WARN_ON(!pte)) in __smmu_iommu_unmap()
696 if (WARN_ON(*pte == _PTE_VACANT(iova))) in __smmu_iommu_unmap()
699 *pte = _PTE_VACANT(iova); in __smmu_iommu_unmap()
700 FLUSH_CPU_DCACHE(pte, page, sizeof(*pte)); in __smmu_iommu_unmap()
701 flush_ptc_and_tlb(as->smmu, as, iova, pte, page, 0); in __smmu_iommu_unmap()
710 unsigned long *pte; in __smmu_iommu_map_pfn() local
714 pte = locate_pte(as, iova, true, &page, &count); in __smmu_iommu_map_pfn()
715 if (WARN_ON(!pte)) in __smmu_iommu_map_pfn()
718 if (*pte == _PTE_VACANT(iova)) in __smmu_iommu_map_pfn()
720 *pte = SMMU_PFN_TO_PTE(pfn, as->pte_attr); in __smmu_iommu_map_pfn()
721 if (unlikely((*pte == _PTE_VACANT(iova)))) in __smmu_iommu_map_pfn()
723 FLUSH_CPU_DCACHE(pte, page, sizeof(*pte)); in __smmu_iommu_map_pfn()
724 flush_ptc_and_tlb(smmu, as, iova, pte, page, 0); in __smmu_iommu_map_pfn()
764 unsigned long *pte; in smmu_iommu_iova_to_phys() local
772 pte = locate_pte(as, iova, true, &page, &count); in smmu_iommu_iova_to_phys()
773 pfn = *pte & SMMU_PFN_MASK; in smmu_iommu_iova_to_phys()