Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > If we have parked, then we must have passed an idleness test and still > be idle. We chose not to use this shortcut in the past so that we could > use the idleness test at any time and inspect HW. However, some HW like > Sandybridge, doesn't like being woken up frivolously, so avoid doing so. > > References: 0b702dca2658 ("drm/i915: Avoid waking the engines just to check if they are idle") > 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_engine_cs.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c > index b7b626195eda..96a38f411bc7 100644 > --- a/drivers/gpu/drm/i915/intel_engine_cs.c > +++ b/drivers/gpu/drm/i915/intel_engine_cs.c > @@ -1033,7 +1033,7 @@ bool intel_engine_is_idle(struct intel_engine_cs *engine) > return ring_is_idle(engine); > } > > -bool intel_engines_are_idle(struct drm_i915_private *dev_priv) > +bool intel_engines_are_idle(struct drm_i915_private *i915) > { > struct intel_engine_cs *engine; > enum intel_engine_id id; > @@ -1042,10 +1042,14 @@ bool intel_engines_are_idle(struct drm_i915_private *dev_priv) > * If the driver is wedged, HW state may be very inconsistent and > * report that it is still busy, even though we have stopped using it. > */ > - if (i915_reset_failed(dev_priv)) > + if (i915_reset_failed(i915)) > return true; > > - for_each_engine(engine, dev_priv, id) { > + /* Already parked (and passed an idleness test); must still be idle */ > + if (!READ_ONCE(i915->gt.awake)) > + return true; > + > + for_each_engine(engine, i915, id) { > if (!intel_engine_is_idle(engine)) > return false; > } > -- > 2.20.1 > > _______________________________________________ > 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