Message ID | 20190218145051.18981-1-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] drm/i915/selftests: Make unbannable contexts for reset handling | expand |
Chris Wilson <chris@chris-wilson.co.uk> writes: > igt_ctx_sseu was caught using bannable contexts and in the course of > resetting rapidly to run its test was banned. Don't let ourselves ban > the test! > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> > --- > drivers/gpu/drm/i915/selftests/i915_gem_context.c | 1 + > drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 2 ++ > drivers/gpu/drm/i915/selftests/intel_workarounds.c | 2 ++ > 3 files changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/selftests/i915_gem_context.c > index 7eb58a9d1319..b7b97c57ad05 100644 > --- a/drivers/gpu/drm/i915/selftests/i915_gem_context.c > +++ b/drivers/gpu/drm/i915/selftests/i915_gem_context.c > @@ -967,6 +967,7 @@ __igt_ctx_sseu(struct drm_i915_private *i915, > ret = PTR_ERR(ctx); > goto out_unlock; > } > + i915_gem_context_clear_bannable(ctx); /* to reset and beyond! */ > > obj = i915_gem_object_create_internal(i915, PAGE_SIZE); > if (IS_ERR(obj)) { > diff --git a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c > index 74e743b101d9..c32bc31192ae 100644 > --- a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c > +++ b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c > @@ -56,6 +56,8 @@ static int hang_init(struct hang *h, struct drm_i915_private *i915) > if (IS_ERR(h->ctx)) > return PTR_ERR(h->ctx); > > + GEM_BUG_ON(i915_gem_context_is_bannable(h->ctx)); > + > h->hws = i915_gem_object_create_internal(i915, PAGE_SIZE); > if (IS_ERR(h->hws)) { > err = PTR_ERR(h->hws); > diff --git a/drivers/gpu/drm/i915/selftests/intel_workarounds.c b/drivers/gpu/drm/i915/selftests/intel_workarounds.c > index d6bb2005024d..fb479a2c04fb 100644 > --- a/drivers/gpu/drm/i915/selftests/intel_workarounds.c > +++ b/drivers/gpu/drm/i915/selftests/intel_workarounds.c > @@ -236,6 +236,8 @@ switch_to_scratch_context(struct intel_engine_cs *engine, > if (IS_ERR(ctx)) > return PTR_ERR(ctx); > > + GEM_BUG_ON(i915_gem_context_is_bannable(ctx)); > + > rq = ERR_PTR(-ENODEV); > with_intel_runtime_pm(engine->i915, wakeref) > rq = igt_spinner_create_request(spin, ctx, engine, MI_NOOP); > -- > 2.20.1
diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/selftests/i915_gem_context.c index 7eb58a9d1319..b7b97c57ad05 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_context.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_context.c @@ -967,6 +967,7 @@ __igt_ctx_sseu(struct drm_i915_private *i915, ret = PTR_ERR(ctx); goto out_unlock; } + i915_gem_context_clear_bannable(ctx); /* to reset and beyond! */ obj = i915_gem_object_create_internal(i915, PAGE_SIZE); if (IS_ERR(obj)) { diff --git a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c index 74e743b101d9..c32bc31192ae 100644 --- a/drivers/gpu/drm/i915/selftests/intel_hangcheck.c +++ b/drivers/gpu/drm/i915/selftests/intel_hangcheck.c @@ -56,6 +56,8 @@ static int hang_init(struct hang *h, struct drm_i915_private *i915) if (IS_ERR(h->ctx)) return PTR_ERR(h->ctx); + GEM_BUG_ON(i915_gem_context_is_bannable(h->ctx)); + h->hws = i915_gem_object_create_internal(i915, PAGE_SIZE); if (IS_ERR(h->hws)) { err = PTR_ERR(h->hws); diff --git a/drivers/gpu/drm/i915/selftests/intel_workarounds.c b/drivers/gpu/drm/i915/selftests/intel_workarounds.c index d6bb2005024d..fb479a2c04fb 100644 --- a/drivers/gpu/drm/i915/selftests/intel_workarounds.c +++ b/drivers/gpu/drm/i915/selftests/intel_workarounds.c @@ -236,6 +236,8 @@ switch_to_scratch_context(struct intel_engine_cs *engine, if (IS_ERR(ctx)) return PTR_ERR(ctx); + GEM_BUG_ON(i915_gem_context_is_bannable(ctx)); + rq = ERR_PTR(-ENODEV); with_intel_runtime_pm(engine->i915, wakeref) rq = igt_spinner_create_request(spin, ctx, engine, MI_NOOP);
igt_ctx_sseu was caught using bannable contexts and in the course of resetting rapidly to run its test was banned. Don't let ourselves ban the test! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> --- drivers/gpu/drm/i915/selftests/i915_gem_context.c | 1 + drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 2 ++ drivers/gpu/drm/i915/selftests/intel_workarounds.c | 2 ++ 3 files changed, 5 insertions(+)