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

Chris Wilson chris at chris-wilson.co.uk
Fri Aug 12 06:28:15 UTC 2016


On Fri, Aug 12, 2016 at 11:55:09AM +0530, akash.goel at intel.com 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


More information about the Intel-gfx mailing list