OSDN Git Service

drm/i915: Pass intel_gt to intel_engines_cleanup
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>
Tue, 22 Oct 2019 09:47:17 +0000 (10:47 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 22 Oct 2019 11:16:42 +0000 (12:16 +0100)
Engines belong to the GT so make it indicative in the API.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20191022094726.3001-4-tvrtko.ursulin@linux.intel.com
drivers/gpu/drm/i915/gt/intel_engine.h
drivers/gpu/drm/i915/gt/intel_engine_cs.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_gem.c

index 638b195..8675d8e 100644 (file)
@@ -327,7 +327,7 @@ __intel_ring_space(unsigned int head, unsigned int tail, unsigned int size)
 int intel_engines_init_mmio(struct intel_gt *gt);
 int intel_engines_setup(struct drm_i915_private *i915);
 int intel_engines_init(struct drm_i915_private *i915);
-void intel_engines_cleanup(struct drm_i915_private *i915);
+void intel_engines_cleanup(struct intel_gt *gt);
 
 int intel_engine_init_common(struct intel_engine_cs *engine);
 void intel_engine_cleanup_common(struct intel_engine_cs *engine);
index a46ba24..ce7cab4 100644 (file)
@@ -381,16 +381,17 @@ static void intel_setup_engine_capabilities(struct intel_gt *gt)
 
 /**
  * intel_engines_cleanup() - free the resources allocated for Command Streamers
- * @i915: the i915 devic
+ * @gt: pointer to struct intel_gt
  */
-void intel_engines_cleanup(struct drm_i915_private *i915)
+void intel_engines_cleanup(struct intel_gt *gt)
 {
        struct intel_engine_cs *engine;
        enum intel_engine_id id;
 
-       for_each_engine(engine, i915, id) {
+       for_each_engine(engine, gt, id) {
                engine->destroy(engine);
-               i915->engine[id] = NULL;
+               gt->engine[id] = NULL;
+               gt->i915->engine[id] = NULL;
        }
 }
 
@@ -444,7 +445,7 @@ int intel_engines_init_mmio(struct intel_gt *gt)
        return 0;
 
 cleanup:
-       intel_engines_cleanup(i915);
+       intel_engines_cleanup(gt);
        return err;
 }
 
@@ -475,7 +476,7 @@ int intel_engines_init(struct drm_i915_private *i915)
        return 0;
 
 cleanup:
-       intel_engines_cleanup(i915);
+       intel_engines_cleanup(&i915->gt);
        return err;
 }
 
@@ -659,7 +660,7 @@ int intel_engines_setup(struct drm_i915_private *i915)
        return 0;
 
 cleanup:
-       intel_engines_cleanup(i915);
+       intel_engines_cleanup(&i915->gt);
        return err;
 }
 
index c4c7caa..5138d1e 100644 (file)
@@ -621,7 +621,7 @@ err_bridge:
  */
 static void i915_driver_mmio_release(struct drm_i915_private *dev_priv)
 {
-       intel_engines_cleanup(dev_priv);
+       intel_engines_cleanup(&dev_priv->gt);
        intel_teardown_mchbar(dev_priv);
        intel_uncore_fini_mmio(&dev_priv->uncore);
        pci_dev_put(dev_priv->bridge_dev);
index 81eecbd..fcc3591 100644 (file)
@@ -1328,7 +1328,7 @@ err_init_hw:
 err_uc_init:
        if (ret != -EIO) {
                intel_uc_fini(&dev_priv->gt.uc);
-               intel_engines_cleanup(dev_priv);
+               intel_engines_cleanup(&dev_priv->gt);
        }
 err_context:
        if (ret != -EIO)
@@ -1397,7 +1397,7 @@ void i915_gem_driver_remove(struct drm_i915_private *dev_priv)
 
 void i915_gem_driver_release(struct drm_i915_private *dev_priv)
 {
-       intel_engines_cleanup(dev_priv);
+       intel_engines_cleanup(&dev_priv->gt);
        i915_gem_driver_release__contexts(dev_priv);
        intel_gt_driver_release(&dev_priv->gt);