[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