[Intel-gfx] [PATCH 2/6] drm/i915: kicking rings stuck on semaphores considered harmful
Ben Widawsky
ben at bwidawsk.net
Tue Oct 11 22:48:42 CEST 2011
On Tue, 11 Oct 2011 16:39:10 +0200
Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> If our semaphore logic gets confused and we have a ring stuck waiting
> for one, there's a decent chance it'll just execute garbage when being
> kicked. Also, kicking the ring obscures the place where the error
> first occured, making error_state decoding much harder.
>
> So drop this an let gpu reset handle this mess in a clean fashion.
>
> In contrast, kicking rings stuck on MI_WAIT is rather harmless, at
> worst there'll be a bit of screen-flickering. There's also old
> broken userspace out there which needs this as a work-around.
>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/i915/i915_irq.c | 7 -------
> 1 files changed, 0 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 2218d12..3563a2e 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1645,13 +1645,6 @@ static bool kick_ring(struct intel_ring_buffer *ring)
> I915_WRITE_CTL(ring, tmp);
> return true;
> }
> - if (IS_GEN6(dev) &&
> - (tmp & RING_WAIT_SEMAPHORE)) {
> - DRM_ERROR("Kicking stuck semaphore on %s\n",
> - ring->name);
> - I915_WRITE_CTL(ring, tmp);
> - return true;
> - }
> return false;
> }
>
If you see this before redoing the patch series, I think a DRM_INFO
might be handy when we notice the stuck semaphore.
Either way:
Reviewed-by: Ben Widawsky <ben at bwidawsk.net>
More information about the Intel-gfx
mailing list