Lines Matching refs:gpuidx
161 unsigned long *hmm_pfns, uint32_t gpuidx) in svm_range_dma_map_dev() argument
164 dma_addr_t *addr = prange->dma_addr[gpuidx]; in svm_range_dma_map_dev()
173 prange->dma_addr[gpuidx] = addr; in svm_range_dma_map_dev()
211 uint32_t gpuidx; in svm_range_dma_map() local
216 for_each_set_bit(gpuidx, bitmap, MAX_GPU_INSTANCE) { in svm_range_dma_map()
219 pr_debug("mapping to gpu idx 0x%x\n", gpuidx); in svm_range_dma_map()
220 pdd = kfd_process_device_from_gpuidx(p, gpuidx); in svm_range_dma_map()
222 pr_debug("failed to find device idx %d\n", gpuidx); in svm_range_dma_map()
227 hmm_pfns, gpuidx); in svm_range_dma_map()
259 uint32_t gpuidx; in svm_range_dma_unmap() local
263 for (gpuidx = 0; gpuidx < MAX_GPU_INSTANCE; gpuidx++) { in svm_range_dma_unmap()
264 dma_addr = prange->dma_addr[gpuidx]; in svm_range_dma_unmap()
268 pdd = kfd_process_device_from_gpuidx(p, gpuidx); in svm_range_dma_unmap()
270 pr_debug("failed to find device idx %d\n", gpuidx); in svm_range_dma_unmap()
283 uint32_t gpuidx; in svm_range_free() local
299 for (gpuidx = 0; gpuidx < MAX_GPU_INSTANCE; gpuidx++) { in svm_range_free()
300 if (prange->dma_addr[gpuidx]) { in svm_range_free()
301 kvfree(prange->dma_addr[gpuidx]); in svm_range_free()
302 prange->dma_addr[gpuidx] = NULL; in svm_range_free()
721 int gpuidx = MAX_GPU_INSTANCE; in svm_range_check_attr() local
727 gpuidx = kfd_process_gpuidx_from_gpuid(p, val); in svm_range_check_attr()
731 gpuidx = kfd_process_gpuidx_from_gpuid(p, val); in svm_range_check_attr()
736 gpuidx = kfd_process_gpuidx_from_gpuid(p, val); in svm_range_check_attr()
749 if (gpuidx < 0) { in svm_range_check_attr()
752 } else if (gpuidx < MAX_GPU_INSTANCE && in svm_range_check_attr()
753 !test_bit(gpuidx, p->svms.bitmap_supported)) { in svm_range_check_attr()
768 int gpuidx; in svm_range_apply_attrs() local
784 gpuidx = kfd_process_gpuidx_from_gpuid(p, in svm_range_apply_attrs()
787 bitmap_clear(prange->bitmap_access, gpuidx, 1); in svm_range_apply_attrs()
788 bitmap_clear(prange->bitmap_aip, gpuidx, 1); in svm_range_apply_attrs()
790 bitmap_set(prange->bitmap_access, gpuidx, 1); in svm_range_apply_attrs()
791 bitmap_clear(prange->bitmap_aip, gpuidx, 1); in svm_range_apply_attrs()
793 bitmap_clear(prange->bitmap_access, gpuidx, 1); in svm_range_apply_attrs()
794 bitmap_set(prange->bitmap_aip, gpuidx, 1); in svm_range_apply_attrs()
819 int gpuidx; in svm_range_is_same_attrs() local
835 gpuidx = kfd_process_gpuidx_from_gpuid(p, in svm_range_is_same_attrs()
838 if (test_bit(gpuidx, prange->bitmap_access) || in svm_range_is_same_attrs()
839 test_bit(gpuidx, prange->bitmap_aip)) in svm_range_is_same_attrs()
842 if (!test_bit(gpuidx, prange->bitmap_access)) in svm_range_is_same_attrs()
845 if (!test_bit(gpuidx, prange->bitmap_aip)) in svm_range_is_same_attrs()
1334 uint32_t gpuidx; in svm_range_unmap_from_gpus() local
1352 for_each_set_bit(gpuidx, bitmap, MAX_GPU_INSTANCE) { in svm_range_unmap_from_gpus()
1353 pr_debug("unmap from gpu idx 0x%x\n", gpuidx); in svm_range_unmap_from_gpus()
1354 pdd = kfd_process_device_from_gpuidx(p, gpuidx); in svm_range_unmap_from_gpus()
1356 pr_debug("failed to find device idx %d\n", gpuidx); in svm_range_unmap_from_gpus()
1468 uint32_t gpuidx; in svm_range_map_to_gpus() local
1475 for_each_set_bit(gpuidx, bitmap, MAX_GPU_INSTANCE) { in svm_range_map_to_gpus()
1476 pr_debug("mapping to gpu idx 0x%x\n", gpuidx); in svm_range_map_to_gpus()
1477 pdd = kfd_process_device_from_gpuidx(p, gpuidx); in svm_range_map_to_gpus()
1479 pr_debug("failed to find device idx %d\n", gpuidx); in svm_range_map_to_gpus()
1489 pr_debug("cannot map to device idx %d\n", gpuidx); in svm_range_map_to_gpus()
1494 prange->dma_addr[gpuidx], in svm_range_map_to_gpus()
1528 uint32_t gpuidx; in svm_range_reserve_bos() local
1533 for_each_set_bit(gpuidx, ctx->bitmap, MAX_GPU_INSTANCE) { in svm_range_reserve_bos()
1534 pdd = kfd_process_device_from_gpuidx(ctx->process, gpuidx); in svm_range_reserve_bos()
1536 pr_debug("failed to find device idx %d\n", gpuidx); in svm_range_reserve_bos()
1551 for_each_set_bit(gpuidx, ctx->bitmap, MAX_GPU_INSTANCE) { in svm_range_reserve_bos()
1552 pdd = kfd_process_device_from_gpuidx(ctx->process, gpuidx); in svm_range_reserve_bos()
1554 pr_debug("failed to find device idx %d\n", gpuidx); in svm_range_reserve_bos()
1580 static void *kfd_svm_page_owner(struct kfd_process *p, int32_t gpuidx) in kfd_svm_page_owner() argument
1584 pdd = kfd_process_device_from_gpuidx(p, gpuidx); in kfd_svm_page_owner()
1617 struct svm_range *prange, int32_t gpuidx, in svm_range_validate_and_map() argument
1634 if (gpuidx < MAX_GPU_INSTANCE) { in svm_range_validate_and_map()
1636 bitmap_set(ctx->bitmap, gpuidx, 1); in svm_range_validate_and_map()
1645 gpuidx = kfd_process_gpuidx_from_gpuid(ctx->process, in svm_range_validate_and_map()
1647 if (gpuidx < 0) { in svm_range_validate_and_map()
1653 if (test_bit(gpuidx, prange->bitmap_access)) in svm_range_validate_and_map()
1654 bitmap_set(ctx->bitmap, gpuidx, 1); in svm_range_validate_and_map()
2670 int32_t *gpuidx) in svm_range_best_restore_location() argument
2679 r = kfd_process_gpuid_from_node(p, node, &gpuid, gpuidx); in svm_range_best_restore_location()
2698 if (test_bit(*gpuidx, prange->bitmap_access)) in svm_range_best_restore_location()
2701 if (test_bit(*gpuidx, prange->bitmap_aip)) { in svm_range_best_restore_location()
2828 uint32_t gpuid, gpuidx; in svm_range_create_unregistered_range() local
2856 if (kfd_process_gpuid_from_node(p, node, &gpuid, &gpuidx)) { in svm_range_create_unregistered_range()
2911 int32_t gpuidx) in svm_range_count_fault() argument
2919 if (gpuidx == MAX_GPU_INSTANCE) { in svm_range_count_fault()
2923 r = kfd_process_gpuid_from_node(p, node, &gpuid, &gpuidx); in svm_range_count_fault()
2931 pdd = kfd_process_device_from_gpuidx(p, gpuidx); in svm_range_count_fault()
2962 int32_t gpuid, gpuidx = MAX_GPU_INSTANCE; in svm_range_restore_pages() local
2996 if (kfd_process_gpuid_from_node(p, node, &gpuid, &gpuidx)) { in svm_range_restore_pages()
3023 if (svms->checkpoint_ts[gpuidx] != 0) { in svm_range_restore_pages()
3024 if (amdgpu_ih_ts_after_or_equal(ts, svms->checkpoint_ts[gpuidx])) { in svm_range_restore_pages()
3032 svms->checkpoint_ts[gpuidx] = 0; in svm_range_restore_pages()
3097 best_loc = svm_range_best_restore_location(prange, node, &gpuidx); in svm_range_restore_pages()
3145 r = svm_range_validate_and_map(mm, start, last, prange, gpuidx, false, in svm_range_restore_pages()
3162 svm_range_count_fault(node, p, gpuidx); in svm_range_restore_pages()
3423 uint32_t gpuidx; in svm_range_best_prefetch_location() local
3448 for_each_set_bit(gpuidx, bitmap, MAX_GPU_INSTANCE) { in svm_range_best_prefetch_location()
3449 pdd = kfd_process_device_from_gpuidx(p, gpuidx); in svm_range_best_prefetch_location()
3451 pr_debug("failed to get device by idx 0x%x\n", gpuidx); in svm_range_best_prefetch_location()
3763 int gpuidx; in svm_range_get_attr() local
3890 gpuidx = kfd_process_gpuidx_from_gpuid(p, in svm_range_get_attr()
3892 if (gpuidx < 0) { in svm_range_get_attr()
3896 if (test_bit(gpuidx, bitmap_access)) in svm_range_get_attr()
3898 else if (test_bit(gpuidx, bitmap_aip)) in svm_range_get_attr()