Lines Matching refs:paddr

522 static enum page_cache_mode lookup_memtype(u64 paddr)  in lookup_memtype()  argument
527 if (x86_platform.is_untracked_pat_range(paddr, paddr + PAGE_SIZE)) in lookup_memtype()
530 if (pat_pagerange_is_ram(paddr, paddr + PAGE_SIZE)) { in lookup_memtype()
532 page = pfn_to_page(paddr >> PAGE_SHIFT); in lookup_memtype()
546 entry = rbt_memtype_lookup(paddr); in lookup_memtype()
716 static int reserve_pfn_range(u64 paddr, unsigned long size, pgprot_t *vma_prot, in reserve_pfn_range() argument
724 is_ram = pat_pagerange_is_ram(paddr, paddr + size); in reserve_pfn_range()
735 pcm = lookup_memtype(paddr); in reserve_pfn_range()
740 (unsigned long long)paddr, in reserve_pfn_range()
741 (unsigned long long)(paddr + size - 1), in reserve_pfn_range()
750 ret = reserve_memtype(paddr, paddr + size, want_pcm, &pcm); in reserve_pfn_range()
756 !is_new_memtype_allowed(paddr, size, want_pcm, pcm)) { in reserve_pfn_range()
757 free_memtype(paddr, paddr + size); in reserve_pfn_range()
762 (unsigned long long)paddr, in reserve_pfn_range()
763 (unsigned long long)(paddr + size - 1), in reserve_pfn_range()
776 if (kernel_map_sync_memtype(paddr, size, pcm) < 0) { in reserve_pfn_range()
777 free_memtype(paddr, paddr + size); in reserve_pfn_range()
787 static void free_pfn_range(u64 paddr, unsigned long size) in free_pfn_range() argument
791 is_ram = pat_pagerange_is_ram(paddr, paddr + size); in free_pfn_range()
793 free_memtype(paddr, paddr + size); in free_pfn_range()
805 resource_size_t paddr; in track_pfn_copy() local
815 if (follow_phys(vma, vma->vm_start, 0, &prot, &paddr)) { in track_pfn_copy()
820 return reserve_pfn_range(paddr, vma_size, &pgprot, 1); in track_pfn_copy()
834 resource_size_t paddr = (resource_size_t)pfn << PAGE_SHIFT; in track_pfn_remap() local
841 ret = reserve_pfn_range(paddr, size, prot, 0); in track_pfn_remap()
854 pcm = lookup_memtype(paddr); in track_pfn_remap()
859 paddr += PAGE_SIZE; in track_pfn_remap()
860 if (pcm != lookup_memtype(paddr)) in track_pfn_remap()
894 resource_size_t paddr; in untrack_pfn() local
901 paddr = (resource_size_t)pfn << PAGE_SHIFT; in untrack_pfn()
902 if (!paddr && !size) { in untrack_pfn()
903 if (follow_phys(vma, vma->vm_start, 0, &prot, &paddr)) { in untrack_pfn()
910 free_pfn_range(paddr, size); in untrack_pfn()