On Tue, Jul 07, 2015 at 04:23:13AM +0800, Zhi Wang wrote: > Hi Chris: > > How about this one? :) > > diff --git a/drivers/gpu/drm/i915/i915_dma.c > b/drivers/gpu/drm/i915/i915_dma.c > index c5349fa..013039e 100644 > --- a/drivers/gpu/drm/i915/i915_dma.c > +++ b/drivers/gpu/drm/i915/i915_dma.c > @@ -1134,6 +1134,21 @@ int i915_driver_unload(struct drm_device *dev) > > i915_global_gtt_cleanup(dev); > > + /* > + * The only known way to stop the gpu from accessing the hw > context in > + * graphics memory space is to reset it. Do this as the very last > + * operation to avoid confusing other code, leading to > spurious errors. > + * > + * Besides, we also need to restore HW workload submission mode back > + * to default mode when shutdown i915. > + * > + * It makes i915 module loading/unloading be able to switch between > + * different workload submission mode on gen8+. And > according to B-spec, > + * the only way to reset HW workload submission mode to > default mod is GPU reset. > + */ > + if (INTEL_INFO(dev)->gen >= 5) > + intel_gpu_reset(dev); > + > intel_uncore_fini(dev); > if (dev_priv->regs != NULL) > pci_iounmap(dev->pdev, dev_priv->regs); > diff --git a/drivers/gpu/drm/i915/i915_gem_context.c > b/drivers/gpu/drm/i915/i915_gem_context.c > index a7e58a8..376ee6b 100644 > --- a/drivers/gpu/drm/i915/i915_gem_context.c > +++ b/drivers/gpu/drm/i915/i915_gem_context.c > @@ -373,11 +373,6 @@ void i915_gem_context_fini(struct drm_device *dev) > int i; > > if (dctx->legacy_hw_ctx.rcs_state) { > - /* The only known way to stop the gpu from accessing > the hw context is > - * to reset it. Do this as the very last operation > to avoid confusing > - * other code, leading to spurious errors. */ > - intel_gpu_reset(dev); > - > /* When default context is created and switched to, > base object refcount > * will be 2 (+1 from object creation and +1 from > do_switch()). > * i915_gem_context_fini() will be called after > gpu_idle() has switched I'd be happy to r-b that. Having a verbose comment explaining why we put the shotgun to our head is definitely required, thanks. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx