[RFC v6 2/9] drm/i915/guc: Sanitize engine submission on disable
Michal Wajdeczko
michal.wajdeczko at intel.com
Wed Mar 28 19:31:55 UTC 2018
WIP
Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
---
drivers/gpu/drm/i915/intel_guc_submission.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c b/drivers/gpu/drm/i915/intel_guc_submission.c
index 207cda0..ef90514 100644
--- a/drivers/gpu/drm/i915/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/intel_guc_submission.c
@@ -1247,14 +1247,26 @@ int intel_guc_submission_enable(struct intel_guc *guc)
void intel_guc_submission_disable(struct intel_guc *guc)
{
struct drm_i915_private *dev_priv = guc_to_i915(guc);
+ struct intel_engine_cs *engine;
+ enum intel_engine_id id;
- GEM_BUG_ON(dev_priv->gt.awake); /* GT should be parked first */
+ WARN_ON(dev_priv->gt.awake); /* GT should be parked first */
guc_interrupts_release(dev_priv);
guc_clients_doorbell_fini(guc);
/* Revert back to manual ELSP submission */
intel_engines_reset_default_submission(dev_priv);
+
+ for_each_engine(engine, dev_priv, id) {
+ struct intel_engine_execlists * const execlists =
+ &engine->execlists;
+
+ execlists->tasklet.func = NULL;
+ engine->schedule = NULL;
+ engine->park = NULL;
+ engine->unpark = NULL;
+ }
}
#if IS_ENABLED(CONFIG_DRM_I915_SELFTEST)
--
1.9.1
More information about the Intel-gfx-trybot
mailing list