Home
last modified time | relevance | path

Searched refs:hmm_range (Results 1 – 20 of 20) sorted by relevance

/linux-6.15/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_hmm.c173 struct hmm_range *hmm_range; in amdgpu_hmm_range_get_pages() local
180 hmm_range = kzalloc(sizeof(*hmm_range), GFP_KERNEL); in amdgpu_hmm_range_get_pages()
181 if (unlikely(!hmm_range)) in amdgpu_hmm_range_get_pages()
195 hmm_range->start = start; in amdgpu_hmm_range_get_pages()
200 hmm_range->end = min(hmm_range->start + MAX_WALK_BYTE, end); in amdgpu_hmm_range_get_pages()
203 hmm_range->start, hmm_range->end); in amdgpu_hmm_range_get_pages()
219 hmm_range->start = hmm_range->end; in amdgpu_hmm_range_get_pages()
233 *phmm_range = hmm_range; in amdgpu_hmm_range_get_pages()
240 kfree(hmm_range); in amdgpu_hmm_range_get_pages()
247 bool amdgpu_hmm_range_get_pages_done(struct hmm_range *hmm_range) in amdgpu_hmm_range_get_pages_done() argument
[all …]
H A Damdgpu_ttm.h45 struct hmm_range;
191 struct hmm_range **range);
193 struct hmm_range *range);
195 struct hmm_range *range);
199 struct hmm_range **range) in amdgpu_ttm_tt_get_user_pages()
204 struct hmm_range *range) in amdgpu_ttm_tt_discard_user_pages()
208 struct hmm_range *range) in amdgpu_ttm_tt_get_user_pages_done()
H A Damdgpu_hmm.h37 struct hmm_range **phmm_range);
38 bool amdgpu_hmm_range_get_pages_done(struct hmm_range *hmm_range);
H A Damdgpu_bo_list.h28 struct hmm_range;
42 struct hmm_range *range;
H A Damdgpu_amdkfd.h74 struct hmm_range *range;
H A Damdgpu_ttm.c698 struct hmm_range **range) in amdgpu_ttm_tt_get_user_pages()
748 struct hmm_range *range) in amdgpu_ttm_tt_discard_user_pages()
763 struct hmm_range *range) in amdgpu_ttm_tt_get_user_pages_done()
H A Damdgpu_gem.c422 struct hmm_range *range; in amdgpu_gem_userptr_ioctl()
H A Damdgpu_amdkfd_gpuvm.c1043 struct hmm_range *range; in init_user_pages()
/linux-6.15/drivers/gpu/drm/xe/
H A Dxe_hmm.c23 struct hmm_range *range, struct rw_semaphore *notifier_sem) in xe_alloc_sg()
92 static int xe_build_sg(struct xe_device *xe, struct hmm_range *range, in xe_build_sg()
225 struct hmm_range hmm_range = { in xe_hmm_userptr_populate_range() local
259 hmm_range.default_flags |= HMM_PFN_REQ_WRITE; in xe_hmm_userptr_populate_range()
266 hmm_range.hmm_pfns = pfns; in xe_hmm_userptr_populate_range()
269 hmm_range.notifier_seq = mmu_interval_read_begin(&userptr->notifier); in xe_hmm_userptr_populate_range()
274 ret = hmm_range_fault(&hmm_range); in xe_hmm_userptr_populate_range()
293 ret = xe_alloc_sg(vm->xe, &userptr->sgt, &hmm_range, &vm->userptr.notifier_lock); in xe_hmm_userptr_populate_range()
301 if (mmu_interval_read_retry(hmm_range.notifier, hmm_range.notifier_seq)) { in xe_hmm_userptr_populate_range()
306 ret = xe_build_sg(vm->xe, &hmm_range, &userptr->sgt, in xe_hmm_userptr_populate_range()
[all …]
/linux-6.15/mm/
H A Dhmm.c32 struct hmm_range *range;
43 struct hmm_range *range, unsigned long cpu_flags) in hmm_pfns_fill()
90 struct hmm_range *range = hmm_vma_walk->range; in hmm_pte_need_fault()
125 struct hmm_range *range = hmm_vma_walk->range; in hmm_range_need_fault()
151 struct hmm_range *range = hmm_vma_walk->range; in hmm_vma_walk_hole()
192 struct hmm_range *range = hmm_vma_walk->range; in hmm_vma_handle_pmd()
228 struct hmm_range *range = hmm_vma_walk->range; in hmm_vma_handle_pte()
326 struct hmm_range *range = hmm_vma_walk->range; in hmm_vma_walk_pmd()
415 struct hmm_range *range = hmm_vma_walk->range; in hmm_vma_walk_pud()
474 struct hmm_range *range = hmm_vma_walk->range; in hmm_vma_walk_hugetlb_entry()
[all …]
/linux-6.15/drivers/gpu/drm/
H A Ddrm_gpusvm.c836 struct hmm_range hmm_range = { in drm_gpusvm_check_pages() local
856 hmm_range.hmm_pfns = pfns; in drm_gpusvm_check_pages()
859 err = hmm_range_fault(&hmm_range); in drm_gpusvm_check_pages()
864 hmm_range.notifier_seq = in drm_gpusvm_check_pages()
1323 struct hmm_range hmm_range = { in drm_gpusvm_range_get_pages() local
1361 hmm_range.hmm_pfns = pfns; in drm_gpusvm_range_get_pages()
1364 err = hmm_range_fault(&hmm_range); in drm_gpusvm_range_get_pages()
1371 hmm_range.notifier_seq = in drm_gpusvm_range_get_pages()
2111 struct hmm_range hmm_range = { in drm_gpusvm_range_evict() local
2133 hmm_range.hmm_pfns = pfns; in drm_gpusvm_range_evict()
[all …]
/linux-6.15/include/linux/
H A Dhmm.h91 struct hmm_range { struct
105 int hmm_range_fault(struct hmm_range *range); argument
/linux-6.15/Documentation/translations/zh_CN/mm/
H A Dhmm.rst129 int hmm_range_fault(struct hmm_range *range);
136 struct hmm_range range;
178 hmm_range 结构有 2 个字段,default_flags 和 pfn_flags_mask,它们指定整个范围
/linux-6.15/drivers/gpu/drm/nouveau/
H A Dnouveau_dmem.h29 struct hmm_range;
H A Dnouveau_svm.c538 struct hmm_range *range, in nouveau_hmm_convert_pfn()
662 struct hmm_range range = { in nouveau_range_fault()
/linux-6.15/lib/
H A Dtest_hmm.c208 static int dmirror_do_fault(struct dmirror *dmirror, struct hmm_range *range) in dmirror_do_fault()
289 struct hmm_range *range) in dmirror_range_fault()
334 struct hmm_range range = { in dmirror_fault()
1014 static void dmirror_mkentry(struct dmirror *dmirror, struct hmm_range *range, in dmirror_mkentry()
1083 struct hmm_range *range, in dmirror_range_snapshot()
1150 struct hmm_range range = { in dmirror_snapshot()
/linux-6.15/drivers/infiniband/core/
H A Dumem_odp.c357 struct hmm_range range = {}; in ib_umem_odp_map_dma_and_lock()
/linux-6.15/Documentation/mm/
H A Dhmm.rst162 int hmm_range_fault(struct hmm_range *range);
170 struct hmm_range range;
214 The hmm_range struct has 2 fields, default_flags and pfn_flags_mask, that specify
/linux-6.15/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_svm.c1704 struct hmm_range *hmm_range = NULL; in svm_range_validate_and_map() local
1722 &hmm_range); in svm_range_validate_and_map()
1733 hmm_range->hmm_pfns); in svm_range_validate_and_map()
1744 if (hmm_range && amdgpu_hmm_range_get_pages_done(hmm_range) && !r) { in svm_range_validate_and_map()
/linux-6.15/drivers/accel/amdxdna/
H A Daie2_ctx.c762 struct hmm_range range = { 0 }; in aie2_populate_range()