/kernel/linux/linux-5.10/mm/ |
H A D | hmm.c | 46 range->hmm_pfns[i] = cpu_flags; in hmm_pfns_fill() 120 const unsigned long hmm_pfns[], unsigned long npages, in hmm_range_need_fault() 137 required_fault |= hmm_pte_need_fault(hmm_vma_walk, hmm_pfns[i], in hmm_range_need_fault() 152 unsigned long *hmm_pfns; in hmm_vma_walk_hole() local 156 hmm_pfns = &range->hmm_pfns[i]; in hmm_vma_walk_hole() 158 hmm_range_need_fault(hmm_vma_walk, hmm_pfns, npages, 0); in hmm_vma_walk_hole() 186 unsigned long end, unsigned long hmm_pfns[], in hmm_vma_handle_pmd() 198 hmm_range_need_fault(hmm_vma_walk, hmm_pfns, npages, cpu_flags); in hmm_vma_handle_pmd() 204 hmm_pfns[ in hmm_vma_handle_pmd() 119 hmm_range_need_fault(const struct hmm_vma_walk *hmm_vma_walk, const unsigned long hmm_pfns[], unsigned long npages, unsigned long cpu_flags) hmm_range_need_fault() argument 185 hmm_vma_handle_pmd(struct mm_walk *walk, unsigned long addr, unsigned long end, unsigned long hmm_pfns[], pmd_t pmd) hmm_vma_handle_pmd() argument 326 unsigned long *hmm_pfns = hmm_vma_walk_pmd() local 434 unsigned long *hmm_pfns; hmm_vma_walk_pud() local [all...] |
/kernel/linux/linux-6.6/mm/ |
H A D | hmm.c | 48 range->hmm_pfns[i] = cpu_flags; in hmm_pfns_fill() 122 const unsigned long hmm_pfns[], unsigned long npages, in hmm_range_need_fault() 139 required_fault |= hmm_pte_need_fault(hmm_vma_walk, hmm_pfns[i], in hmm_range_need_fault() 154 unsigned long *hmm_pfns; in hmm_vma_walk_hole() local 158 hmm_pfns = &range->hmm_pfns[i]; in hmm_vma_walk_hole() 160 hmm_range_need_fault(hmm_vma_walk, hmm_pfns, npages, 0); in hmm_vma_walk_hole() 188 unsigned long end, unsigned long hmm_pfns[], in hmm_vma_handle_pmd() 200 hmm_range_need_fault(hmm_vma_walk, hmm_pfns, npages, cpu_flags); in hmm_vma_handle_pmd() 206 hmm_pfns[ in hmm_vma_handle_pmd() 121 hmm_range_need_fault(const struct hmm_vma_walk *hmm_vma_walk, const unsigned long hmm_pfns[], unsigned long npages, unsigned long cpu_flags) hmm_range_need_fault() argument 187 hmm_vma_handle_pmd(struct mm_walk *walk, unsigned long addr, unsigned long end, unsigned long hmm_pfns[], pmd_t pmd) hmm_vma_handle_pmd() argument 327 unsigned long *hmm_pfns = hmm_vma_walk_pmd() local 435 unsigned long *hmm_pfns; hmm_vma_walk_pud() local [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_hmm.c | 182 hmm_range->hmm_pfns = pfns; in amdgpu_hmm_range_get_pages() 213 hmm_range->hmm_pfns += MAX_WALK_BYTE >> PAGE_SHIFT; in amdgpu_hmm_range_get_pages() 219 hmm_range->hmm_pfns = pfns; in amdgpu_hmm_range_get_pages() 247 kvfree(hmm_range->hmm_pfns); in amdgpu_hmm_range_get_pages_done()
|
H A D | amdgpu_ttm.c | 736 WARN_ONCE(!range->hmm_pfns, "No user pages to check\n"); in amdgpu_ttm_tt_get_user_pages_done()
|
/kernel/linux/linux-5.10/drivers/infiniband/core/ |
H A D | umem_odp.c | 396 range.hmm_pfns = &(umem_odp->pfn_list[pfn_start_idx]); 429 WARN_ON(range.hmm_pfns[pfn_index] & HMM_PFN_ERROR); 430 WARN_ON(!(range.hmm_pfns[pfn_index] & HMM_PFN_VALID)); 432 if (!(range.hmm_pfns[pfn_index] & HMM_PFN_VALID)) { 437 if (range.hmm_pfns[pfn_index] & HMM_PFN_WRITE) 441 hmm_order = hmm_pfn_to_map_order(range.hmm_pfns[pfn_index]); 454 umem_odp, dma_index, hmm_pfn_to_page(range.hmm_pfns[pfn_index]),
|
/kernel/linux/linux-6.6/drivers/infiniband/core/ |
H A D | umem_odp.c | 390 range.hmm_pfns = &(umem_odp->pfn_list[pfn_start_idx]); 423 WARN_ON(range.hmm_pfns[pfn_index] & HMM_PFN_ERROR); 424 WARN_ON(!(range.hmm_pfns[pfn_index] & HMM_PFN_VALID)); 426 if (!(range.hmm_pfns[pfn_index] & HMM_PFN_VALID)) { 431 if (range.hmm_pfns[pfn_index] & HMM_PFN_WRITE) 435 hmm_order = hmm_pfn_to_map_order(range.hmm_pfns[pfn_index]); 448 umem_odp, dma_index, hmm_pfn_to_page(range.hmm_pfns[pfn_index]),
|
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/ |
H A D | nouveau_svm.c | 527 if (!(range->hmm_pfns[0] & HMM_PFN_VALID)) { in nouveau_hmm_convert_pfn() 532 page = hmm_pfn_to_page(range->hmm_pfns[0]); in nouveau_hmm_convert_pfn() 541 if (hmm_pfn_to_map_order(range->hmm_pfns[0])) { in nouveau_hmm_convert_pfn() 544 args->p.page = hmm_pfn_to_map_order(range->hmm_pfns[0]) + in nouveau_hmm_convert_pfn() 558 if (range->hmm_pfns[0] & HMM_PFN_WRITE) in nouveau_hmm_convert_pfn() 571 unsigned long hmm_pfns[1]; in nouveau_range_fault() local 577 .hmm_pfns = hmm_pfns, in nouveau_range_fault()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | hmm.h | 86 * @hmm_pfns: array of pfns (big enough for the range) 96 unsigned long *hmm_pfns; member
|
/kernel/linux/linux-5.10/include/linux/ |
H A D | hmm.h | 91 * @hmm_pfns: array of pfns (big enough for the range) 101 unsigned long *hmm_pfns; member
|
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/ |
H A D | nouveau_svm.c | 553 if (!(range->hmm_pfns[0] & HMM_PFN_VALID)) { in nouveau_hmm_convert_pfn() 558 page = hmm_pfn_to_page(range->hmm_pfns[0]); in nouveau_hmm_convert_pfn() 567 if (hmm_pfn_to_map_order(range->hmm_pfns[0])) { in nouveau_hmm_convert_pfn() 570 args->p.page = hmm_pfn_to_map_order(range->hmm_pfns[0]) + in nouveau_hmm_convert_pfn() 584 if (range->hmm_pfns[0] & HMM_PFN_WRITE) in nouveau_hmm_convert_pfn() 660 unsigned long hmm_pfns[1]; in nouveau_range_fault() local 664 .hmm_pfns = hmm_pfns, in nouveau_range_fault()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_ttm.c | 871 range->hmm_pfns = kvmalloc_array(ttm->num_pages, in amdgpu_ttm_tt_get_user_pages() 872 sizeof(*range->hmm_pfns), GFP_KERNEL); in amdgpu_ttm_tt_get_user_pages() 873 if (unlikely(!range->hmm_pfns)) { in amdgpu_ttm_tt_get_user_pages() 914 pages[i] = hmm_pfn_to_page(range->hmm_pfns[i]); in amdgpu_ttm_tt_get_user_pages() 924 kvfree(range->hmm_pfns); in amdgpu_ttm_tt_get_user_pages() 949 WARN_ONCE(!gtt->range || !gtt->range->hmm_pfns, in amdgpu_ttm_tt_get_user_pages_done() 959 kvfree(gtt->range->hmm_pfns); in amdgpu_ttm_tt_get_user_pages_done() 1050 hmm_pfn_to_page(gtt->range->hmm_pfns[i])) in amdgpu_ttm_tt_unpin_userptr()
|
/kernel/linux/linux-5.10/lib/ |
H A D | test_hmm.c | 162 unsigned long *pfns = range->hmm_pfns; in dmirror_do_fault() 288 .hmm_pfns = pfns, in dmirror_fault() 851 dmirror_mkentry(dmirror, range, perm + i, range->hmm_pfns[i]); in dmirror_range_snapshot() 871 .hmm_pfns = pfns, in dmirror_snapshot()
|
/kernel/linux/linux-6.6/lib/ |
H A D | test_hmm.c | 209 unsigned long *pfns = range->hmm_pfns; in dmirror_do_fault() 335 .hmm_pfns = pfns, in dmirror_fault() 1156 dmirror_mkentry(dmirror, range, perm + i, range->hmm_pfns[i]); in dmirror_range_snapshot() 1176 .hmm_pfns = pfns, in dmirror_snapshot()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_svm.c | 161 unsigned long *hmm_pfns, uint32_t gpuidx) in svm_range_dma_map_dev() 181 page = hmm_pfn_to_page(hmm_pfns[i]); in svm_range_dma_map_dev() 185 addr[i] = (hmm_pfns[i] << PAGE_SHIFT) + in svm_range_dma_map_dev() 207 unsigned long *hmm_pfns) in svm_range_dma_map() 226 hmm_pfns, gpuidx); in svm_range_dma_map() 1704 hmm_range->hmm_pfns); in svm_range_validate_and_map() 159 svm_range_dma_map_dev(struct amdgpu_device *adev, struct svm_range *prange, unsigned long offset, unsigned long npages, unsigned long *hmm_pfns, uint32_t gpuidx) svm_range_dma_map_dev() argument 205 svm_range_dma_map(struct svm_range *prange, unsigned long *bitmap, unsigned long offset, unsigned long npages, unsigned long *hmm_pfns) svm_range_dma_map() argument
|