drm/i915/guc: don't hardcode BCS0 in guc_hang selftest

On MTL there are no BCS engines on the media GT, so we can't always use
BCS0 in the test. There is no actual reason to use a BCS engine over an
engine of a different class, so switch to using any available engine.
Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Acked-by: default avatarNirmoy Das <nirmoy.das@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221102214310.2829310-1-daniele.ceraolospurio@intel.com
parent 194babe2
...@@ -35,11 +35,14 @@ static int intel_hang_guc(void *arg) ...@@ -35,11 +35,14 @@ static int intel_hang_guc(void *arg)
struct i915_request *rq; struct i915_request *rq;
intel_wakeref_t wakeref; intel_wakeref_t wakeref;
struct i915_gpu_error *global = &gt->i915->gpu_error; struct i915_gpu_error *global = &gt->i915->gpu_error;
struct intel_engine_cs *engine; struct intel_engine_cs *engine = intel_selftest_find_any_engine(gt);
unsigned int reset_count; unsigned int reset_count;
u32 guc_status; u32 guc_status;
u32 old_beat; u32 old_beat;
if (!engine)
return 0;
ctx = kernel_context(gt->i915, NULL); ctx = kernel_context(gt->i915, NULL);
if (IS_ERR(ctx)) { if (IS_ERR(ctx)) {
drm_err(&gt->i915->drm, "Failed get kernel context: %ld\n", PTR_ERR(ctx)); drm_err(&gt->i915->drm, "Failed get kernel context: %ld\n", PTR_ERR(ctx));
...@@ -48,14 +51,13 @@ static int intel_hang_guc(void *arg) ...@@ -48,14 +51,13 @@ static int intel_hang_guc(void *arg)
wakeref = intel_runtime_pm_get(gt->uncore->rpm); wakeref = intel_runtime_pm_get(gt->uncore->rpm);
ce = intel_context_create(gt->engine[BCS0]); ce = intel_context_create(engine);
if (IS_ERR(ce)) { if (IS_ERR(ce)) {
ret = PTR_ERR(ce); ret = PTR_ERR(ce);
drm_err(&gt->i915->drm, "Failed to create spinner request: %d\n", ret); drm_err(&gt->i915->drm, "Failed to create spinner request: %d\n", ret);
goto err; goto err;
} }
engine = ce->engine;
reset_count = i915_reset_count(global); reset_count = i915_reset_count(global);
old_beat = engine->props.heartbeat_interval_ms; old_beat = engine->props.heartbeat_interval_ms;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment