Commit 4ae7eb92 authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/i915: separate display info printing from the rest



Add new function intel_display_device_info_print() and print the display
device info there instead of intel_device_info_print(). This also fixes
the display runtime info printing to use the actual runtime info instead
of the static defaults.

Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/30d4f93c58839bc9312b43423cd43bc0ef655a35.1687878757.git.jani.nikula@intel.com
parent 8776711e
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -981,3 +981,24 @@ void intel_display_device_info_runtime_init(struct drm_i915_private *i915)
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));
}
+5 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include "intel_display_limits.h"

struct drm_i915_private;
struct drm_printer;

#define DEV_INFO_DISPLAY_FOR_EACH_FLAG(func) \
	/* Keep in alphabetical order */ \
@@ -127,4 +128,8 @@ intel_display_device_probe(struct drm_i915_private *i915, bool has_gmdid,
			   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
+1 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ static int i915_capabilities(struct seq_file *m, void *data)
	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);
+2 −0
Original line number Diff line number Diff line
@@ -711,6 +711,8 @@ static void i915_welcome_messages(struct drm_i915_private *dev_priv)

		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(&gt->info, &p);
+6 −0
Original line number Diff line number Diff line
@@ -649,6 +649,8 @@ static void err_print_capabilities(struct drm_i915_error_state_buf *m,
	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);
}

@@ -1983,6 +1985,10 @@ static void capture_gen(struct i915_gpu_coredump *error)
	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;
}

Loading