[igt-dev] [PATCH] tests/amd_dispatch: add dispatch test for gfx and compute

Jesse Zhang jesse.zhang at amd.com
Thu Oct 26 05:56:31 UTC 2023


Add dispatch test on gfx and compute ring.
Through  memset shader and memcpy shader, and validate the result.

V1:
 - fix code sytle and keep test names are unique(Kamil)

Cc: Vitaly Prosyak <vitaly.prosyak at amd.com>
Cc: Luben Tuikov <luben.tuikov at amd.com>
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: Christian Koenig <christian.koenig at amd.com>
Cc: Tim Huang <tim.huang at amd.com>
Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>

Signed-off-by: Vitaly Prosyak <vitaly.prosyak at amd.com>
Signed-off-by: Jesse Zhang <Jesse.Zhang at amd.com>
---
 tests/amdgpu/amd_dispatch.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/tests/amdgpu/amd_dispatch.c b/tests/amdgpu/amd_dispatch.c
index 323284306..1b9ebd01a 100644
--- a/tests/amdgpu/amd_dispatch.c
+++ b/tests/amdgpu/amd_dispatch.c
@@ -36,6 +36,18 @@ amdgpu_dispatch_hang_compute(amdgpu_device_handle device_handle)
 	amdgpu_gfx_dispatch_test(device_handle, AMDGPU_HW_IP_COMPUTE, 1);
 }
 
+static void
+amdgpu_gfx_dispatch_test_gfx(amdgpu_device_handle device_handle)
+{
+	amdgpu_gfx_dispatch_test(device_handle, AMDGPU_HW_IP_GFX, 0);
+}
+
+static void
+amdgpu_gfx_dispatch_test_compute(amdgpu_device_handle device_handle)
+{
+	amdgpu_gfx_dispatch_test(device_handle, AMDGPU_HW_IP_COMPUTE, 0);
+}
+
 static void
 amdgpu_gpu_reset_test(amdgpu_device_handle device_handle, int drm_amdgpu)
 {
@@ -97,6 +109,23 @@ igt_main
 		asic_rings_readness(device, 1, arr_cap);
 
 	}
+
+	igt_describe("Check dispatch test gfx for each ring using memset memcpy shaders and validate after");
+	igt_subtest_with_dynamic("amdgpu-dispatch-test-gfx-with-IP-GFX-no-reset") {
+		if (arr_cap[AMD_IP_GFX]) {
+			igt_dynamic_f("amdgpu-dispatch-test-gfx-no-reset")
+			amdgpu_gfx_dispatch_test_gfx(device);
+		}
+	}
+
+	igt_describe("Check dispatch test compute for each ring using memset memcpy shaders and validate after");
+	igt_subtest_with_dynamic("amdgpu-dispatch-test-compute-with-IP-COMPUTE-no-reset") {
+		if (arr_cap[AMD_IP_COMPUTE]) {
+			igt_dynamic_f("amdgpu-dispatch-test-compute-no-reset")
+			amdgpu_gfx_dispatch_test_compute(device);
+		}
+	}
+
 	igt_describe("Test GPU reset using a binary shader to slow hang the job on compute ring");
 	igt_subtest_with_dynamic("amdgpu-dispatch-test-compute-with-IP-COMPUTE") {
 		if (arr_cap[AMD_IP_COMPUTE]) {
-- 
2.25.1



More information about the igt-dev mailing list