[Intel-gfx] [PATCH 7/7] drm/i915/guc: Reduce spam from error capture

Teres Alexis, Alan Previn alan.previn.teres.alexis at intel.com
Tue Aug 2 18:54:17 UTC 2022


Reviewed-by: Alan Previn <alan.previn.teres.alexis at intel.com>

On Wed, 2022-07-27 at 19:20 -0700, John.C.Harrison at Intel.com wrote:
> From: John Harrison <John.C.Harrison at Intel.com>
> 
> Some debug code got left in when the GuC based register save for error
> capture was added. Remove that.
> 
> Signed-off-by: John Harrison <John.C.Harrison at Intel.com>
> ---
>  .../gpu/drm/i915/gt/uc/intel_guc_capture.c    | 67 ++++++++-----------
>  1 file changed, 28 insertions(+), 39 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
> index d2ac53d4f3b6e..8f11651460131 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
> @@ -1383,33 +1383,22 @@ guc_capture_reg_to_str(const struct intel_guc *guc, u32 owner, u32 type,
>  	return NULL;
>  }
>  
> -#ifdef CONFIG_DRM_I915_DEBUG_GUC
> -#define __out(a, ...) \
> -	do { \
> -		drm_warn((&(a)->i915->drm), __VA_ARGS__); \
> -		i915_error_printf((a), __VA_ARGS__); \
> -	} while (0)
> -#else
> -#define __out(a, ...) \
> -	i915_error_printf(a, __VA_ARGS__)
> -#endif
> -
>  #define GCAP_PRINT_INTEL_ENG_INFO(ebuf, eng) \
>  	do { \
> -		__out(ebuf, "    i915-Eng-Name: %s command stream\n", \
> -		      (eng)->name); \
> -		__out(ebuf, "    i915-Eng-Inst-Class: 0x%02x\n", (eng)->class); \
> -		__out(ebuf, "    i915-Eng-Inst-Id: 0x%02x\n", (eng)->instance); \
> -		__out(ebuf, "    i915-Eng-LogicalMask: 0x%08x\n", \
> -		      (eng)->logical_mask); \
> +		i915_error_printf(ebuf, "    i915-Eng-Name: %s command stream\n", \
> +				  (eng)->name); \
> +		i915_error_printf(ebuf, "    i915-Eng-Inst-Class: 0x%02x\n", (eng)->class); \
> +		i915_error_printf(ebuf, "    i915-Eng-Inst-Id: 0x%02x\n", (eng)->instance); \
> +		i915_error_printf(ebuf, "    i915-Eng-LogicalMask: 0x%08x\n", \
> +				  (eng)->logical_mask); \
>  	} while (0)
>  
>  #define GCAP_PRINT_GUC_INST_INFO(ebuf, node) \
>  	do { \
> -		__out(ebuf, "    GuC-Engine-Inst-Id: 0x%08x\n", \
> -		      (node)->eng_inst); \
> -		__out(ebuf, "    GuC-Context-Id: 0x%08x\n", (node)->guc_id); \
> -		__out(ebuf, "    LRCA: 0x%08x\n", (node)->lrca); \
> +		i915_error_printf(ebuf, "    GuC-Engine-Inst-Id: 0x%08x\n", \
> +				  (node)->eng_inst); \
> +		i915_error_printf(ebuf, "    GuC-Context-Id: 0x%08x\n", (node)->guc_id); \
> +		i915_error_printf(ebuf, "    LRCA: 0x%08x\n", (node)->lrca); \
>  	} while (0)
>  
>  int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *ebuf,
> @@ -1441,57 +1430,57 @@ int intel_guc_capture_print_engine_node(struct drm_i915_error_state_buf *ebuf,
>  
>  	guc = &ee->engine->gt->uc.guc;
>  
> -	__out(ebuf, "global --- GuC Error Capture on %s command stream:\n",
> -	      ee->engine->name);
> +	i915_error_printf(ebuf, "global --- GuC Error Capture on %s command stream:\n",
> +			  ee->engine->name);
>  
>  	node = ee->guc_capture_node;
>  	if (!node) {
> -		__out(ebuf, "  No matching ee-node\n");
> +		i915_error_printf(ebuf, "  No matching ee-node\n");
>  		return 0;
>  	}
>  
> -	__out(ebuf, "Coverage:  %s\n", grptype[node->is_partial]);
> +	i915_error_printf(ebuf, "Coverage:  %s\n", grptype[node->is_partial]);
>  
>  	for (i = GUC_CAPTURE_LIST_TYPE_GLOBAL; i < GUC_CAPTURE_LIST_TYPE_MAX; ++i) {
> -		__out(ebuf, "  RegListType: %s\n",
> -		      datatype[i % GUC_CAPTURE_LIST_TYPE_MAX]);
> -		__out(ebuf, "    Owner-Id: %d\n", node->reginfo[i].vfid);
> +		i915_error_printf(ebuf, "  RegListType: %s\n",
> +				  datatype[i % GUC_CAPTURE_LIST_TYPE_MAX]);
> +		i915_error_printf(ebuf, "    Owner-Id: %d\n", node->reginfo[i].vfid);
>  
>  		switch (i) {
>  		case GUC_CAPTURE_LIST_TYPE_GLOBAL:
>  		default:
>  			break;
>  		case GUC_CAPTURE_LIST_TYPE_ENGINE_CLASS:
> -			__out(ebuf, "    GuC-Eng-Class: %d\n", node->eng_class);
> -			__out(ebuf, "    i915-Eng-Class: %d\n",
> -			      guc_class_to_engine_class(node->eng_class));
> +			i915_error_printf(ebuf, "    GuC-Eng-Class: %d\n", node->eng_class);
> +			i915_error_printf(ebuf, "    i915-Eng-Class: %d\n",
> +					  guc_class_to_engine_class(node->eng_class));
>  			break;
>  		case GUC_CAPTURE_LIST_TYPE_ENGINE_INSTANCE:
>  			eng = intel_guc_lookup_engine(guc, node->eng_class, node->eng_inst);
>  			if (eng)
>  				GCAP_PRINT_INTEL_ENG_INFO(ebuf, eng);
>  			else
> -				__out(ebuf, "    i915-Eng-Lookup Fail!\n");
> +				i915_error_printf(ebuf, "    i915-Eng-Lookup Fail!\n");
>  			GCAP_PRINT_GUC_INST_INFO(ebuf, node);
>  			break;
>  		}
>  
>  		numregs = node->reginfo[i].num_regs;
> -		__out(ebuf, "    NumRegs: %d\n", numregs);
> +		i915_error_printf(ebuf, "    NumRegs: %d\n", numregs);
>  		j = 0;
>  		while (numregs--) {
>  			regs = node->reginfo[i].regs;
>  			str = guc_capture_reg_to_str(guc, GUC_CAPTURE_LIST_INDEX_PF, i,
>  						     node->eng_class, 0, regs[j].offset, &is_ext);
>  			if (!str)
> -				__out(ebuf, "      REG-0x%08x", regs[j].offset);
> +				i915_error_printf(ebuf, "      REG-0x%08x", regs[j].offset);
>  			else
> -				__out(ebuf, "      %s", str);
> +				i915_error_printf(ebuf, "      %s", str);
>  			if (is_ext)
> -				__out(ebuf, "[%ld][%ld]",
> -				      FIELD_GET(GUC_REGSET_STEERING_GROUP, regs[j].flags),
> -				      FIELD_GET(GUC_REGSET_STEERING_INSTANCE, regs[j].flags));
> -			__out(ebuf, ":  0x%08x\n", regs[j].value);
> +				i915_error_printf(ebuf, "[%ld][%ld]",
> +					FIELD_GET(GUC_REGSET_STEERING_GROUP, regs[j].flags),
> +					FIELD_GET(GUC_REGSET_STEERING_INSTANCE, regs[j].flags));
> +			i915_error_printf(ebuf, ":  0x%08x\n", regs[j].value);
>  			++j;
>  		}
>  	}
> -- 
> 2.37.1
> 



More information about the dri-devel mailing list