[PATCH i-g-t 3/4] tests/amdgpu: Add test coverage for all user-mode queues across IP blocks

Jesse.Zhang Jesse.Zhang at amd.com
Tue Jul 8 07:47:49 UTC 2025


Introduced a new test function, amdgpu_test_all_queues(), to validate
write-linear command submission across all available IP blocks (GFX, Compute, SDMA)
with user-mode queues (UMQ).

- Adds a dynamic subtest "all-queues-test-with-UMQ" under amdgpu_basic to ensure
  all supported IP queues are exercised individually and in combination.
- Uses the newly added helper amdgpu_command_submission_write_linear_helper2() to
  manage setup, execution, and teardown across multiple IP types.

This improves test coverage for command submission paths involving user queues
and multi-IP coordination.

Signed-off-by: Jesse Zhang <Jesse.Zhang at amd.com>
---
 tests/amdgpu/amd_basic.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/tests/amdgpu/amd_basic.c b/tests/amdgpu/amd_basic.c
index 8c6b466ce..100a634ce 100644
--- a/tests/amdgpu/amd_basic.c
+++ b/tests/amdgpu/amd_basic.c
@@ -139,6 +139,14 @@ static void amdgpu_command_submission_sdma(amdgpu_device_handle device, bool use
 	amdgpu_command_submission_nop(device, AMDGPU_HW_IP_DMA, user_queue);
 }
 
+static void amdgpu_test_all_queues(amdgpu_device_handle device, bool user_queue)
+{
+	amdgpu_command_submission_write_linear_helper2(device, AMDGPU_HW_IP_GFX, false, user_queue);
+	amdgpu_command_submission_write_linear_helper2(device, AMDGPU_HW_IP_COMPUTE, false, user_queue);
+	amdgpu_command_submission_write_linear_helper2(device, AMDGPU_HW_IP_DMA, false, user_queue);
+	amdgpu_command_submission_write_linear_helper2(device, AMDGPU_HW_IP_GFX |AMDGPU_HW_IP_COMPUTE |
+							AMDGPU_HW_IP_DMA, false, user_queue);
+}
 /**
  * SEMAPHORE
  * @param device
@@ -830,6 +838,16 @@ igt_main
 			amdgpu_command_submission_sdma(device, true);
 		}
 	}
+
+	igt_describe("Check-all-user-queues-for-write-operation");
+	igt_subtest_with_dynamic("all-queues-test-with-UMQ") {
+		if (enable_test && userq_arr_cap[AMD_IP_GFX] &&
+				userq_arr_cap[AMD_IP_COMPUTE] &&
+				userq_arr_cap[AMD_IP_DMA]) {
+			igt_dynamic_f("all-queues-with-umq")
+			amdgpu_test_all_queues(device, true);
+		}
+	}
 #endif
 
 	igt_fixture {
-- 
2.49.0



More information about the igt-dev mailing list