[igt-dev] [PATCH i-g-t] tests/i915: Use engine query interface for gem_ctx_isolation/persistence

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Wed Dec 4 09:36:11 UTC 2019


On 03/12/2019 05:11, Stuart Summers wrote:
> Align with gem_exec_basic and other tests using the newer
> engine query interface into i915 to enumerate active engines.
> 
> Signed-off-by: Stuart Summers <stuart.summers at intel.com>
> ---
>   tests/i915/gem_ctx_isolation.c   | 4 ++--
>   tests/i915/gem_ctx_persistence.c | 2 +-
>   2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
> index 6aa27133..9435209e 100644
> --- a/tests/i915/gem_ctx_isolation.c
> +++ b/tests/i915/gem_ctx_isolation.c
> @@ -856,6 +856,7 @@ static unsigned int __has_context_isolation(int fd)
>   
>   igt_main
>   {
> +	struct intel_execution_engine2 *e;
>   	unsigned int has_context_isolation = 0;
>   	int fd = -1;
>   
> @@ -876,8 +877,7 @@ igt_main
>   		igt_skip_on(gen > LAST_KNOWN_GEN);
>   	}
>   
> -	for (const struct intel_execution_engine2 *e = intel_execution_engines2;
> -	     e->name; e++) {
> +	__for_each_physical_engine(fd, e) {
>   		igt_subtest_group {
>   			igt_fixture {
>   				igt_require(has_context_isolation & (1 << e->class));
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index d68431ae..30772159 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -727,7 +727,7 @@ igt_main
>   	igt_subtest("hangcheck")
>   		test_nohangcheck_hostile(i915);
>   
> -	__for_each_static_engine(e) {
> +	__for_each_physical_engine(i915, e) {
>   		igt_subtest_group {
>   			igt_fixture {
>   				gem_require_ring(i915, e->flags);
> 

__for_each_static_engine is correct, at least if you don't want CI folks 
go look for their pitchforks. :) Same for the first hunk, everything 
that enumerates subtests needs to be static.

Option 2, the preferred one - convert the tests to 
igt_subtest_with_dynamic and then you can use __for_each_physical_engine.

Regards,

Tvrtko


More information about the igt-dev mailing list