diff mbox

drm/i915: dump the device info

Message ID 1344442273-31700-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter Aug. 8, 2012, 4:11 p.m. UTC
Handy for lazy people like me, or when people forget to add the output
of lspci -nn.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i915/i915_dma.c |   39 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 38 insertions(+), 1 deletion(-)

Comments

Chris Wilson Aug. 8, 2012, 6:29 p.m. UTC | #1
On Wed,  8 Aug 2012 18:11:13 +0200, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> Handy for lazy people like me, or when people forget to add the output
> of lspci -nn.

Is there any chance of sharing this with the similar code for
debugfs/i915_capabilities?
-Chris
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index d57ea16..dfa2ab2 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1428,6 +1428,42 @@  static void i915_kick_out_firmware_fb(struct drm_i915_private *dev_priv)
 	kfree(ap);
 }
 
+static void i915_dump_device_info(struct drm_i915_private *dev_priv)
+{
+	const struct intel_device_info *info = dev_priv->info;
+
+#define DEV_FLAG_STR(name) info->name ? #name "," : ""
+	DRM_DEBUG_DRIVER("i915 device info: gen=%i, pciid=0x%04x flags="
+			 "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
+			 info->gen,
+			 dev_priv->dev->pdev->device,
+			 DEV_FLAG_STR(is_mobile),
+			 DEV_FLAG_STR(is_i85x),
+			 DEV_FLAG_STR(is_i915g),
+			 DEV_FLAG_STR(is_i945gm),
+			 DEV_FLAG_STR(is_g33),
+			 DEV_FLAG_STR(need_gfx_hws),
+			 DEV_FLAG_STR(is_g4x),
+			 DEV_FLAG_STR(is_pineview),
+			 DEV_FLAG_STR(is_broadwater),
+			 DEV_FLAG_STR(is_crestline),
+			 DEV_FLAG_STR(is_ivybridge),
+			 DEV_FLAG_STR(is_valleyview),
+			 DEV_FLAG_STR(is_haswell),
+			 DEV_FLAG_STR(has_force_wake),
+			 DEV_FLAG_STR(has_fbc),
+			 DEV_FLAG_STR(has_pipe_cxsr),
+			 DEV_FLAG_STR(has_hotplug),
+			 DEV_FLAG_STR(cursor_needs_physical),
+			 DEV_FLAG_STR(has_overlay),
+			 DEV_FLAG_STR(overlay_needs_physical),
+			 DEV_FLAG_STR(supports_tv),
+			 DEV_FLAG_STR(has_bsd_ring),
+			 DEV_FLAG_STR(has_blt_ring),
+			 DEV_FLAG_STR(has_llc));
+#undef DEV_FLAG_STR
+}
+
 /**
  * i915_driver_load - setup chip and create an initial config
  * @dev: DRM device
@@ -1452,7 +1488,6 @@  int i915_driver_load(struct drm_device *dev, unsigned long flags)
 	if (info->gen >= 6 && !drm_core_check_feature(dev, DRIVER_MODESET))
 		return -ENODEV;
 
-
 	/* i915 has 4 more counters */
 	dev->counters += 4;
 	dev->types[6] = _DRM_STAT_IRQ;
@@ -1468,6 +1503,8 @@  int i915_driver_load(struct drm_device *dev, unsigned long flags)
 	dev_priv->dev = dev;
 	dev_priv->info = info;
 
+	i915_dump_device_info(dev_priv);
+
 	if (i915_get_bridge_dev(dev)) {
 		ret = -EIO;
 		goto free_priv;