drm/amdgpu: fix usable gart size calculation
amdgpu_do_test_moves() is failing because of wrong usable gart size calculation and throwing: [drm:amdgpu_do_test_moves [amdgpu]] *ERROR* 0000000020bdc9f3 bind failed Signed-off-by: Nirmoy Das <nirmoy.das@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
1331e6304f
commit
b3fcde184e
@ -42,16 +42,11 @@ static void amdgpu_do_test_moves(struct amdgpu_device *adev)
|
||||
size = 1024 * 1024;
|
||||
|
||||
/* Number of tests =
|
||||
* (Total GTT - IB pool - writeback page - ring buffers) / test size
|
||||
* (Total GTT - gart_pin_size - (2 transfer windows for buffer moves)) / test size
|
||||
*/
|
||||
n = adev->gmc.gart_size - AMDGPU_IB_POOL_SIZE;
|
||||
for (i = 0; i < AMDGPU_MAX_RINGS; ++i)
|
||||
if (adev->rings[i])
|
||||
n -= adev->rings[i]->ring_size;
|
||||
if (adev->wb.wb_obj)
|
||||
n -= AMDGPU_GPU_PAGE_SIZE;
|
||||
if (adev->irq.ih.ring_obj)
|
||||
n -= adev->irq.ih.ring_size;
|
||||
n = adev->gmc.gart_size - atomic64_read(&adev->gart_pin_size);
|
||||
n -= AMDGPU_GTT_MAX_TRANSFER_SIZE * AMDGPU_GTT_NUM_TRANSFER_WINDOWS *
|
||||
AMDGPU_GPU_PAGE_SIZE;
|
||||
n /= size;
|
||||
|
||||
gtt_obj = kcalloc(n, sizeof(*gtt_obj), GFP_KERNEL);
|
||||
|
Loading…
x
Reference in New Issue
Block a user