display_fused_off:
        memset(display_runtime, 0, sizeof(*display_runtime));
 }
+
+void intel_display_device_info_print(const struct intel_display_device_info *info,
+                                    const struct intel_display_runtime_info *runtime,
+                                    struct drm_printer *p)
+{
+       if (runtime->ip.rel)
+               drm_printf(p, "display version: %u.%02u\n",
+                          runtime->ip.ver,
+                          runtime->ip.rel);
+       else
+               drm_printf(p, "display version: %u\n",
+                          runtime->ip.ver);
+
+#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->name))
+       DEV_INFO_DISPLAY_FOR_EACH_FLAG(PRINT_FLAG);
+#undef PRINT_FLAG
+
+       drm_printf(p, "has_hdcp: %s\n", str_yes_no(runtime->has_hdcp));
+       drm_printf(p, "has_dmc: %s\n", str_yes_no(runtime->has_dmc));
+       drm_printf(p, "has_dsc: %s\n", str_yes_no(runtime->has_dsc));
+}
 
 #include "intel_display_limits.h"
 
 struct drm_i915_private;
+struct drm_printer;
 
 #define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
        /* Keep in alphabetical order */ \
                           u16 *ver, u16 *rel, u16 *step);
 void intel_display_device_info_runtime_init(struct drm_i915_private *i915);
 
+void intel_display_device_info_print(const struct intel_display_device_info *info,
+                                    const struct intel_display_runtime_info *runtime,
+                                    struct drm_printer *p);
+
 #endif
 
        seq_printf(m, "pch: %d\n", INTEL_PCH_TYPE(i915));
 
        intel_device_info_print(INTEL_INFO(i915), RUNTIME_INFO(i915), &p);
+       intel_display_device_info_print(DISPLAY_INFO(i915), DISPLAY_RUNTIME_INFO(i915), &p);
        i915_print_iommu_status(i915, &p);
        intel_gt_info_print(&to_gt(i915)->info, &p);
        intel_driver_caps_print(&i915->caps, &p);
 
 
                intel_device_info_print(INTEL_INFO(dev_priv),
                                        RUNTIME_INFO(dev_priv), &p);
+               intel_display_device_info_print(DISPLAY_INFO(dev_priv),
+                                               DISPLAY_RUNTIME_INFO(dev_priv), &p);
                i915_print_iommu_status(dev_priv, &p);
                for_each_gt(gt, dev_priv, i)
                        intel_gt_info_print(>->info, &p);
 
        struct drm_printer p = i915_error_printer(m);
 
        intel_device_info_print(&error->device_info, &error->runtime_info, &p);
+       intel_display_device_info_print(&error->display_device_info,
+                                       &error->display_runtime_info, &p);
        intel_driver_caps_print(&error->driver_caps, &p);
 }
 
        memcpy(&error->runtime_info,
               RUNTIME_INFO(i915),
               sizeof(error->runtime_info));
+       memcpy(&error->display_device_info, DISPLAY_INFO(i915),
+              sizeof(error->display_device_info));
+       memcpy(&error->display_runtime_info, DISPLAY_RUNTIME_INFO(i915),
+              sizeof(error->display_runtime_info));
        error->driver_caps = i915->caps;
 }
 
 
 
 #include <drm/drm_mm.h>
 
+#include "display/intel_display_device.h"
 #include "gt/intel_engine.h"
 #include "gt/intel_gt_types.h"
 #include "gt/uc/intel_uc_fw.h"
 
        struct intel_device_info device_info;
        struct intel_runtime_info runtime_info;
+       struct intel_display_device_info display_device_info;
+       struct intel_display_runtime_info display_runtime_info;
        struct intel_driver_caps driver_caps;
        struct i915_params params;
 
 
                             const struct intel_runtime_info *runtime,
                             struct drm_printer *p)
 {
-       const struct intel_display_runtime_info *display_runtime =
-               &info->display->__runtime_defaults;
-
        if (runtime->graphics.ip.rel)
                drm_printf(p, "graphics version: %u.%02u\n",
                           runtime->graphics.ip.ver,
                drm_printf(p, "media version: %u\n",
                           runtime->media.ip.ver);
 
-       if (display_runtime->ip.rel)
-               drm_printf(p, "display version: %u.%02u\n",
-                          display_runtime->ip.ver,
-                          display_runtime->ip.rel);
-       else
-               drm_printf(p, "display version: %u\n",
-                          display_runtime->ip.ver);
-
        drm_printf(p, "graphics stepping: %s\n", intel_step_name(runtime->step.graphics_step));
        drm_printf(p, "media stepping: %s\n", intel_step_name(runtime->step.media_step));
        drm_printf(p, "display stepping: %s\n", intel_step_name(runtime->step.display_step));
 #undef PRINT_FLAG
 
        drm_printf(p, "has_pooled_eu: %s\n", str_yes_no(runtime->has_pooled_eu));
-
-#define PRINT_FLAG(name) drm_printf(p, "%s: %s\n", #name, str_yes_no(info->display->name))
-       DEV_INFO_DISPLAY_FOR_EACH_FLAG(PRINT_FLAG);
-#undef PRINT_FLAG
-
-       drm_printf(p, "has_hdcp: %s\n", str_yes_no(display_runtime->has_hdcp));
-       drm_printf(p, "has_dmc: %s\n", str_yes_no(display_runtime->has_dmc));
-       drm_printf(p, "has_dsc: %s\n", str_yes_no(display_runtime->has_dsc));
-
        drm_printf(p, "rawclk rate: %u kHz\n", runtime->rawclk_freq);
 }