Re: [PATCH 3/5] drm/i915: Suppress EIO during i915_gem_idle()

Daniel Vetter
2012-04-18T08:50:32Z

On Sat, Apr 14, 2012 at 09:55:49AM +0100, Chris Wilson wrote:
> i915_gem_idle() is called when we need to suspend the GPU. If the GPU is
> already suspended by this point due to being wedged, we can safely
> continue.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Imo the right way to fix this case here is by checking this in gpu_idle
and just not bothering to emit any flushes and request if the gpu is
wedged already.
-Daniel
> ---
> drivers/gpu/drm/i915/i915_gem.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index ffe0853..a6819c1 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -3576,7 +3576,7 @@ i915_gem_idle(struct drm_device *dev)
> }
>
> ret = i915_gpu_idle(dev, true);
> - if (ret) {
> + if (ret && ret != -EIO) {
> mutex_unlock(&dev->struct_mutex);
> return ret;
> }
> --
> 1.7.10
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

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