drm/i915/bios: move i915_vbt debugfs to intel_bios.c
authorJani Nikula <jani.nikula@intel.com>
Thu, 11 Jan 2024 17:21:14 +0000 (19:21 +0200)
committerJani Nikula <jani.nikula@intel.com>
Tue, 16 Jan 2024 09:15:16 +0000 (11:15 +0200)
All things VBT should be placed in intel_bios.c.

While at it, shove in a FIXME comment about VBT possibly originating
from other places than opregion.

Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/5e14a9559b6916022b506e5eb8d943783dc627a2.1704992868.git.jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_bios.c
drivers/gpu/drm/i915/display/intel_bios.h
drivers/gpu/drm/i915/display/intel_display_debugfs.c

index 0e61e424802e71d5ed1d437c1bf809f9d80f1676..cf8e6f7bd490048c192ce3e1b923bae50f6091ce 100644 (file)
@@ -3656,3 +3656,28 @@ void intel_bios_for_each_encoder(struct drm_i915_private *i915,
        list_for_each_entry(devdata, &i915->display.vbt.display_devices, node)
                func(i915, devdata);
 }
+
+static int intel_bios_vbt_show(struct seq_file *m, void *unused)
+{
+       struct drm_i915_private *i915 = m->private;
+       struct intel_opregion *opregion = &i915->display.opregion;
+
+       /*
+        * FIXME: VBT might originate from other places than opregion, and then
+        * this would be incorrect.
+        */
+       if (opregion->vbt)
+               seq_write(m, opregion->vbt, opregion->vbt_size);
+
+       return 0;
+}
+
+DEFINE_SHOW_ATTRIBUTE(intel_bios_vbt);
+
+void intel_bios_debugfs_register(struct drm_i915_private *i915)
+{
+       struct drm_minor *minor = i915->drm.primary;
+
+       debugfs_create_file("i915_vbt", 0444, minor->debugfs_root,
+                           i915, &intel_bios_vbt_fops);
+}
index 96673dc707e7571d0d3501b7508d6bbed9dbcf21..41bfb009d4b047069b869d595a1ec9468a0210c9 100644 (file)
@@ -280,4 +280,6 @@ void intel_bios_for_each_encoder(struct drm_i915_private *i915,
                                 void (*func)(struct drm_i915_private *i915,
                                              const struct intel_bios_encoder_data *devdata));
 
+void intel_bios_debugfs_register(struct drm_i915_private *i915);
+
 #endif /* _INTEL_BIOS_H_ */
index d951edb3668714480b56eae2314c2a91b00e7301..9ee7e07380596720fd65763ebc795f5b1c0b8500 100644 (file)
@@ -97,17 +97,6 @@ static int i915_opregion(struct seq_file *m, void *unused)
        return 0;
 }
 
-static int i915_vbt(struct seq_file *m, void *unused)
-{
-       struct drm_i915_private *i915 = node_to_i915(m->private);
-       struct intel_opregion *opregion = &i915->display.opregion;
-
-       if (opregion->vbt)
-               seq_write(m, opregion->vbt, opregion->vbt_size);
-
-       return 0;
-}
-
 static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
 {
        struct drm_i915_private *dev_priv = node_to_i915(m->private);
@@ -1067,7 +1056,6 @@ static const struct drm_info_list intel_display_debugfs_list[] = {
        {"i915_frontbuffer_tracking", i915_frontbuffer_tracking, 0},
        {"i915_sr_status", i915_sr_status, 0},
        {"i915_opregion", i915_opregion, 0},
-       {"i915_vbt", i915_vbt, 0},
        {"i915_gem_framebuffer", i915_gem_framebuffer_info, 0},
        {"i915_power_domain_info", i915_power_domain_info, 0},
        {"i915_display_info", i915_display_info, 0},
@@ -1105,6 +1093,7 @@ void intel_display_debugfs_register(struct drm_i915_private *i915)
                                 ARRAY_SIZE(intel_display_debugfs_list),
                                 minor->debugfs_root, minor);
 
+       intel_bios_debugfs_register(i915);
        intel_cdclk_debugfs_register(i915);
        intel_dmc_debugfs_register(i915);
        intel_fbc_debugfs_register(i915);