Add dedicated intel_display_caps for display, with device info and
params. Intentionally prefix the file intel_ instead of i915_. Going
forward, we should do the same for all debugfs files, making them
independent of i915 and xe.

Remove display param dumping from i915 specific i915_capabilities
debugfs.

Note that we don't add node_to_intel_display() functionality in
to_intel_display(). It's too specific for that.

Signed-off-by: Jani Nikula <[email protected]>
---
 .../drm/i915/display/intel_display_debugfs.c   | 18 ++++++++++++++++++
 drivers/gpu/drm/i915/i915_debugfs.c            |  4 ----
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c 
b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index b75361e95e97..11ffed95dd16 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -41,11 +41,28 @@
 #include "intel_vdsc.h"
 #include "intel_wm.h"
 
+static struct intel_display *node_to_intel_display(struct drm_info_node *node)
+{
+       return to_intel_display(node->minor->dev);
+}
+
 static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node)
 {
        return to_i915(node->minor->dev);
 }
 
+static int intel_display_caps(struct seq_file *m, void *data)
+{
+       struct intel_display *display = node_to_intel_display(m->private);
+       struct drm_printer p = drm_seq_file_printer(m);
+
+       intel_display_device_info_print(DISPLAY_INFO(display),
+                                       DISPLAY_RUNTIME_INFO(display), &p);
+       intel_display_params_dump(&display->params, display->drm->driver->name, 
&p);
+
+       return 0;
+}
+
 static int i915_frontbuffer_tracking(struct seq_file *m, void *unused)
 {
        struct drm_i915_private *dev_priv = node_to_i915(m->private);
@@ -1027,6 +1044,7 @@ static const struct file_operations 
i915_fifo_underrun_reset_ops = {
 };
 
 static const struct drm_info_list intel_display_debugfs_list[] = {
+       {"intel_display_caps", intel_display_caps, 0},
        {"i915_frontbuffer_tracking", i915_frontbuffer_tracking, 0},
        {"i915_sr_status", i915_sr_status, 0},
        {"i915_gem_framebuffer", i915_gem_framebuffer_info, 0},
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index b5fc7cc8020a..1c2a97f593c7 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -33,8 +33,6 @@
 #include <linux/debugfs.h>
 #include <drm/drm_debugfs.h>
 
-#include "display/intel_display_params.h"
-
 #include "gem/i915_gem_context.h"
 #include "gt/intel_gt.h"
 #include "gt/intel_gt_buffer_pool.h"
@@ -66,7 +64,6 @@ static inline struct drm_i915_private *node_to_i915(struct 
drm_info_node *node)
 static int i915_capabilities(struct seq_file *m, void *data)
 {
        struct drm_i915_private *i915 = node_to_i915(m->private);
-       struct intel_display *display = &i915->display;
        struct drm_printer p = drm_seq_file_printer(m);
 
        seq_printf(m, "pch: %d\n", INTEL_PCH_TYPE(i915));
@@ -77,7 +74,6 @@ static int i915_capabilities(struct seq_file *m, void *data)
        intel_driver_caps_print(&i915->caps, &p);
 
        i915_params_dump(&i915->params, &p);
-       intel_display_params_dump(&display->params, display->drm->driver->name, 
&p);
 
        return 0;
 }
-- 
2.39.2

Reply via email to