drm/i915/pm: Print offending domain in refcount failure
authorDaniel Stone <daniels@collabora.com>
Fri, 20 Nov 2015 15:55:34 +0000 (15:55 +0000)
committerImre Deak <imre.deak@intel.com>
Mon, 23 Nov 2015 15:09:34 +0000 (17:09 +0200)
If we experience a refcounting failure in a power domain/well (unref'ing at
least one too many times), log the name of the offending domain or well.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1448034934-11926-2-git-send-email-daniels@collabora.com
drivers/gpu/drm/i915/intel_runtime_pm.c

index ec38409242d5d1b9df8c3f83b03b3ced4496687f..3fa43af9494659d4a5f5df1a1f48c1b6f1d90750 100644 (file)
@@ -1499,11 +1499,15 @@ void intel_display_power_put(struct drm_i915_private *dev_priv,
 
        mutex_lock(&power_domains->lock);
 
-       WARN_ON(!power_domains->domain_use_count[domain]);
+       WARN(!power_domains->domain_use_count[domain],
+            "Use count on domain %s is already zero\n",
+            intel_display_power_domain_str(domain));
        power_domains->domain_use_count[domain]--;
 
        for_each_power_well_rev(i, power_well, BIT(domain), power_domains) {
-               WARN_ON(!power_well->count);
+               WARN(!power_well->count,
+                    "Use count on power well %s is already zero",
+                    power_well->name);
 
                if (!--power_well->count)
                        intel_power_well_disable(dev_priv, power_well);