On Fri, Mar 30, 2012 at 11:50:42AM -0700, Ben Widawsky wrote: > 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. Yeah, it just returns. But on reading i915_reset I think you don't want all it does - it resets the entire modeset and gem state, too. I think it would be better to just do the hw reset and not bother with everything else - the only chance is that it accidentally breaks module unload. What about extracting the actual hw reset code (i.e. the switch(gen) stuff) into i915_do_reset and only calling that? If you want, add the is_gen5 check, but given that it's just module unload I don't care about fried hw due to a not-so-well-working gpu reset ;-) -Daniel -- Daniel Vetter Mail: daniel at ffwll.ch Mobile: +41 (0)79 365 57 48