drm/amdkfd: SVM range allocation support memory partition
Pass kfd node->xcp->mem_id to amdgpu bo create parameter mem_id_plus1 to allocate new svm_bo on the specified memory partition. This is only for dGPU mode as we don't migrate with APU mode. Signed-off-by: Philip Yang <Philip.Yang@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
53c5692e7a
commit
2046ed6c8a
|
@ -555,16 +555,20 @@ svm_range_vram_node_new(struct kfd_node *node, struct svm_range *prange,
|
|||
bp.flags |= AMDGPU_GEM_CREATE_DISCARDABLE;
|
||||
bp.type = ttm_bo_type_device;
|
||||
bp.resv = NULL;
|
||||
if (node->xcp)
|
||||
bp.mem_id_plus1 = node->xcp->mem_id + 1;
|
||||
|
||||
/* TODO: Allocate memory from the right memory partition. We can sort
|
||||
* out the details later, once basic memory partitioning is working
|
||||
*/
|
||||
r = amdgpu_bo_create_user(node->adev, &bp, &ubo);
|
||||
if (r) {
|
||||
pr_debug("failed %d to create bo\n", r);
|
||||
goto create_bo_failed;
|
||||
}
|
||||
bo = &ubo->bo;
|
||||
|
||||
pr_debug("alloc bo at offset 0x%lx size 0x%lx on partition %d\n",
|
||||
bo->tbo.resource->start << PAGE_SHIFT, bp.size,
|
||||
bp.mem_id_plus1 - 1);
|
||||
|
||||
r = amdgpu_bo_reserve(bo, true);
|
||||
if (r) {
|
||||
pr_debug("failed %d to reserve bo\n", r);
|
||||
|
|
Loading…
Reference in New Issue