[PATCH i-g-t] tests/intel/gem_exec_capture: Check for partial register captures

Kamil Konieczny kamil.konieczny at linux.intel.com
Thu Feb 29 12:47:31 UTC 2024


Hi John,

On 2024-02-23 at 12:38:24 -0800, John.C.Harrison at Intel.com wrote:
> From: John Harrison <John.C.Harrison at Intel.com>
> 
> If there is an error in the register list provided to GuC by the KMD
> then GuC will refuse to capture the invalid entries. This is reported
> as a 'partial-capture' when decoding the register state. Check for
> this and flag it as an error.
> 
> Signed-off-by: John Harrison <John.C.Harrison at Intel.com>
> ---
>  tests/intel/gem_exec_capture.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/tests/intel/gem_exec_capture.c b/tests/intel/gem_exec_capture.c
> index d231c53b98e1..1671f6774f64 100644
> --- a/tests/intel/gem_exec_capture.c
> +++ b/tests/intel/gem_exec_capture.c
> @@ -24,6 +24,7 @@
>  #include <sys/poll.h>
>  #include <zlib.h>
>  #include <sched.h>
> +#include <ctype.h>
------------ ^^^^
Move it up to begin (try to keep it in alphabeticall order).

With this,
Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>

>  
>  #include "i915/gem.h"
>  #include "i915/gem_create.h"
> @@ -184,6 +185,19 @@ static int check_error_state(int dir, struct offset *obj_offsets, int obj_count,
>  	igt_assert(errno != ENOMEM);
>  	igt_debug("%.*s\n", error_dump_limit, error);
>  
> +	/*
> +	 * global --- GuC Error Capture on rcs0 command stream:
> +	 * Coverage:  partial-capture
> +	 * Coverage:  full-capture
> +	 */
> +	for (str = error; (str = strstr(str, "Coverage: ")); ) {
> +		str += 10;
> +		while (isspace(*str))
> +			str++;
> +
> +		igt_assert(strncmp(str, "full-capture", 12) == 0);
> +	}
> +
>  	/* render ring --- user = 0x00000000 ffffd000 */
>  	for (str = error; (str = strstr(str, "--- user = ")); ) {
>  		uint32_t *data = NULL;
> -- 
> 2.43.0
> 


More information about the igt-dev mailing list