diff mbox

[i-g-t,v2,RESEND] tests/kms_fbcon_fbt: Report fbc_status on error

Message ID 20171030175453.29955-1-krisman@collabora.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Gabriel Krisman Bertazi Oct. 30, 2017, 5:54 p.m. UTC
knowing the assertion triggered on wait_until_enabled() is not that
useful without knowing what exactly caused the failure.  It might be an
user error, like too little stolen memory by the bios, or an actual
issue in the kernel.  So, let's make life easier, particularly for the
CI, by printing the status before failing out.

Case in point:

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101718

Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
---
 tests/kms_fbcon_fbt.c | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

Comments

Zanoni, Paulo R Nov. 6, 2017, 4:43 p.m. UTC | #1
Em Seg, 2017-10-30 às 15:54 -0200, Gabriel Krisman Bertazi escreveu:
> knowing the assertion triggered on wait_until_enabled() is not that
> useful without knowing what exactly caused the failure.  It might be
> an
> user error, like too little stolen memory by the bios, or an actual
> issue in the kernel.  So, let's make life easier, particularly for
> the
> CI, by printing the status before failing out.
> 
> Case in point:
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101718
> 
> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.co.uk>
> ---
>  tests/kms_fbcon_fbt.c | 24 ++++++++++++++++++++++--
>  1 file changed, 22 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
> index d0090912694e..8371be5612f5 100644
> --- a/tests/kms_fbcon_fbt.c
> +++ b/tests/kms_fbcon_fbt.c
> @@ -95,6 +95,14 @@ static bool connector_can_fbc(drmModeConnectorPtr
> connector)
>  	return true;
>  }
>  
> +static void fbc_print_status(int fd)
> +{
> +	static char buf[128];
> +
> +	igt_debugfs_read(fd, "i915_fbc_status", buf);
> +	igt_debug("FBC status: %s\n", buf);
> +}
> +
>  static bool fbc_is_enabled(int fd)
>  {
>  	char buf[128];
> @@ -105,7 +113,9 @@ static bool fbc_is_enabled(int fd)
>  
>  static bool fbc_wait_until_enabled(int fd)
>  {
> -	return igt_wait(fbc_is_enabled(fd), 5000, 1);
> +	bool r = igt_wait(fbc_is_enabled(fd), 5000, 1);
> +	fbc_print_status(fd);
> +	return r;
>  }
>  
>  typedef bool (*connector_possible_fn)(drmModeConnectorPtr
> connector);
> @@ -160,6 +170,14 @@ static bool
> connector_can_psr(drmModeConnectorPtr connector)
>  	return (connector->connector_type ==
> DRM_MODE_CONNECTOR_eDP);
>  }
>  
> +static void psr_print_status(int fd)
> +{
> +	static char buf[256];
> +
> +	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
> +	igt_debug("FBC status: %s\n", buf);

s/FBC/PSR/

With that fixed:
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>



> +}
> +
>  static bool psr_is_enabled(int fd)
>  {
>  	char buf[256];
> @@ -170,7 +188,9 @@ static bool psr_is_enabled(int fd)
>  
>  static bool psr_wait_until_enabled(int fd)
>  {
> -	return igt_wait(psr_is_enabled(fd), 5000, 1);
> +	bool r = igt_wait(psr_is_enabled(fd), 5000, 1);
> +	psr_print_status(fd);
> +	return r;
>  }
>  
>  struct feature {
diff mbox

Patch

diff --git a/tests/kms_fbcon_fbt.c b/tests/kms_fbcon_fbt.c
index d0090912694e..8371be5612f5 100644
--- a/tests/kms_fbcon_fbt.c
+++ b/tests/kms_fbcon_fbt.c
@@ -95,6 +95,14 @@  static bool connector_can_fbc(drmModeConnectorPtr connector)
 	return true;
 }
 
+static void fbc_print_status(int fd)
+{
+	static char buf[128];
+
+	igt_debugfs_read(fd, "i915_fbc_status", buf);
+	igt_debug("FBC status: %s\n", buf);
+}
+
 static bool fbc_is_enabled(int fd)
 {
 	char buf[128];
@@ -105,7 +113,9 @@  static bool fbc_is_enabled(int fd)
 
 static bool fbc_wait_until_enabled(int fd)
 {
-	return igt_wait(fbc_is_enabled(fd), 5000, 1);
+	bool r = igt_wait(fbc_is_enabled(fd), 5000, 1);
+	fbc_print_status(fd);
+	return r;
 }
 
 typedef bool (*connector_possible_fn)(drmModeConnectorPtr connector);
@@ -160,6 +170,14 @@  static bool connector_can_psr(drmModeConnectorPtr connector)
 	return (connector->connector_type == DRM_MODE_CONNECTOR_eDP);
 }
 
+static void psr_print_status(int fd)
+{
+	static char buf[256];
+
+	igt_debugfs_read(fd, "i915_edp_psr_status", buf);
+	igt_debug("FBC status: %s\n", buf);
+}
+
 static bool psr_is_enabled(int fd)
 {
 	char buf[256];
@@ -170,7 +188,9 @@  static bool psr_is_enabled(int fd)
 
 static bool psr_wait_until_enabled(int fd)
 {
-	return igt_wait(psr_is_enabled(fd), 5000, 1);
+	bool r = igt_wait(psr_is_enabled(fd), 5000, 1);
+	psr_print_status(fd);
+	return r;
 }
 
 struct feature {