[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