From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: Re: [PATCH 12/18] drm/i915: try to reset the gpu before unload Date: Fri, 30 Mar 2012 11:50:42 -0700 Message-ID: <20120330115042.2b96b86a@bwidawsk.net> References: <1332103198-25852-1-git-send-email-ben@bwidawsk.net> <1332103198-25852-13-git-send-email-ben@bwidawsk.net> <20120329193121.GF27737@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from cloud01.chad-versace.us (184-106-247-128.static.cloud-ips.com [184.106.247.128]) by gabe.freedesktop.org (Postfix) with ESMTP id E106C9EFBB for ; Fri, 30 Mar 2012 11:50:49 -0700 (PDT) In-Reply-To: <20120329193121.GF27737@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Thu, 29 Mar 2012 21:31:21 +0200 Daniel Vetter 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 > > 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@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx >