On Sun, 30 Oct 2011 20:12:08 +0100
Daniel Vetter <[email protected]> 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 <[email protected]>
> Reviewed-by: Chris Wilson <[email protected]>
> Reviewed-by: Ben Widawsky <[email protected]>
> ---
>  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 b40004b..69d4044 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1649,13 +1649,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;
>  }
>  

This also has the added benefit that it fixes a forcewake race on gen6+.
Ben
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to