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

Dixit, Ashutosh ashutosh.dixit at intel.com
Thu Jul 10 05:58:20 UTC 2025


On Tue, 08 Jul 2025 00:47:49 -0700, Jesse.Zhang wrote:
>
> 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);


Please clean up this warning without AMDGPU_USERQ_ENABLED:

636/1531] Compiling C object tests/amdgpu/amd_basic.p/amd_basic.c.o
../tests/amdgpu/amd_basic.c:142:13: warning: ‘amdgpu_test_all_queues’ defined but not used [-Wunused-function]
  142 | static void amdgpu_test_all_queues(amdgpu_device_handle device, bool user_queue)
      |             ^~~~~~~~~~~~~~~~~~~~~~
[1526/1529] Generating docs/testplan/intel-ci-tests with a custom command


> +		}
> +	}
>  #endif
>
>	igt_fixture {
> --
> 2.49.0
>


More information about the igt-dev mailing list