intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Sagar Arun Kamble <sagar.a.kamble@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH 3/5] drm/i915/guc: Deactivate all client doorbells before reset
Date: Sun,  5 Nov 2017 19:09:41 +0530	[thread overview]
Message-ID: <1509889183-2094-3-git-send-email-sagar.a.kamble@intel.com> (raw)
In-Reply-To: <1509889183-2094-1-git-send-email-sagar.a.kamble@intel.com>

Prior to i915 reset, we need to deactivate all client doorbells
as they will need to be reacquired again post reset. We should
not execute GuC doorbell deallocation flow as GuC might be in
bad state (possibly reason for i915 reset).

Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Michał Winiarski <michal.winiarski@intel.com>
Cc: Michel Thierry <michel.thierry@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_gem.c            |  2 ++
 drivers/gpu/drm/i915/i915_guc_submission.c | 14 ++++++++++++++
 drivers/gpu/drm/i915/i915_guc_submission.h |  1 +
 3 files changed, 17 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index cbce714..879e318 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2963,6 +2963,8 @@ int i915_gem_reset_prepare(struct drm_i915_private *dev_priv)
 
 	i915_gem_revoke_fences(dev_priv);
 
+	i915_guc_clients_reset_prepare(&dev_priv->guc);
+
 	return err;
 }
 
diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c b/drivers/gpu/drm/i915/i915_guc_submission.c
index b989edf..21f7fa7 100644
--- a/drivers/gpu/drm/i915/i915_guc_submission.c
+++ b/drivers/gpu/drm/i915/i915_guc_submission.c
@@ -1113,6 +1113,20 @@ void i915_guc_clients_release_doorbells(struct intel_guc *guc)
 	destroy_doorbell(guc->execbuf_client, true);
 }
 
+void i915_guc_clients_reset_prepare(struct intel_guc *guc)
+{
+	if (!i915_modparams.enable_guc_submission)
+		return;
+
+	/*
+	 * We are only deactivating doorbell unit monitoring. GuC might
+	 * be in bad state and will be reset hence don't execute GuC
+	 * doorbell deallocation flow.
+	 */
+	destroy_doorbell(guc->preempt_client, false);
+	destroy_doorbell(guc->execbuf_client, false);
+}
+
 static void guc_policy_init(struct guc_policy *policy)
 {
 	policy->execution_quantum = POLICY_DEFAULT_EXECUTION_QUANTUM_US;
diff --git a/drivers/gpu/drm/i915/i915_guc_submission.h b/drivers/gpu/drm/i915/i915_guc_submission.h
index 1d5cf22..91ad505 100644
--- a/drivers/gpu/drm/i915/i915_guc_submission.h
+++ b/drivers/gpu/drm/i915/i915_guc_submission.h
@@ -74,6 +74,7 @@ struct i915_guc_client {
 
 void i915_guc_clients_acquire_doorbells(struct intel_guc *guc);
 void i915_guc_clients_release_doorbells(struct intel_guc *guc);
+void i915_guc_clients_reset_prepare(struct intel_guc *guc);
 int i915_guc_submission_init(struct drm_i915_private *dev_priv);
 int i915_guc_submission_enable(struct drm_i915_private *dev_priv);
 void i915_guc_submission_disable(struct drm_i915_private *dev_priv);
-- 
1.9.1

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

  parent reply	other threads:[~2017-11-05 13:36 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-05 13:39 [PATCH 1/5] drm/i915/guc: Separate GuC doorbell destroy function into doorbell unit and GuC task Sagar Arun Kamble
2017-11-05 13:39 ` [PATCH 2/5] drm/i915/guc: Release all client doorbells on suspend and acquire on resume Sagar Arun Kamble
2017-11-06 12:13   ` Chris Wilson
2017-11-07  6:05     ` Sagar Arun Kamble
2017-11-07  9:21       ` Chris Wilson
2017-11-07 10:27         ` Michal Wajdeczko
2017-11-07 10:33           ` Sagar Arun Kamble
2017-11-05 13:39 ` Sagar Arun Kamble [this message]
2017-11-05 13:39 ` [PATCH 4/5] drm/i915/guc: Increase wait timeout for doorbell release status update Sagar Arun Kamble
2017-11-05 15:55   ` Michal Wajdeczko
2017-11-06  5:43     ` Sagar Arun Kamble
2017-11-05 13:39 ` [PATCH 5/5] HAX enable GuC submission for CI Sagar Arun Kamble
2017-11-05 14:18 ` ✗ Fi.CI.BAT: warning for series starting with [1/5] drm/i915/guc: Separate GuC doorbell destroy function into doorbell unit and GuC task Patchwork
2017-11-08 12:32 ` ✓ Fi.CI.BAT: success " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1509889183-2094-3-git-send-email-sagar.a.kamble@intel.com \
    --to=sagar.a.kamble@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).