Message ID | 20180409122332.24788-6-michal.wajdeczko@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Quoting Michal Wajdeczko (2018-04-09 13:23:26) > By calling in i915_reset only i915_gem_init_hw without previous > i915_gem_fini_hw we introduced asymmetry. Let's fix that. > > Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> > Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com> > Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> > --- > drivers/gpu/drm/i915/i915_drv.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index 854b26c..a0a5af0 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -1902,6 +1902,8 @@ void i915_reset(struct drm_i915_private *i915, > goto error; > } > > + i915_gem_fini_hw(i915); > + > for (i = 0; i < 3; i++) { > ret = intel_gpu_reset(i915, ALL_ENGINES); > if (ret == 0) I still have a feeling that i915_gem_reset() will cause trouble. Hmm, the wedged -> recovery path should be triggering the submission from inside i915_gem_reset. So it should be exploding already... I think where we use GEM_BUG_ON(!gt.awake) in execlists, we want a GEM_BUG_ON(!irq_pinned) in guc_submission_tasklet(). -Chris
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 854b26c..a0a5af0 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -1902,6 +1902,8 @@ void i915_reset(struct drm_i915_private *i915, goto error; } + i915_gem_fini_hw(i915); + for (i = 0; i < 3; i++) { ret = intel_gpu_reset(i915, ALL_ENGINES); if (ret == 0)
By calling in i915_reset only i915_gem_init_hw without previous i915_gem_fini_hw we introduced asymmetry. Let's fix that. Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Sagar Arun Kamble <sagar.a.kamble@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_drv.c | 2 ++ 1 file changed, 2 insertions(+)