On 8/12/2016 12:21 PM, Chris Wilson wrote:
On Fri, Aug 12, 2016 at 12:14:28PM +0530, Goel, Akash wrote:
On 8/12/2016 11:58 AM, Chris Wilson wrote:
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
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
Just somewhere inside guc, I was just noting that you probably already
have setup/teardown for dev_priv->guc.log itself.
Fine, will move the dedicated wq creation/destruction in the
setup/teardown routines for guc.log.
Best Regards
Akash
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx