[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