[Intel-gfx] [PATCH] drm/i915: dump power domain info on mismatches for all devices

Jani Nikula jani.nikula at intel.com
Wed Oct 21 15:22:10 UTC 2020


It's an unlikely scenario to have refcount mismatch issues in multiple
devices at once, but a) don't let problems with one device mask the
problems with another, and b) remove the bad example of static data
usage when the data should be per-device.

Signed-off-by: Jani Nikula <jani.nikula at intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_power.c | 10 +++-------
 drivers/gpu/drm/i915/display/intel_display_power.h |  2 ++
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index 689922480661..e17771ef4da5 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -5836,13 +5836,9 @@ static void intel_power_domains_verify_state(struct drm_i915_private *i915)
 		}
 	}
 
-	if (dump_domain_info) {
-		static bool dumped;
-
-		if (!dumped) {
-			intel_power_domains_dump_info(i915);
-			dumped = true;
-		}
+	if (dump_domain_info && !power_domains->domain_info_dumped) {
+		intel_power_domains_dump_info(i915);
+		power_domains->domain_info_dumped = true;
 	}
 
 	mutex_unlock(&power_domains->lock);
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h b/drivers/gpu/drm/i915/display/intel_display_power.h
index 4aa0a09cf14f..d87980d6b92e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power.h
@@ -222,6 +222,8 @@ struct i915_power_domains {
 	u64 async_put_domains[2];
 
 	struct i915_power_well *power_wells;
+
+	bool domain_info_dumped;
 };
 
 #define for_each_power_domain(domain, mask)				\
-- 
2.20.1



More information about the Intel-gfx mailing list