pfn_to_phys
return phys_to_page(pfn_to_phys(pte_pfn(*virt_to_kpte(kaddr))));
return __va(pfn_to_phys((pfn)));
#define pfn_to_virt(pfn) (__va(pfn_to_phys(pfn)))
base_pud = pt_ops.get_pud_virt(pfn_to_phys(_p4d_pfn(p4dp_get(p4dp))));
base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(pgdp_get(pgdp))));
base_pud = pt_ops.get_pud_virt(pfn_to_phys(_p4d_pfn(p4dp_get(p4dp))));
base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(pgdp_get(pgdp))));
start_addr = pfn_to_phys(start_pfn);
end_addr = pfn_to_phys(start_pfn + num_pfn - 1);
#define folio_to_phys(page) pfn_to_phys(folio_pfn(folio))
return __va(pfn_to_phys(pfn));
src = pfn_to_phys(pfn) + offset;
addr = (void *)pfn_to_phys(vmalloc_to_pfn(addr));
*val = *(unsigned long *)phys_to_virt(pfn_to_phys(f->pfn) | offset_in_page(gaddr));
#define pfn_pmd(pfn, prot) __pmd(pfn_to_phys(pfn) | pgprot_val(prot))
pte_set_val(pte, pfn_to_phys(pfn), pgprot);
return pfn_to_phys(__page_val_to_pfn(*ptr)) | (iova & (pte_size - 1));
queue->phys = pfn_to_phys(FIELD_GET(RISCV_IOMMU_PPN_FIELD, qb));