The debugfs should have no special privileges to look into the
implementation guts. Move the actual debug printing of power domains to
intel_display_power.c.

Cc: Imre Deak <[email protected]>
Signed-off-by: Jani Nikula <[email protected]>
---
 .../drm/i915/display/intel_display_debugfs.c  | 23 ++---------------
 .../drm/i915/display/intel_display_power.c    | 25 +++++++++++++++++++
 .../drm/i915/display/intel_display_power.h    |  2 ++
 3 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c 
b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 3f5a5e1b1c41..acf70ae66a29 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -471,28 +471,9 @@ DEFINE_SIMPLE_ATTRIBUTE(i915_edp_psr_debug_fops,
 
 static int i915_power_domain_info(struct seq_file *m, void *unused)
 {
-       struct drm_i915_private *dev_priv = node_to_i915(m->private);
-       struct i915_power_domains *power_domains = &dev_priv->power_domains;
-       int i;
-
-       mutex_lock(&power_domains->lock);
-
-       seq_printf(m, "%-25s %s\n", "Power well/domain", "Use count");
-       for (i = 0; i < power_domains->power_well_count; i++) {
-               struct i915_power_well *power_well;
-               enum intel_display_power_domain power_domain;
-
-               power_well = &power_domains->power_wells[i];
-               seq_printf(m, "%-25s %d\n", power_well->desc->name,
-                          power_well->count);
-
-               for_each_power_domain(power_domain, power_well->desc->domains)
-                       seq_printf(m, "  %-23s %d\n",
-                                intel_display_power_domain_str(power_domain),
-                                power_domains->domain_use_count[power_domain]);
-       }
+       struct drm_i915_private *i915 = node_to_i915(m->private);
 
-       mutex_unlock(&power_domains->lock);
+       intel_display_power_debug(i915, m);
 
        return 0;
 }
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c 
b/drivers/gpu/drm/i915/display/intel_display_power.c
index d30639a59ea5..5ebc758498c8 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -6397,3 +6397,28 @@ void intel_display_power_resume(struct drm_i915_private 
*i915)
                hsw_disable_pc8(i915);
        }
 }
+
+void intel_display_power_debug(struct drm_i915_private *i915, struct seq_file 
*m)
+{
+       struct i915_power_domains *power_domains = &i915->power_domains;
+       int i;
+
+       mutex_lock(&power_domains->lock);
+
+       seq_printf(m, "%-25s %s\n", "Power well/domain", "Use count");
+       for (i = 0; i < power_domains->power_well_count; i++) {
+               struct i915_power_well *power_well;
+               enum intel_display_power_domain power_domain;
+
+               power_well = &power_domains->power_wells[i];
+               seq_printf(m, "%-25s %d\n", power_well->desc->name,
+                          power_well->count);
+
+               for_each_power_domain(power_domain, power_well->desc->domains)
+                       seq_printf(m, "  %-23s %d\n",
+                                  intel_display_power_domain_str(power_domain),
+                                  
power_domains->domain_use_count[power_domain]);
+       }
+
+       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 d54b7574ed37..b28cc1f94576 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.h
+++ b/drivers/gpu/drm/i915/display/intel_display_power.h
@@ -391,6 +391,8 @@ intel_display_power_put_all_in_set(struct drm_i915_private 
*i915,
        intel_display_power_put_mask_in_set(i915, power_domain_set, 
power_domain_set->mask);
 }
 
+void intel_display_power_debug(struct drm_i915_private *i915, struct seq_file 
*m);
+
 /*
  * FIXME: We should probably switch this to a 0-based scheme to be consistent
  * with how we now name/number DBUF_CTL instances.
-- 
2.30.2

Reply via email to