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

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

 





On 9/14/2017 6:07 PM, Michal Wajdeczko wrote:
On Thu, 14 Sep 2017 11:55:08 +0200, Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx> wrote:

From: "Kamble, Sagar A" <sagar.a.kamble@xxxxxxxxx>

Disabling GuC interrupts involves access to GuC IRQ control registers
hence ensure device is RPM awake.

Cc: Michal Wajdeczko <michal.wajdeczko@xxxxxxxxx>
Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@xxxxxxxxx>
---
 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
Destroying runtime here may create issues as enabled GuC interrupts may be causing the use of the guc_log_runtime.
Should we move the i915_driver_unregister post i915_gem_unload?

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

_______________________________________________
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