Home
last modified time | relevance | path

Searched refs:prange (Results 1 – 5 of 5) sorted by relevance

/linux/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_svm.c92 static void svm_range_unlink(struct svm_range *prange) in svm_range_unlink() argument
94 pr_debug("svms 0x%p prange 0x%p [0x%lx 0x%lx]\n", prange->svms, in svm_range_unlink()
95 prange, prange->start, prange->last); in svm_range_unlink()
97 if (prange->svm_bo) { in svm_range_unlink()
98 spin_lock(&prange->svm_bo->list_lock); in svm_range_unlink()
99 list_del(&prange->svm_bo_list); in svm_range_unlink()
100 spin_unlock(&prange->svm_bo->list_lock); in svm_range_unlink()
103 list_del(&prange->list); in svm_range_unlink()
104 if (prange->it_node.start != 0 && prange->it_node.last != 0) in svm_range_unlink()
105 interval_tree_remove(&prange->it_node, &prange->svms->objects); in svm_range_unlink()
[all …]
H A Dkfd_migrate.c213 svm_migrate_get_vram_page(struct svm_range *prange, unsigned long pfn) in svm_migrate_get_vram_page() argument
218 svm_range_bo_ref(prange->svm_bo); in svm_migrate_get_vram_page()
219 page->zone_device_data = prange->svm_bo; in svm_migrate_get_vram_page()
277 svm_migrate_copy_to_vram(struct kfd_node *node, struct svm_range *prange, in svm_migrate_copy_to_vram() argument
291 pr_debug("svms 0x%p [0x%lx 0x%lx 0x%llx]\n", prange->svms, prange->start, in svm_migrate_copy_to_vram()
292 prange->last, ttm_res_offset); in svm_migrate_copy_to_vram()
297 amdgpu_res_first(prange->ttm_res, ttm_res_offset, in svm_migrate_copy_to_vram()
305 svm_migrate_get_vram_page(prange, migrate->dst[i]); in svm_migrate_copy_to_vram()
387 svm_migrate_vma_to_vram(struct kfd_node *node, struct svm_range *prange, in svm_migrate_vma_to_vram() argument
391 struct kfd_process *p = container_of(prange->svms, struct kfd_process, svms); in svm_migrate_vma_to_vram()
[all …]
H A Dkfd_svm.h143 static inline void svm_range_lock(struct svm_range *prange) in svm_range_lock() argument
145 mutex_lock(&prange->lock); in svm_range_lock()
146 prange->saved_flags = memalloc_noreclaim_save(); in svm_range_lock()
149 static inline void svm_range_unlock(struct svm_range *prange) in svm_range_unlock() argument
151 memalloc_noreclaim_restore(prange->saved_flags); in svm_range_unlock()
152 mutex_unlock(&prange->lock); in svm_range_unlock()
171 struct kfd_node *svm_range_get_node_by_id(struct svm_range *prange,
173 int svm_range_vram_node_new(struct kfd_node *node, struct svm_range *prange,
175 void svm_range_vram_node_free(struct svm_range *prange);
181 struct svm_range *prange, struct mm_struct *mm,
[all …]
H A Dkfd_queue.c94 struct svm_range *prange; in kfd_queue_buffer_svm_get() local
110 prange = svm_range_from_addr(&p->svms, addr, NULL); in kfd_queue_buffer_svm_get()
111 if (!prange) in kfd_queue_buffer_svm_get()
114 if (!prange->mapped_to_gpu) in kfd_queue_buffer_svm_get()
120 if (!test_bit(gpuidx, prange->bitmap_access) && in kfd_queue_buffer_svm_get()
121 !test_bit(gpuidx, prange->bitmap_aip)) in kfd_queue_buffer_svm_get()
124 if (!(prange->flags & KFD_IOCTL_SVM_FLAG_GPU_ALWAYS_MAPPED)) in kfd_queue_buffer_svm_get()
127 list_add(&prange->update_list, &update_list); in kfd_queue_buffer_svm_get()
129 if (prange->last - prange->start + 1 >= size) { in kfd_queue_buffer_svm_get()
134 size -= prange->last - prange->start + 1; in kfd_queue_buffer_svm_get()
[all …]
H A Dkfd_migrate.h43 int svm_migrate_to_vram(struct svm_range *prange, uint32_t best_loc,
47 int svm_migrate_vram_to_ram(struct svm_range *prange, struct mm_struct *mm,