[PATCH 27/28] debug

José Roberto de Souza jose.souza at intel.com
Tue Aug 7 20:52:46 UTC 2018


---
 drivers/gpu/drm/i915/i915_drv.c               | 21 +++++++++++++++++++
 .../gpu/drm/i915/selftests/i915_selftest.c    |  5 ++++-
 2 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 9f20784d668c..79b5f5db6a33 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1319,6 +1319,25 @@ static void i915_welcome_messages(struct drm_i915_private *dev_priv)
 		DRM_INFO("DRM_I915_DEBUG_GEM enabled\n");
 }
 
+void power_well_debug(struct drm_i915_private *dev_priv)
+{
+	struct i915_power_domains *power_domains = &dev_priv->power_domains;
+	int i;
+
+	DRM_DEBUG_KMS("power_well_debug {\n");
+	mutex_lock(&power_domains->lock);
+	for (i = 0; i < power_domains->power_well_count; i++) {
+		struct i915_power_well *power_well;
+
+		power_well = &power_domains->power_wells[i];
+		DRM_DEBUG_KMS("\t%-23s count=%d\n", power_well->name, power_well->count);
+	}
+
+	DRM_DEBUG_KMS("\tusage=%d\n", atomic_read(&dev_priv->drm.dev->power.usage_count));
+	mutex_unlock(&power_domains->lock);
+	DRM_DEBUG_KMS("}\n");
+}
+
 /**
  * i915_driver_load - setup chip and create an initial config
  * @pdev: PCI device
@@ -1420,6 +1439,8 @@ int i915_driver_load(struct pci_dev *pdev, const struct pci_device_id *ent)
 
 	i915_welcome_messages(dev_priv);
 
+	power_well_debug(dev_priv);
+
 	return 0;
 
 cleanup_gem:
diff --git a/drivers/gpu/drm/i915/selftests/i915_selftest.c b/drivers/gpu/drm/i915/selftests/i915_selftest.c
index 86c54ea37f48..d1c762e267c4 100644
--- a/drivers/gpu/drm/i915/selftests/i915_selftest.c
+++ b/drivers/gpu/drm/i915/selftests/i915_selftest.c
@@ -178,12 +178,15 @@ int i915_mock_selftests(void)
 
 int i915_live_selftests(struct pci_dev *pdev)
 {
+	struct drm_i915_private *dev_priv = to_i915(pci_get_drvdata(pdev));
 	int err;
 
 	if (!i915_selftest.live)
 		return 0;
 
-	err = run_selftests(live, to_i915(pci_get_drvdata(pdev)));
+	intel_runtime_pm_get(dev_priv);
+	err = run_selftests(live, dev_priv);
+	intel_runtime_pm_put(dev_priv);
 	if (err) {
 		i915_selftest.live = err;
 		return err;
-- 
2.18.0



More information about the Intel-gfx-trybot mailing list