[Intel-gfx] [PATCH 6/6] drm/i915/guc: Grab RPM wakelock while disabling GuC interrupts

Michal Wajdeczko michal.wajdeczko at intel.com
Thu Sep 14 12:37:49 UTC 2017


On Thu, 14 Sep 2017 11:55:08 +0200, Sagar Arun Kamble  
<sagar.a.kamble at intel.com> wrote:

> From: "Kamble, Sagar A" <sagar.a.kamble at intel.com>
>
> Disabling GuC interrupts involves access to GuC IRQ control registers
> hence ensure device is RPM awake.
>
> Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Signed-off-by: Sagar Arun Kamble <sagar.a.kamble at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_guc_log.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_guc_log.c  
> b/drivers/gpu/drm/i915/intel_guc_log.c
> index ba36162..d7557b5 100644
> --- a/drivers/gpu/drm/i915/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/intel_guc_log.c
> @@ -657,8 +657,10 @@ void i915_guc_log_unregister(struct  
> drm_i915_private *dev_priv)
>  		return;
> 	mutex_lock(&dev_priv->drm.struct_mutex);
> +	intel_runtime_pm_get(dev_priv);
>  	/* GuC logging is currently the only user of Guc2Host interrupts */
>  	gen9_disable_guc_interrupts(dev_priv);
> +	intel_runtime_pm_put(dev_priv);
>  	guc_log_runtime_destroy(&dev_priv->guc);

Maybe we should just destroy runtime here, and allow irq to be disabled
by intel_uc_fini_hw() which will be called right after. This will also
fix the upcoming case when log will not be the only user of Guc irqs.

See https://patchwork.freedesktop.org/patch/170390/

Michal

>  	mutex_unlock(&dev_priv->drm.struct_mutex);
>  }


More information about the Intel-gfx mailing list