From: Sagar Arun Kamble <sagar.a.kamble@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH v8 4/8] drm/i915/guc: Introduce intel_guc_sanitize
Date: Tue, 26 Sep 2017 18:54:41 +0530 [thread overview]
Message-ID: <1506432285-14979-4-git-send-email-sagar.a.kamble@intel.com> (raw)
In-Reply-To: <1506432285-14979-1-git-send-email-sagar.a.kamble@intel.com>
Currently GPU is reset at the end of suspend via i915_gem_sanitize.
On resume, GuC will not be loaded until intel_uc_init_hw happens
during GEM resume flow but action to exit sleep wll be send to GuC
considering the FW load status. To make sure we don't invoke that
action update GuC FW load status through new helper
intel_guc_sanitize. Conditional check based on FW fetch status should
take care of driver init flow.
v2: Rebase.
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Michał Winiarski <michal.winiarski@intel.com>
Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
---
drivers/gpu/drm/i915/i915_gem.c | 2 ++
drivers/gpu/drm/i915/intel_uc.c | 8 ++++++++
drivers/gpu/drm/i915/intel_uc.h | 1 +
3 files changed, 11 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 8e6e2bd..0d9a107 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4528,6 +4528,8 @@ void i915_gem_sanitize(struct drm_i915_private *i915)
mutex_unlock(&i915->drm.struct_mutex);
}
+ intel_guc_sanitize(&i915->guc);
+
/*
* If we inherit context state from the BIOS or earlier occupants
* of the GPU, the GPU may be in an inconsistent state when we
diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c
index b9376e4..29d43f8 100644
--- a/drivers/gpu/drm/i915/intel_uc.c
+++ b/drivers/gpu/drm/i915/intel_uc.c
@@ -581,3 +581,11 @@ int intel_guc_sample_forcewake(struct intel_guc *guc)
return intel_guc_send(guc, action, ARRAY_SIZE(action));
}
+
+void intel_guc_sanitize(struct intel_guc *guc)
+{
+ if (guc->fw.fetch_status == INTEL_UC_FIRMWARE_SUCCESS)
+ guc->fw.load_status = INTEL_UC_FIRMWARE_PENDING;
+ else
+ guc->fw.load_status = INTEL_UC_FIRMWARE_NONE;
+}
diff --git a/drivers/gpu/drm/i915/intel_uc.h b/drivers/gpu/drm/i915/intel_uc.h
index 0a79e17..6163ff9 100644
--- a/drivers/gpu/drm/i915/intel_uc.h
+++ b/drivers/gpu/drm/i915/intel_uc.h
@@ -213,6 +213,7 @@ struct intel_huc {
int intel_uc_suspend(struct drm_i915_private *dev_priv);
int intel_uc_resume(struct drm_i915_private *dev_priv);
int intel_guc_sample_forcewake(struct intel_guc *guc);
+void intel_guc_sanitize(struct intel_guc *guc);
int intel_guc_send_nop(struct intel_guc *guc, const u32 *action, u32 len);
int intel_guc_send_mmio(struct intel_guc *guc, const u32 *action, u32 len);
int intel_guc_auth_huc(struct intel_guc *guc, u32 rsa_offset);
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-09-26 13:21 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-26 13:24 [PATCH v8 1/8] drm/i915: Create GEM runtime resume helper and handle GEM suspend/resume errors Sagar Arun Kamble
2017-09-26 13:24 ` [PATCH v8 2/8] drm/i915: Update GEM suspend/resume flows considering GuC and GEM fences Sagar Arun Kamble
2017-09-26 13:42 ` Chris Wilson
2017-09-26 14:24 ` Sagar Arun Kamble
2017-09-26 14:39 ` Chris Wilson
2017-09-26 14:48 ` Chris Wilson
2017-09-26 15:07 ` Sagar Arun Kamble
2017-09-26 13:24 ` [PATCH v8 3/8] drm/i915: Create uC runtime and system suspend/resume helpers Sagar Arun Kamble
2017-09-26 13:43 ` Chris Wilson
2017-09-26 14:22 ` Sagar Arun Kamble
2017-09-26 13:24 ` Sagar Arun Kamble [this message]
2017-09-26 13:46 ` [PATCH v8 4/8] drm/i915/guc: Introduce intel_guc_sanitize Chris Wilson
2017-09-26 14:20 ` Sagar Arun Kamble
2017-09-26 13:24 ` [PATCH v8 5/8] drm/i915/guc: Update GuC ggtt.invalidate/interrupts/communication across RPM suspend/resume Sagar Arun Kamble
2017-09-26 13:24 ` [PATCH v8 6/8] drm/i915/guc: Update GuC suspend functionality in intel_uc_suspend Sagar Arun Kamble
2017-09-26 13:49 ` Chris Wilson
2017-09-26 13:57 ` Michał Winiarski
2017-09-26 14:15 ` Sagar Arun Kamble
2017-09-26 13:24 ` [PATCH v8 7/8] drm/i915/guc: Disable GuC submission and suspend it prior to i915 reset Sagar Arun Kamble
2017-09-26 13:52 ` Chris Wilson
2017-09-26 14:18 ` Sagar Arun Kamble
2017-09-26 13:24 ` [PATCH v8 8/8] drm/i915/guc: Fix GuC cleanup in unload path Sagar Arun Kamble
2017-09-26 13:29 ` [PATCH v8 1/8] drm/i915: Create GEM runtime resume helper and handle GEM suspend/resume errors Sagar Arun Kamble
2017-09-26 13:37 ` Chris Wilson
2017-09-26 14:11 ` ✓ Fi.CI.BAT: success for series starting with [v8,1/8] " Patchwork
2017-09-26 20:39 ` ✓ Fi.CI.IGT: " 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=1506432285-14979-4-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