[PATCH i-g-t] tests/amdgpu: Fix compilation warnings for USERQ

Kamil Konieczny kamil.konieczny at linux.intel.com
Wed Jun 11 17:12:43 UTC 2025


Hi Khatri,,
On 2025-06-11 at 20:51:46 +0530, Khatri, Sunil wrote:
> 
> On 6/11/2025 7:34 PM, Kamil Konieczny wrote:
> > Recent change bringed compilation warnings, for example:
> > 
> > ../tests/amdgpu/amd_security.c: In function '__igt_unique____real_main311':
> > ../tests/amdgpu/amd_security.c:319:14: warning: variable 'enable_test' set but not used [-Wunused-but-set-variable]
> >    319 |         bool enable_test = false;
> > 
> > Fix this and move setting var into igt_fixture.
> > Also while at this, print if AMDGPU_USERQ_ENABLED was defined.
> > 
> > Cc: Sunil Khatri<sunil.khatri at amd.com>
> > Cc: Vitaly Prosyak<vitaly.prosyak at amd.com>
> > Fixes: dad4b2bb9e5a ("tests/amdgpu: add environment variable to enable tests")
> > Signed-off-by: Kamil Konieczny<kamil.konieczny at linux.intel.com>
> > ---
> >   tests/amdgpu/amd_cs_nop.c   | 10 ++++++++--
> >   tests/amdgpu/amd_deadlock.c | 11 +++++++++--
> >   tests/amdgpu/amd_security.c | 10 ++++++++--
> >   3 files changed, 25 insertions(+), 6 deletions(-)
> > 
> > diff --git a/tests/amdgpu/amd_cs_nop.c b/tests/amdgpu/amd_cs_nop.c
> > index 644016d5d..24fae3635 100644
> > --- a/tests/amdgpu/amd_cs_nop.c
> > +++ b/tests/amdgpu/amd_cs_nop.c
> > @@ -173,8 +173,11 @@ igt_main
> >   	bool userq_arr_cap[AMD_IP_MAX] = {0};
> >   	bool enable_test;
> >   	const char *env = getenv("AMDGPU_DISABLE_USERQTEST");
> > -
> > -	enable_test = env && atoi(env);
> > +#ifdef AMDGPU_USERQ_ENABLED
> > +	const char *enable_str = "USERQTEST enabled";
> > +#else
> > +	const char *enable_str = "USERQTEST not enabled";
> > +#endif
> >   	igt_fixture {
> >   		uint32_t major, minor;
> > @@ -189,6 +192,9 @@ igt_main
> >   		igt_assert_eq(err, 0);
> >   		asic_rings_readness(device, 1, arr_cap);
> >   		asic_userq_readiness(device, userq_arr_cap);
> > +		enable_test = env && atoi(env);
> > +		if (enable_test)
> > +			igt_info("%s\n", enable_str);
> >   	}
> >   	for (p = phase; p->name; p++) {
> > diff --git a/tests/amdgpu/amd_deadlock.c b/tests/amdgpu/amd_deadlock.c
> > index 45a864feb..d416b4909 100644
> > --- a/tests/amdgpu/amd_deadlock.c
> > +++ b/tests/amdgpu/amd_deadlock.c
> > @@ -45,8 +45,11 @@ igt_main
> >   	struct pci_addr pci;
> >   	bool enable_test = false;
> >   	const char *env = getenv("AMDGPU_DISABLE_USERQTEST");
> > -
> > -	enable_test = env && atoi(env);
> > +#ifdef AMDGPU_USERQ_ENABLED
> > +	const char *enable_str = "USERQTEST enabled";
> > +#else
> > +	const char *enable_str = "USERQTEST not enabled";
> > +#endif
> >   	igt_fixture {
> >   		uint32_t major, minor;
> > @@ -71,6 +74,10 @@ igt_main
> >   		igt_skip_on(get_pci_addr_from_fd(fd, &pci));
> >   		igt_info("PCI Address: domain %04x, bus %02x, device %02x, function %02x\n",
> >   				pci.domain, pci.bus, pci.device, pci.function);
> > +		enable_test = env && atoi(env);
> > +		if (enable_test)
> > +			igt_info("%s\n", enable_str);
> 
> enable_test is for test specific which arent supported by user queues in
> kernel driver yet but the enable_str only says user queues is supported and
> not test specific. So both are for different purposes
> 
> all together. I see the warning is coming when AMDGPU_USERQ_ENABLED is not
> set and in that case the variable enable_test is unused.
> 

What about:

#ifdef AMDGPU_USERQ_ENABLED
  	bool enable_test = false;
#endif

and later on, whenever it is set or used:

#ifdef AMDGPU_USERQ_ENABLED
	enable_test = env && atoi(env);
#endif

without any prints.

Is it better? If not feel free take it over and fix it asap
however you like it.

Regards,
Kamil

> > +
> >   	}
> >   	igt_describe("Test-GPU-reset-by-flooding-sdma-ring-with-jobs");
> >   	igt_subtest_with_dynamic("amdgpu-deadlock-sdma") {
> > diff --git a/tests/amdgpu/amd_security.c b/tests/amdgpu/amd_security.c
> > index 45bd7e771..891d8f577 100644
> > --- a/tests/amdgpu/amd_security.c
> > +++ b/tests/amdgpu/amd_security.c
> > @@ -318,8 +318,11 @@ igt_main
> >   	bool userq_arr_cap[AMD_IP_MAX] = {0};
> >   	bool enable_test = false;
> >   	const char *env = getenv("AMDGPU_DISABLE_USERQTEST");
> > -
> > -	enable_test = env && atoi(env);
> > +#ifdef AMDGPU_USERQ_ENABLED
> > +	const char *enable_str = "USERQTEST enabled";
> > +#else
> > +	const char *enable_str = "USERQTEST not enabled";
> > +#endif
> >   	igt_fixture {
> >   		uint32_t major, minor;
> > @@ -338,6 +341,9 @@ igt_main
> >   		igt_assert_eq(r, 0);
> >   		asic_userq_readiness(device, userq_arr_cap);
> >   		igt_skip_on(!is_security_tests_enable(device, &gpu_info, major, minor));
> > +		enable_test = env && atoi(env);
> > +		if (enable_test)
> > +			igt_info("%s\n", enable_str);
> 
> We dont want this based on enable_test as its for a different purpose all
> together. Without that the enable_test will again be unused.
> 
> Regards
> Sunil Khatri
> 
> >   	}
> >   	igt_describe("amdgpu security alloc buf test");


More information about the igt-dev mailing list