On 8/12/2016 11:58 AM, Chris Wilson wrote:
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

Fine will move it to GuC teardown.

@@ -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?
Sorry for the inconsistency here, but didn't get your question.
        dev_priv->guc.log.wq

        dev_priv->guc.events_work

Best regards
Akash

-Chris

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to