[PATCH 2/3] perr

Chris Wilson chris at chris-wilson.co.uk
Fri Sep 1 11:34:44 UTC 2017


---
 drivers/gpu/drm/i915/i915_gem.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 891e32241d51..982f4afd9d3d 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3516,6 +3516,7 @@ static void wakeref_timeout(struct work_struct *work)
 	unsigned int count;
 
 	mutex_lock(&dev_priv->mm.wakeref_lock);
+	pr_err("%s: wakeref -> 0\n", __func__);
 	count = atomic_xchg(&dev_priv->mm.wakeref_count, 0);
 	if (count) {
 		unsigned long timeout;
@@ -3545,6 +3546,7 @@ static void wakeref_timeout(struct work_struct *work)
 				      round_jiffies_up_relative(timeout));
 	} else {
 		intel_runtime_pm_put(dev_priv);
+		pr_err("%s: wakeref -> -1\n", __func__);
 		atomic_set(&dev_priv->mm.wakeref_count, -1);
 	}
 	mutex_unlock(&dev_priv->mm.wakeref_lock);
@@ -3577,6 +3579,7 @@ i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, bool write)
 
 	mutex_lock(&i915->mm.wakeref_lock);
 	if (list_empty(&obj->mm.wakeref_link)) {
+		pr_err("%s: wakeref++ %d\n", __func__, atomic_read(&i915->mm.wakeref_count));
 		if (atomic_inc_and_test(&i915->mm.wakeref_count)) {
 			intel_runtime_pm_get(i915);
 			schedule_delayed_work(&i915->mm.wakeref_work,
@@ -4620,6 +4623,7 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
 	intel_runtime_pm_get(dev_priv);
 	while (flush_delayed_work(&dev_priv->mm.wakeref_work))
 		;
+	pr_err("%s: wakeref? %d\n", __func__, atomic_read(&dev_priv->mm.wakeref_count));
 	WARN_ON(atomic_read(&dev_priv->mm.wakeref_count) != -1);
 	intel_suspend_gt_powersave(dev_priv);
 
@@ -5008,6 +5012,7 @@ i915_gem_load_init(struct drm_i915_private *dev_priv)
 	INIT_LIST_HEAD(&dev_priv->mm.wakeref_list);
 	INIT_DELAYED_WORK(&dev_priv->mm.wakeref_work, wakeref_timeout);
 	mutex_init(&dev_priv->mm.wakeref_lock);
+	pr_err("%s: wakeref-> -1\n", __func__);
 	atomic_set(&dev_priv->mm.wakeref_count, -1);
 
 	INIT_WORK(&dev_priv->mm.free_work, __i915_gem_free_work);
@@ -5058,6 +5063,7 @@ void i915_gem_load_cleanup(struct drm_i915_private *dev_priv)
 
 	while (flush_delayed_work(&dev_priv->mm.wakeref_work))
 		;
+	pr_err("%s: wakeref? %d\n", __func__, atomic_read(&dev_priv->mm.wakeref_count));
 	WARN_ON(atomic_read(&dev_priv->mm.wakeref_count) != -1);
 
 	kmem_cache_destroy(dev_priv->priorities);
-- 
2.14.1



More information about the Intel-gfx-trybot mailing list