On Fri, Nov 13, 2020 at 12:34 PM Nirmoy Das <nirmoy.das@xxxxxxx> wrote: > > 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@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c > index 6042b3b81a4c..7b230bcbf2c6 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c > @@ -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); > -- > 2.29.0 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx