Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > Always try to stop the rings, even if the GPU reset itself has been > disabled (via modparam i915.reset). This should at least stop the hw > from spinning in the background consuming resources (e.g. power and > memory bandwidth) letting the system rest-in-peace. > > References: https://bugs.freedesktop.org/show_bug.cgi?id=103260 > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_uncore.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c > index 983617b5b338..20e3c65c0999 100644 > --- a/drivers/gpu/drm/i915/intel_uncore.c > +++ b/drivers/gpu/drm/i915/intel_uncore.c > @@ -1403,6 +1403,9 @@ static void i915_stop_engines(struct drm_i915_private *dev_priv, > struct intel_engine_cs *engine; > enum intel_engine_id id; > > + if (INTEL_GEN(dev_priv) < 3) > + return; > + > for_each_engine_masked(engine, dev_priv, engine_mask, id) > gen3_stop_engine(engine); > } > @@ -1742,16 +1745,12 @@ static reset_func intel_get_gpu_reset(struct drm_i915_private *dev_priv) > > int intel_gpu_reset(struct drm_i915_private *dev_priv, unsigned engine_mask) > { > - reset_func reset; > + reset_func reset = intel_get_gpu_reset(dev_priv); > int retry; > int ret; > > might_sleep(); > > - reset = intel_get_gpu_reset(dev_priv); > - if (reset == NULL) > - return -ENODEV; > - > /* If the power well sleeps during the reset, the reset > * request may be dropped and never completes (causing -EIO). > */ > @@ -1771,7 +1770,9 @@ int intel_gpu_reset(struct drm_i915_private *dev_priv, unsigned engine_mask) > */ > i915_stop_engines(dev_priv, engine_mask); > > - ret = reset(dev_priv, engine_mask); > + ret = -ENODEV; > + if (reset) > + ret = reset(dev_priv, engine_mask); > if (ret != -ETIMEDOUT) > break; > > -- > 2.15.0.rc0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx