drm/amdgpu/mes: add ring/ib test for mes self test
authorJack Xiao <Jack.Xiao@amd.com>
Fri, 27 Mar 2020 16:18:26 +0000 (00:18 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 4 May 2022 14:43:52 +0000 (10:43 -0400)
Run the ring test and ib test for mes self test.

Signed-off-by: Jack Xiao <Jack.Xiao@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c

index 027f3aa..e2b1da0 100644 (file)
@@ -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;
+}