Commit ea7bf2f2 authored by Philip Yang's avatar Philip Yang Committed by Alex Deucher
Browse files

drm/amdgpu: Alloc page table on correct memory partition



Alloc kernel mode page table bo uses the amdgpu_vm->mem_id + 1 as bp
mem_id_plus1 parameter. For APU mode, select the correct TTM pool to
alloc page from the corresponding memory partition, this will be the
closest NUMA node. For dGPU mode, select the correct address range for
vram manager.

Signed-off-by: default avatarPhilip Yang <Philip.Yang@amd.com>
Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent dc12f9ed
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -534,6 +534,8 @@ int amdgpu_vm_pt_create(struct amdgpu_device *adev, struct amdgpu_vm *vm,

	bp.type = ttm_bo_type_kernel;
	bp.no_wait_gpu = immediate;
	bp.mem_id_plus1 = vm->mem_id + 1;

	if (vm->root.bo)
		bp.resv = vm->root.bo->tbo.base.resv;

@@ -558,6 +560,7 @@ int amdgpu_vm_pt_create(struct amdgpu_device *adev, struct amdgpu_vm *vm,
	bp.type = ttm_bo_type_kernel;
	bp.resv = bo->tbo.base.resv;
	bp.bo_ptr_size = sizeof(struct amdgpu_bo);
	bp.mem_id_plus1 = vm->mem_id + 1;

	r = amdgpu_bo_create(adev, &bp, &(*vmbo)->shadow);