All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH] lib/igt_pm: dump runtime pm status on timeout
@ 2019-10-08 16:07 don.hiatt
  2019-10-08 17:00 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: don.hiatt @ 2019-10-08 16:07 UTC (permalink / raw)
  To: igt-dev

From: Don Hiatt <don.hiatt@intel.com>

Display the runtime pm status if we timeout waiting for status.

Signed-off-by: Don Hiatt <don.hiatt@intel.com>
Reviewed-by: Vanshidhar Konda <vanshidhar.r.konda@intel.com>
---
 lib/igt_pm.c | 16 ++++++++++++----
 lib/igt_pm.h |  2 +-
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/lib/igt_pm.c b/lib/igt_pm.c
index 64ce240e093f..0d3561fdf821 100644
--- a/lib/igt_pm.c
+++ b/lib/igt_pm.c
@@ -658,16 +658,17 @@ void igt_disable_runtime_pm(void)
 
 /**
  * igt_get_runtime_pm_status:
+ * @buf: buffer to place pm status string in
+ * @len: length of buf
  *
  * Returns: The current runtime PM status.
  */
-enum igt_runtime_pm_status igt_get_runtime_pm_status(void)
+enum igt_runtime_pm_status igt_get_runtime_pm_status(char *buf, int len)
 {
 	ssize_t n_read;
-	char buf[32];
 
 	lseek(pm_status_fd, 0, SEEK_SET);
-	n_read = read(pm_status_fd, buf, ARRAY_SIZE(buf) - 1);
+	n_read = read(pm_status_fd, buf, len - 1);
 	igt_assert(n_read >= 0);
 	buf[n_read] = '\0';
 
@@ -697,7 +698,14 @@ enum igt_runtime_pm_status igt_get_runtime_pm_status(void)
  */
 bool igt_wait_for_pm_status(enum igt_runtime_pm_status status)
 {
-	return igt_wait(igt_get_runtime_pm_status() == status, 10000, 100);
+	bool ret;
+	char buf[32];
+
+	ret = igt_wait(igt_get_runtime_pm_status(buf, ARRAY_SIZE(buf)) == status, 10000, 100);
+	if (!ret)
+		igt_warn("timeout: pm_status=%s", buf);
+
+	return ret;
 }
 
 /**
diff --git a/lib/igt_pm.h b/lib/igt_pm.h
index 7dc241749180..b2ff835e8a33 100644
--- a/lib/igt_pm.h
+++ b/lib/igt_pm.h
@@ -49,7 +49,7 @@ enum igt_runtime_pm_status {
 bool igt_setup_runtime_pm(void);
 void igt_disable_runtime_pm(void);
 void igt_restore_runtime_pm(void);
-enum igt_runtime_pm_status igt_get_runtime_pm_status(void);
+enum igt_runtime_pm_status igt_get_runtime_pm_status(char *buf, int len);
 bool igt_wait_for_pm_status(enum igt_runtime_pm_status status);
 bool igt_pm_dmc_loaded(int debugfs);
 bool igt_pm_pc8_plus_residencies_enabled(int msr_fd);
-- 
2.20.1

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-10-10 11:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-08 16:07 [igt-dev] [PATCH] lib/igt_pm: dump runtime pm status on timeout don.hiatt
2019-10-08 17:00 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork
2019-10-08 22:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-10-10 11:01 ` [igt-dev] [PATCH] " Arkadiusz Hiler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.