On Fri, Aug 12, 2016 at 11:55:09AM +0530, akash.goel@xxxxxxxxx wrote: > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index 0fcd1c0..fc2da32 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > static void i915_workqueues_cleanup(struct drm_i915_private *dev_priv) > { > + if (HAS_GUC_SCHED(dev_priv)) > + destroy_workqueue(dev_priv->guc.log.wq); if (dev_priv->guc.log.wq) destroy_workqueue(dev_priv->guc.log.wq); This shouldn't be here, but in guc teardown. Likewise this is > @@ -770,8 +770,20 @@ static int i915_workqueues_init(struct drm_i915_private *dev_priv) > if (dev_priv->hotplug.dp_wq == NULL) > goto out_free_wq; > > + if (HAS_GUC_SCHED(dev_priv)) { > + /* Need a dedicated wq to process log buffer flush interrupts > + * from GuC without much delay so as to avoid any loss of logs. > + */ > + dev_priv->guc.log.wq = creating guc specific wq, not drm_i915_private's. They can even be managed by guc.log? -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx