Lines Matching refs:cached_entry
397 SMMUTLBEntry *cached_entry; in translate_table_addr_ipa() local
407 cached_entry = smmu_translate(bs, cfg, addr, IOMMU_RO, info); in translate_table_addr_ipa()
411 if (cached_entry) { in translate_table_addr_ipa()
412 *table_addr = CACHED_ENTRY_TO_ADDR(cached_entry, addr); in translate_table_addr_ipa()
754 SMMUTLBEntry *cached_entry = NULL; in smmu_translate() local
780 cached_entry = smmu_iotlb_lookup(bs, cfg, &tt_combined, addr); in smmu_translate()
781 if (cached_entry) { in smmu_translate()
782 if ((flag & IOMMU_WO) && !(cached_entry->entry.perm & in smmu_translate()
783 cached_entry->parent_perm & IOMMU_WO)) { in smmu_translate()
785 info->stage = !(cached_entry->entry.perm & IOMMU_WO) ? in smmu_translate()
790 return cached_entry; in smmu_translate()
793 cached_entry = g_new0(SMMUTLBEntry, 1); in smmu_translate()
794 status = smmu_ptw(bs, cfg, addr, flag, cached_entry, info); in smmu_translate()
796 g_free(cached_entry); in smmu_translate()
799 smmu_iotlb_insert(bs, cfg, cached_entry); in smmu_translate()
800 return cached_entry; in smmu_translate()