[PATCH 2/4] drm/i915: Remove redundant gt_resume on module load

Chris Wilson chris at chris-wilson.co.uk
Sat Aug 10 07:39:20 UTC 2019


As we always feed a request onto to each engine to record the initial
state (regardless of functionality) we always ensure that we switch on
each engine and enable power management without having to call
intel_gt_resume(). Since this is module load, we have no requests to
resume.

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_gem.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 6ff01a404346..dd69807cd655 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -1470,11 +1470,6 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
 	if (ret)
 		goto err_uc_init;
 
-	/* Only when the HW is re-initialised, can we replay the requests */
-	ret = intel_gt_resume(&dev_priv->gt);
-	if (ret)
-		goto err_init_hw;
-
 	/*
 	 * Despite its name intel_init_clock_gating applies both display
 	 * clock gating workarounds; GT mmio workarounds and the occasional
@@ -1486,11 +1481,11 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
 	 */
 	intel_init_clock_gating(dev_priv);
 
-	ret = intel_engines_verify_workarounds(dev_priv);
+	ret = __intel_engines_record_defaults(dev_priv);
 	if (ret)
 		goto err_gt;
 
-	ret = __intel_engines_record_defaults(dev_priv);
+	ret = intel_engines_verify_workarounds(dev_priv);
 	if (ret)
 		goto err_gt;
 
@@ -1523,7 +1518,6 @@ int i915_gem_init(struct drm_i915_private *dev_priv)
 	i915_gem_drain_workqueue(dev_priv);
 
 	mutex_lock(&dev_priv->drm.struct_mutex);
-err_init_hw:
 	intel_uc_fini_hw(&dev_priv->gt.uc);
 err_uc_init:
 	intel_uc_fini(&dev_priv->gt.uc);
-- 
2.23.0.rc1



More information about the Intel-gfx-trybot mailing list