[PATCH I-G-T v4] tests/intel/i915_hangman: Fix spin engine hang
Mikolaj Wasiak
mikolaj.wasiak at intel.com
Tue Dec 10 10:11:59 UTC 2024
Apply workaround when running background spins in hangman test.
Disable rcs0 and ccs0 engine background spin.
v4: Change bcs to rcs and disable them always in the background
Signed-off-by: Mikolaj Wasiak <mikolaj.wasiak at intel.com>
---
tests/intel/i915_hangman.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/tests/intel/i915_hangman.c b/tests/intel/i915_hangman.c
index a556eec53..7e973ab49 100644
--- a/tests/intel/i915_hangman.c
+++ b/tests/intel/i915_hangman.c
@@ -365,6 +365,12 @@ static void chk_err(int *dst, int err, int expected)
#define ERR_FENCE_END 3
#define ERR_FENCE_STAT 4
+static bool is_rcs_ccs(const struct intel_execution_engine2 *e)
+{
+ return e->class == I915_ENGINE_CLASS_COMPUTE ||
+ e->class == I915_ENGINE_CLASS_RENDER;
+}
+
static void
test_engine_hang(const intel_ctx_t *ctx,
const struct intel_execution_engine2 *e, unsigned int flags)
@@ -388,6 +394,10 @@ test_engine_hang(const intel_ctx_t *ctx,
*/
num_ctx = 0;
for_each_ctx_engine(device, ctx, other) {
+ /* Wa_14014494547:DG2 */
+ if (IS_DG2(intel_get_drm_devid(device)) && is_rcs_ccs(other))
+ continue;
+
local_ctx[num_ctx] = intel_ctx_create(device, &ctx->cfg);
context_unban(device, local_ctx[num_ctx]->id);
ahndN = get_reloc_ahnd(device, local_ctx[num_ctx]->id);
--
2.47.1
More information about the igt-dev
mailing list