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

Paulo Zanoni paulo.r.zanoni at intel.com
Mon Nov 6 20:00:32 UTC 2017


Em Seg, 2017-11-06 às 16:16 -0200, Gabriel Krisman Bertazi escreveu:
> Paulo Zanoni <paulo.r.zanoni at intel.com> writes:
> 
> > 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 at 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/
> 
> Oops!
> 
> > 
> > With that fixed:
> > Reviewed-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> 
> Hi Paulo,
> 
> Thanks for your review.  Can you push the version below, then?  I
> don't
> have commit rights on igt.

Pushed. Thanks for the patch!

> 
> > 8
> 
> Subject: [PATCH i-g-t] tests/kms_fbcon_fbt: Report fbc_status on
> error
> 
> 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 at collabora.co.uk>
> Reviewed-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
>  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..51f1172839ed 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("PSR 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 {


More information about the Intel-gfx mailing list