Lines Matching refs:tlbe
438 SMMUTLBEntry *tlbe, SMMUPTWEventInfo *info) in smmu_ptw_64_s1() argument
534 tlbe->entry.translated_addr = gpa; in smmu_ptw_64_s1()
535 tlbe->entry.iova = iova & ~mask; in smmu_ptw_64_s1()
536 tlbe->entry.addr_mask = mask; in smmu_ptw_64_s1()
537 tlbe->parent_perm = PTE_AP_TO_PERM(ap); in smmu_ptw_64_s1()
538 tlbe->entry.perm = tlbe->parent_perm; in smmu_ptw_64_s1()
539 tlbe->level = level; in smmu_ptw_64_s1()
540 tlbe->granule = granule_sz; in smmu_ptw_64_s1()
547 tlbe->entry.perm = IOMMU_NONE; in smmu_ptw_64_s1()
567 SMMUTLBEntry *tlbe, SMMUPTWEventInfo *info) in smmu_ptw_64_s2() argument
656 tlbe->entry.translated_addr = gpa; in smmu_ptw_64_s2()
657 tlbe->entry.iova = ipa & ~mask; in smmu_ptw_64_s2()
658 tlbe->entry.addr_mask = mask; in smmu_ptw_64_s2()
659 tlbe->parent_perm = s2ap; in smmu_ptw_64_s2()
660 tlbe->entry.perm = tlbe->parent_perm; in smmu_ptw_64_s2()
661 tlbe->level = level; in smmu_ptw_64_s2()
662 tlbe->granule = granule_sz; in smmu_ptw_64_s2()
671 tlbe->entry.perm = IOMMU_NONE; in smmu_ptw_64_s2()
679 static void combine_tlb(SMMUTLBEntry *tlbe, SMMUTLBEntry *tlbe_s2, in combine_tlb() argument
682 if (tlbe_s2->entry.addr_mask < tlbe->entry.addr_mask) { in combine_tlb()
683 tlbe->entry.addr_mask = tlbe_s2->entry.addr_mask; in combine_tlb()
684 tlbe->granule = tlbe_s2->granule; in combine_tlb()
685 tlbe->level = tlbe_s2->level; in combine_tlb()
688 tlbe->entry.translated_addr = CACHED_ENTRY_TO_ADDR(tlbe_s2, in combine_tlb()
689 tlbe->entry.translated_addr); in combine_tlb()
691 tlbe->entry.iova = iova & ~tlbe->entry.addr_mask; in combine_tlb()
693 tlbe->parent_perm = tlbe_s2->entry.perm; in combine_tlb()
710 IOMMUAccessFlags perm, SMMUTLBEntry *tlbe, SMMUPTWEventInfo *info) in smmu_ptw() argument
717 return smmu_ptw_64_s1(bs, cfg, iova, perm, tlbe, info); in smmu_ptw()
728 tlbe->entry.perm = IOMMU_NONE; in smmu_ptw()
732 return smmu_ptw_64_s2(cfg, iova, perm, tlbe, info); in smmu_ptw()
736 ret = smmu_ptw_64_s1(bs, cfg, iova, perm, tlbe, info); in smmu_ptw()
741 ipa = CACHED_ENTRY_TO_ADDR(tlbe, iova); in smmu_ptw()
747 combine_tlb(tlbe, &tlbe_s2, iova, cfg); in smmu_ptw()