On Tue, Mar 25, 2014 at 08:24:00AM -0700, Ben Widawsky wrote: > On Tue, Mar 25, 2014 at 08:03:28AM +0000, Chris Wilson wrote: > > If we try to execute on a known ring, but it has failed to be > > initialised correctly, report that the GPU is hung rather than the > > command invalid. This leaves us reporting EINVAL only if the user > > requests execution on a ring that is not supported by the device. > > > > This should prevent UXA from getting stuck in a null render loop after a > > failed resume. > > > > Reported-by: Jiri Kosina <jikos@xxxxxxxx> > > References: https://bugs.freedesktop.org/show_bug.cgi?id=76554 > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/i915/i915_gem_execbuffer.c | 14 +++++++++++++- > > 1 file changed, 13 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > > index 1b45163e19f3..22c650490f54 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c > > +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > > @@ -991,6 +991,18 @@ i915_reset_gen7_sol_offsets(struct drm_device *dev, > > return 0; > > } > > > > +static bool > > +intel_ring_valid(struct intel_ring_buffer *ring) > > +{ > > + switch (ring->id) { > > + case RCS: return true; > > + case VCS: return HAS_BSD(ring->dev); > > + case BCS: return HAS_BLT(ring->dev); > > intel_enable_blt()? But not exported, and below my level of caring ;-) The cases were intel_enable_blt() != HAS_BLT() are those where the hw would hang anyway. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx