[igt-dev] [PATCH i-g-t v2] tests/i915/gem_ctx_exec: Skip test for RCS+CCS

Dixit, Ashutosh ashutosh.dixit at intel.com
Thu Jan 6 02:41:53 UTC 2022


On Wed, 05 Jan 2022 02:10:22 -0800, <priyanka.dandamudi at intel.com> wrote:
>
> diff --git a/tests/i915/gem_ctx_exec.c b/tests/i915/gem_ctx_exec.c
> index a1270a88..7b2aa390 100644
> --- a/tests/i915/gem_ctx_exec.c
> +++ b/tests/i915/gem_ctx_exec.c
> @@ -276,6 +276,8 @@ static void nohangcheck_hostile(int i915)
>	int err = 0;
>	int dir;
>	uint64_t ahnd;
> +	bool rcs0 = false;
> +	bool ccs0 = false;
>
>	/*
>	 * Even if the user disables hangcheck during their context,
> @@ -292,6 +294,20 @@ static void nohangcheck_hostile(int i915)
>	ahnd = get_reloc_ahnd(i915, ctx->id);
>
>	igt_require(__enable_hangcheck(dir, false));
> +	/* Skips for RCS+CCS combination when nopreemption batch submitted*/
> +	for_each_ctx_engine (i915, ctx, e) {
> +		if (rcs0 && ccs0)
> +			break;
> +		else if (!rcs0) {

As I said before I don't see any point of these 'if (!rcs0)' and 'if
(!ccs0)' checks.

Also isn't this functionality (both rcs and ccs preset detection) needed
elsewhere where dependent resets need to be handled? In that case, this
functionality should be moved to lib/ so it can be shared between multiple
tests.

> +			if (e->class == I915_ENGINE_CLASS_RENDER)
> +				rcs0 = true;
> +		}
> +		else if (!ccs0) {
> +			if (e->class == I915_ENGINE_CLASS_COMPUTE)
> +				ccs0 = true;
> +		}
> +	}
> +	igt_require(!(rcs0 && ccs0));


More information about the igt-dev mailing list