Commit 0410c5e5 authored by Christian König's avatar Christian König Committed by Alex Deucher

drm/amdgpu: fix amdgpu_vm_num_entries

The block size only affects the leave nodes, everything else is fixed.
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 50783147
...@@ -166,17 +166,17 @@ static unsigned amdgpu_vm_level_shift(struct amdgpu_device *adev, ...@@ -166,17 +166,17 @@ static unsigned amdgpu_vm_level_shift(struct amdgpu_device *adev,
static unsigned amdgpu_vm_num_entries(struct amdgpu_device *adev, static unsigned amdgpu_vm_num_entries(struct amdgpu_device *adev,
unsigned level) unsigned level)
{ {
unsigned shift = amdgpu_vm_level_shift(adev, 0);
if (level == 0) if (level == 0)
/* For the root directory */ /* For the root directory */
return adev->vm_manager.max_pfn >> return round_up(adev->vm_manager.max_pfn, 1 << shift) >> shift;
(adev->vm_manager.block_size * else if (level != adev->vm_manager.num_level)
adev->vm_manager.num_level); /* Everything in between */
else if (level == adev->vm_manager.num_level) return 512;
else
/* For the page tables on the leaves */ /* For the page tables on the leaves */
return AMDGPU_VM_PTE_COUNT(adev); return AMDGPU_VM_PTE_COUNT(adev);
else
/* Everything in between */
return 1 << adev->vm_manager.block_size;
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment