On Sun, 18 Mar 2012 13:39:52 -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 > --- > 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 This reminds me that we should make our reset finer grained. We generally only need to reset the render engine when we detect an error, but today we reset display and media unconditionally too. Not resetting the display would make reset more invisible like it ought to be... I haven't tested it, but it's yet another thing for our TODO list. -- Jesse Barnes, Intel Open Source Technology Center