From: Jack Xiao Date: Fri, 27 Mar 2020 16:18:26 +0000 (+0800) Subject: drm/amdgpu/mes: add ring/ib test for mes self test X-Git-Tag: v5.19-rc1~153^2~3^2~258 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cdb7476d9692c84ba204e0b4172998506b41f270;p=thirdparty%2Fkernel%2Flinux.git drm/amdgpu/mes: add ring/ib test for mes self test Run the ring test and ib test for mes self test. Signed-off-by: Jack Xiao Acked-by: Christian König Reviewed-by: Hawking Zhang Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c index 027f3aae60259..e2b1da08ab644 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c @@ -958,3 +958,35 @@ static int amdgpu_mes_test_create_gang_and_queues(struct amdgpu_device *adev, return 0; } + +static int amdgpu_mes_test_queues(struct amdgpu_ring **added_rings) +{ + struct amdgpu_ring *ring; + int i, r; + + for (i = 0; i < AMDGPU_MES_CTX_MAX_RINGS; i++) { + ring = added_rings[i]; + if (!ring) + continue; + + r = amdgpu_ring_test_ring(ring); + if (r) { + DRM_DEV_ERROR(ring->adev->dev, + "ring %s test failed (%d)\n", + ring->name, r); + return r; + } else + DRM_INFO("ring %s test pass\n", ring->name); + + r = amdgpu_ring_test_ib(ring, 1000 * 10); + if (r) { + DRM_DEV_ERROR(ring->adev->dev, + "ring %s ib test failed (%d)\n", + ring->name, r); + return r; + } else + DRM_INFO("ring %s ib test pass\n", ring->name); + } + + return 0; +}