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 >