[Intel-gfx] [PATCH 12/18] drm/i915: try to reset the gpu before unload

Ben Widawsky ben at bwidawsk.net
Fri Mar 30 20:50:42 CEST 2012


On Thu, 29 Mar 2012 21:31:21 +0200
Daniel Vetter <daniel at ffwll.ch> wrote:

> On Sun, Mar 18, 2012 at 01:39:52PM -0700, Ben Widawsky wrote:
> > paranoia
> > 
> > For context support the HW expects the default context to always be
> > available as there is no way to shut off HW contexts once turned on
> > (afaics). This is problematic when unloading the driver as we have no
> > way to prevent the GPU from expecting the BO to still be present once
> > unloaded.
> > 
> > The best we can do to remedy the situation is to attempt a GPU reset
> > when doing the unload.
> > 
> > NOTE: this patch isn't *really* required to go with the rest of the
> > context serious.
> > 
> > Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
> 
> I think the paranoia here is justified (albeit it would benefit from some
> commit-message love imo). But we do not support i915_reset on all gens, so
> I think you need to add a gen >= 5 check here.

I think i915_reset does the right thing, but I'm not sure. It has a big
gen switch statement in it.

> 
> > ---
> >  drivers/gpu/drm/i915/i915_gem.c |    3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> > index c1aab45..848cc45 100644
> > --- a/drivers/gpu/drm/i915/i915_gem.c
> > +++ b/drivers/gpu/drm/i915/i915_gem.c
> > @@ -3910,6 +3910,9 @@ i915_gem_lastclose(struct drm_device *dev)
> >  	ret = i915_gem_idle(dev);
> >  	if (ret)
> >  		DRM_ERROR("failed to idle hardware: %d\n", ret);
> > +	ret = i915_reset(dev, GRDOM_FULL);
> > +	if (ret)
> > +		DRM_ERROR("failed to reset gpu: %d\n", ret);
> >  }
> >  
> >  static void
> > -- 
> > 1.7.9.4
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 




More information about the Intel-gfx mailing list