[igt-dev] [PATCH i-g-t] tests/i915/i915_hangman : Skips test for RCS/CCS on DG2

John Harrison john.c.harrison at intel.com
Mon Jan 24 18:12:04 UTC 2022


On 1/24/2022 06:42, priyanka.dandamudi at intel.com wrote:
> From: Priyanka Dandamudi <priyanka.dandamudi at intel.com>
>
> Updated code to skip for RCS/CCS engines on DG2 as the
> platform cant handle shared reset domain.
Is this based on running the test and seeing it fail? Or just thinking 
that it is a problem?

As per my update to this test in the internal tree, I do not see it fail 
on the CCS engine only RCS. That also correlates with the nature of the 
DG2 workaround - if you hang RCS then CCS cannot switch but if you hang 
CCS then RCS can still switch quite happily. So if this test is failing 
on CCS in upstream then we have a bug that needs to be fixed.

John.

>
> Signed-off-by: Priyanka Dandamudi <priyanka.dandamudi at intel.com>
> Cc: Melkaveri, Arjun <arjun.melkaveri at intel.com>
> ---
>   tests/i915/i915_hangman.c | 11 ++++++++++-
>   1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/tests/i915/i915_hangman.c b/tests/i915/i915_hangman.c
> index 23055c27..abbdaed5 100644
> --- a/tests/i915/i915_hangman.c
> +++ b/tests/i915/i915_hangman.c
> @@ -445,6 +445,9 @@ static void do_tests(const char *name, const char *prefix,
>   	snprintf(buff, sizeof(buff), "%s-error-state-capture", prefix);
>   	igt_subtest_with_dynamic(buff) {
>   		for_each_ctx_engine(device, ctx, e) {
> +			if (IS_DG2(intel_get_drm_devid(device)) &&
> +					(e->class == I915_ENGINE_CLASS_RENDER || e->class == I915_ENGINE_CLASS_COMPUTE))
> +                                continue;
>   			igt_dynamic_f("%s", e->name)
>   				test_error_state_capture(ctx, e);
>   		}
> @@ -466,7 +469,10 @@ static void do_tests(const char *name, const char *prefix,
>   		igt_require(has_gpu_reset > 1);
>   
>   		for_each_ctx_engine(device, ctx, e) {
> -			igt_dynamic_f("%s", e->name)
> +			if (IS_DG2(intel_get_drm_devid(device)) &&
> +					(e->class == I915_ENGINE_CLASS_RENDER || e->class == I915_ENGINE_CLASS_COMPUTE))
> +				continue;
> +				igt_dynamic_f("%s", e->name)
>   				test_engine_hang(ctx, e, 0);
>   		}
>   	}
> @@ -486,6 +492,9 @@ static void do_tests(const char *name, const char *prefix,
>   		igt_require(has_gpu_reset > 1);
>   
>   		for_each_ctx_engine(device, ctx, e) {
> +			if (IS_DG2(intel_get_drm_devid(device)) &&
> +					(e->class == I915_ENGINE_CLASS_RENDER || e->class == I915_ENGINE_CLASS_COMPUTE))
> +				continue;
>   			igt_dynamic_f("%s", e->name)
>   				test_engine_hang(ctx, e, IGT_SPIN_INVALID_CS);
>   		}



More information about the igt-dev mailing list