[Intel-gfx] [PATCH 3/3] drm/i915: remove ring kick

Daniel Vetter daniel at ffwll.ch
Fri Oct 7 16:00:45 CEST 2011


On Tue, Oct 04, 2011 at 02:11:53PM -0700, Ben Widawsky wrote:
> Ring kick was racy (forcewake), and doesn't really do anything for us
> that shouldn't be done by reset.
> 
> Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> ---
>  drivers/gpu/drm/i915/i915_irq.c |   41 ---------------------------------------
>  1 files changed, 0 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 6b6abe1..6e168b6 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1645,27 +1645,6 @@ static bool i915_hangcheck_ring_idle(struct intel_ring_buffer *ring, bool *err)
>  	return false;
>  }
>  
> -static bool kick_ring(struct intel_ring_buffer *ring)
> -{
> -	struct drm_device *dev = ring->dev;
> -	struct drm_i915_private *dev_priv = dev->dev_private;
> -	u32 tmp = I915_READ_CTL(ring);
> -	if (tmp & RING_WAIT) {
> -		DRM_ERROR("Kicking stuck wait on %s\n",
> -			  ring->name);
> -		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;
> -	}

As discussed on irc, I think we need to retain the kick ring stuck on
MI_WAIT for older, broken userspace. Also, kicking rings stuck on MI_WAITS
should be pretty harmless, at most we see a bit of gargabe on the screen.
-Daniel

-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48



More information about the Intel-gfx mailing list