mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 14:04:54 +02:00
drm/i915: Report all failed registers for ctx isolation
For CI it is enough to point out a single failure in isolation. However it is beneficial to gather info in logs for transients further down the line. Do not stop into first comparison failure but continue probing forward. v2: for all engines and poisons (Chris) Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20200331135403.16906-1-mika.kuoppala@linux.intel.com
This commit is contained in:
parent
606727842d
commit
708c82d59b
|
|
@ -5171,7 +5171,6 @@ static int compare_isolation(struct intel_engine_cs *engine,
|
|||
A[0][x], B[0][x], B[1][x],
|
||||
poison, lrc[dw + 1]);
|
||||
err = -EINVAL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
dw += 2;
|
||||
|
|
@ -5310,6 +5309,7 @@ static int live_lrc_isolation(void *arg)
|
|||
0xffffffff,
|
||||
0xffff0000,
|
||||
};
|
||||
int err = 0;
|
||||
|
||||
/*
|
||||
* Our goal is try and verify that per-context state cannot be
|
||||
|
|
@ -5320,7 +5320,6 @@ static int live_lrc_isolation(void *arg)
|
|||
*/
|
||||
|
||||
for_each_engine(engine, gt, id) {
|
||||
int err = 0;
|
||||
int i;
|
||||
|
||||
/* Just don't even ask */
|
||||
|
|
@ -5331,23 +5330,25 @@ static int live_lrc_isolation(void *arg)
|
|||
intel_engine_pm_get(engine);
|
||||
if (engine->pinned_default_state) {
|
||||
for (i = 0; i < ARRAY_SIZE(poison); i++) {
|
||||
err = __lrc_isolation(engine, poison[i]);
|
||||
if (err)
|
||||
break;
|
||||
int result;
|
||||
|
||||
err = __lrc_isolation(engine, ~poison[i]);
|
||||
if (err)
|
||||
break;
|
||||
result = __lrc_isolation(engine, poison[i]);
|
||||
if (result && !err)
|
||||
err = result;
|
||||
|
||||
result = __lrc_isolation(engine, ~poison[i]);
|
||||
if (result && !err)
|
||||
err = result;
|
||||
}
|
||||
}
|
||||
intel_engine_pm_put(engine);
|
||||
if (igt_flush_test(gt->i915))
|
||||
if (igt_flush_test(gt->i915)) {
|
||||
err = -EIO;
|
||||
if (err)
|
||||
return err;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return err;
|
||||
}
|
||||
|
||||
static void garbage_reset(struct intel_engine_cs *engine,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user