[Intel-gfx] [PATCH] drm/i915: Report all failed registers for ctx isolation
Mika Kuoppala
mika.kuoppala at linux.intel.com
Tue Mar 31 11:56:49 UTC 2020
We want to log all failed registers so don't stop
on a first.
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Signed-off-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>
---
drivers/gpu/drm/i915/gt/selftest_lrc.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c
index d3e163c93e22..7d7b0ab52b63 100644
--- a/drivers/gpu/drm/i915/gt/selftest_lrc.c
+++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c
@@ -5104,6 +5104,7 @@ static int compare_isolation(struct intel_engine_cs *engine,
{
u32 x, dw, *hw, *lrc;
u32 *A[2], *B[2];
+ unsigned long failed;
int err = 0;
A[0] = i915_gem_object_pin_map(ref[0]->obj, I915_MAP_WC);
@@ -5136,6 +5137,7 @@ static int compare_isolation(struct intel_engine_cs *engine,
}
lrc += LRC_STATE_PN * PAGE_SIZE / sizeof(*hw);
+ failed = 0;
x = 0;
dw = 0;
hw = engine->pinned_default_state;
@@ -5169,8 +5171,7 @@ static int compare_isolation(struct intel_engine_cs *engine,
hw[dw], hw[dw + 1],
A[0][x], B[0][x], B[1][x],
poison, lrc[dw + 1]);
- err = -EINVAL;
- break;
+ failed++;
}
}
dw += 2;
@@ -5179,6 +5180,9 @@ static int compare_isolation(struct intel_engine_cs *engine,
} while (dw < PAGE_SIZE / sizeof(u32) &&
(hw[dw] & ~BIT(0)) != MI_BATCH_BUFFER_END);
+ if (failed)
+ err = -EINVAL;
+
i915_gem_object_unpin_map(ce->state->obj);
err_B1:
i915_gem_object_unpin_map(result[1]->obj);
--
2.17.1
More information about the Intel-gfx
mailing list