On Fri, Aug 12, 2016 at 11:55:09AM +0530, [email protected] 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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx