Re: [PATCH 06/20] drm/i915: Handle log buffer flush interrupt event from GuC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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

	dev_priv->guc.events_work

Best regards
Akash

-Chris

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux