[PATCH 01/10] drm/i915: Move i915->gt.cleanup into engine->cleanup

Michał Winiarski michal.winiarski at intel.com
Tue Jul 17 16:41:18 UTC 2018


Currently, engine->cleanup is unused.
Let's start to use it, since gt.cleanup was operating on engines anyway.

Signed-off-by: Michał Winiarski <michal.winiarski at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_drv.h        | 1 -
 drivers/gpu/drm/i915/i915_gem.c        | 9 +++------
 drivers/gpu/drm/i915/intel_engine_cs.c | 9 ++++++---
 drivers/gpu/drm/i915/intel_lrc.c       | 3 ---
 4 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 4fb937399440..6147b673d2d5 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2058,7 +2058,6 @@ struct drm_i915_private {
 	/* Abstract the submission mechanism (legacy ringbuffer or execlists) away */
 	struct {
 		void (*resume)(struct drm_i915_private *);
-		void (*cleanup_engine)(struct intel_engine_cs *engine);
 
 		struct list_head timelines;
 
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 42d24410a98c..fcf63be90291 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -5465,13 +5465,10 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
 
 	dev_priv->mm.unordered_timeline = dma_fence_context_alloc(1);
 
-	if (HAS_LOGICAL_RING_CONTEXTS(dev_priv)) {
+	if (HAS_LOGICAL_RING_CONTEXTS(dev_priv))
 		dev_priv->gt.resume = intel_lr_context_resume;
-		dev_priv->gt.cleanup_engine = intel_logical_ring_cleanup;
-	} else {
+	else
 		dev_priv->gt.resume = intel_legacy_submission_resume;
-		dev_priv->gt.cleanup_engine = intel_engine_cleanup;
-	}
 
 	ret = i915_gem_init_userptr(dev_priv);
 	if (ret)
@@ -5641,7 +5638,7 @@ i915_gem_cleanup_engines(struct drm_i915_private *dev_priv)
 	enum intel_engine_id id;
 
 	for_each_engine(engine, dev_priv, id)
-		dev_priv->gt.cleanup_engine(engine);
+		engine->cleanup(engine);
 }
 
 void
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c
index 2d1952849d69..88cc61e2b04c 100644
--- a/drivers/gpu/drm/i915/intel_engine_cs.c
+++ b/drivers/gpu/drm/i915/intel_engine_cs.c
@@ -391,10 +391,13 @@ int intel_engines_init(struct drm_i915_private *dev_priv)
 			&intel_engine_classes[engine->class];
 		int (*init)(struct intel_engine_cs *engine);
 
-		if (HAS_EXECLISTS(dev_priv))
+		if (HAS_EXECLISTS(dev_priv)) {
+			engine->cleanup = intel_logical_ring_cleanup;
 			init = class_info->init_execlists;
-		else
+		} else {
+			engine->cleanup = intel_engine_cleanup;
 			init = class_info->init_legacy;
+		}
 
 		err = -EINVAL;
 		err_id = id;
@@ -417,7 +420,7 @@ int intel_engines_init(struct drm_i915_private *dev_priv)
 			kfree(engine);
 			dev_priv->engine[id] = NULL;
 		} else {
-			dev_priv->gt.cleanup_engine(engine);
+			engine->cleanup(engine);
 		}
 	}
 	return err;
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index db5351e6a3a5..6363737191e1 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -2283,9 +2283,6 @@ void intel_logical_ring_cleanup(struct intel_engine_cs *engine)
 		WARN_ON((I915_READ_MODE(engine) & MODE_IDLE) == 0);
 	}
 
-	if (engine->cleanup)
-		engine->cleanup(engine);
-
 	intel_engine_cleanup_common(engine);
 
 	lrc_destroy_wa_ctx(engine);
-- 
2.17.1



More information about the Intel-gfx-trybot mailing list