[igt-dev] [PATCH i-g-t v2 1/2] tests/i915_pm_dc: Dump power_domain_info on DC test failures

Anshuman Gupta anshuman.gupta at intel.com
Thu Feb 20 13:00:40 UTC 2020


Dump i915_power_domain_info debugfs attribute on DC state
test failures, it will help to identify culprit, which
causes non zero refcount for "DC off" power well.

v2:
- Fix the mem leak. [Jose]

Cc: Animesh Manna <animesh.manna at intel.com>
Cc: José Roberto de Souza <jose.souza at intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta at intel.com>
---
 tests/i915/i915_pm_dc.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index afcc10bc..fc6faa16 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -39,6 +39,10 @@
 #define CHECK_DC6	(1 << 1)
 #define CHECK_DC3CO	(1 << 2)
 
+#define PWR_DOMAIN_INFO "i915_power_domain_info"
+
+char *pwr_dmn_info;
+
 typedef struct {
 	double r, g, b;
 } color_t;
@@ -210,7 +214,8 @@ static void check_dc_counter(int debugfs_fd, int dc_flag, uint32_t prev_dc_count
 	snprintf(tmp, sizeof(tmp), "%s", dc_flag & CHECK_DC3CO ? "DC3CO" :
 		(dc_flag & CHECK_DC5 ? "DC5" : "DC6"));
 	igt_assert_f(dc_state_wait_entry(debugfs_fd, dc_flag, prev_dc_count),
-		     "%s state is not achieved\n", tmp);
+		     "%s state is not achieved\n%s:\n%s\n", tmp, PWR_DOMAIN_INFO,
+		     pwr_dmn_info = igt_sysfs_get(debugfs_fd, PWR_DOMAIN_INFO));
 }
 
 static void setup_videoplayback(data_t *data)
@@ -441,6 +446,8 @@ int main(int argc, char *argv[])
 	}
 
 	igt_fixture {
+		if (pwr_dmn_info)
+			free(pwr_dmn_info);
 		close(data.debugfs_fd);
 		close(data.msr_fd);
 		display_fini(&data);
-- 
2.24.0



More information about the igt-dev mailing list