[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Add GuC Error Capture Support (rev2)

Teres Alexis, Alan Previn alan.previn.teres.alexis at intel.com
Wed Mar 16 01:24:26 UTC 2022


I shall fix the length line warnings.

However i shall not fix the " WARNING:OOM_MESSAGE: Possible unnecessary 
'out of memory' message" warnings for reasons as stated because the 
caller function is not reporting the OOM error and because if such an 
error occurs, the ADS function that populates the offsets for the 
error-capture register list will default to the null list. And even if 
the null list had failed to allocate, the ADS routine would have been 
able to use the initial empty error-capture region that would have been 
interpreted as a null list. The reason why i still DO want the drm_dbg 
(as opposed to a drm_warn) is because I am assuming the the definition 
of "i915s normal operation" does not include guaranteeing a valid 
error-capture dump since this would be a driver error-handling-condition..

...alan


On 3/15/2022 11:24 AM, Patchwork wrote:
> == Series Details ==
>
> Series: Add GuC Error Capture Support (rev2)
> URL   : https://patchwork.freedesktop.org/series/101348/
> State : warning
>
> == Summary ==
>
> $ dim checkpatch origin/drm-tip
> 41d2f067e825 drm/i915/guc: Update GuC ADS size for error capture lists
> -:40: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
> #40:
> new file mode 100644
>
> -:324: WARNING:LONG_LINE: line length of 104 exceeds 100 columns
> #324: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c:653:
> +				ads_blob_write(guc, ads.capture_class[i][j], ads_ggtt + capture_offset);
>
> -:345: WARNING:LONG_LINE: line length of 107 exceeds 100 columns
> #345: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c:674:
> +				ads_blob_write(guc, ads.capture_instance[i][j], ads_ggtt + capture_offset);
>
> -:469: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'regslist' - possible side-effects?
> #469: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:63:
> +#define MAKE_REGLIST(regslist, regsowner, regstype, class) \
> +	{ \
> +		regslist, \
> +		ARRAY_SIZE(regslist), \
> +		TO_GCAP_DEF_OWNER(regsowner), \
> +		TO_GCAP_DEF_TYPE(regstype), \
> +		class, \
> +	}
>
> -:513: WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (16, 16)
> #513: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:107:
> +		if (reglists[i].owner == owner && reglists[i].type == type &&
> [...]
> +		return &reglists[i];
>
> -:689: WARNING:OOM_MESSAGE: Possible unnecessary 'out of memory' message
> #689: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:283:
> +	if (!caplist) {
> +		drm_dbg(&i915->drm, "GuC-capture: failed to alloc cached caplist");
>
> -:731: WARNING:OOM_MESSAGE: Possible unnecessary 'out of memory' message
> #731: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:325:
> +	if (!null_header) {
> +		drm_dbg(&i915->drm, "GuC-capture: failed to alloc cached nulllist");
>
> total: 0 errors, 6 warnings, 1 checks, 749 lines checked
> 7b2eb12974e1 drm/i915/guc: Add XE_LP static registers for GuC error capture.
> -:26: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
> #26: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:25:
> +#define COMMON_GEN12BASE_GLOBAL() \
> +	{GEN12_FAULT_TLB_DATA0,    0,      0, "GEN12_FAULT_TLB_DATA0"}, \
> +	{GEN12_FAULT_TLB_DATA1,    0,      0, "GEN12_FAULT_TLB_DATA1"}, \
> +	{FORCEWAKE_MT,             0,      0, "FORCEWAKE"}, \
> +	{GEN12_AUX_ERR_DBG,        0,      0, "AUX_ERR_DBG"}, \
> +	{GEN12_GAM_DONE,           0,      0, "GAM_DONE"}, \
> +	{GEN12_RING_FAULT_REG,     0,      0, "FAULT_REG"}
>
> -:34: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
> #34: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:33:
> +#define COMMON_GEN12BASE_ENGINE_INSTANCE() \
> +	{RING_PSMI_CTL(0),         0,      0, "RC PSMI"}, \
> +	{RING_ESR(0),              0,      0, "ESR"}, \
> +	{RING_DMA_FADD(0),         0,      0, "RING_DMA_FADD_LDW"}, \
> +	{RING_DMA_FADD_UDW(0),     0,      0, "RING_DMA_FADD_UDW"}, \
> +	{RING_IPEIR(0),            0,      0, "IPEIR"}, \
> +	{RING_IPEHR(0),            0,      0, "IPEHR"}, \
> +	{RING_INSTPS(0),           0,      0, "INSTPS"}, \
> +	{RING_BBADDR(0),           0,      0, "RING_BBADDR_LOW32"}, \
> +	{RING_BBADDR_UDW(0),       0,      0, "RING_BBADDR_UP32"}, \
> +	{RING_BBSTATE(0),          0,      0, "BB_STATE"}, \
> +	{CCID(0),                  0,      0, "CCID"}, \
> +	{RING_ACTHD(0),            0,      0, "ACTHD_LDW"}, \
> +	{RING_ACTHD_UDW(0),        0,      0, "ACTHD_UDW"}, \
> +	{RING_INSTPM(0),           0,      0, "INSTPM"}, \
> +	{RING_INSTDONE(0),         0,      0, "INSTDONE"}, \
> +	{RING_NOPID(0),            0,      0, "RING_NOPID"}, \
> +	{RING_START(0),            0,      0, "START"}, \
> +	{RING_HEAD(0),             0,      0, "HEAD"}, \
> +	{RING_TAIL(0),             0,      0, "TAIL"}, \
> +	{RING_CTL(0),              0,      0, "CTL"}, \
> +	{RING_MI_MODE(0),          0,      0, "MODE"}, \
> +	{RING_CONTEXT_CONTROL(0),  0,      0, "RING_CONTEXT_CONTROL"}, \
> +	{RING_HWS_PGA(0),          0,      0, "HWS"}, \
> +	{RING_MODE_GEN7(0),        0,      0, "GFX_MODE"}, \
> +	{GEN8_RING_PDP_LDW(0, 0),  0,      0, "PDP0_LDW"}, \
> +	{GEN8_RING_PDP_UDW(0, 0),  0,      0, "PDP0_UDW"}, \
> +	{GEN8_RING_PDP_LDW(0, 1),  0,      0, "PDP1_LDW"}, \
> +	{GEN8_RING_PDP_UDW(0, 1),  0,      0, "PDP1_UDW"}, \
> +	{GEN8_RING_PDP_LDW(0, 2),  0,      0, "PDP2_LDW"}, \
> +	{GEN8_RING_PDP_UDW(0, 2),  0,      0, "PDP2_UDW"}, \
> +	{GEN8_RING_PDP_LDW(0, 3),  0,      0, "PDP3_LDW"}, \
> +	{GEN8_RING_PDP_UDW(0, 3),  0,      0, "PDP3_UDW"}
>
> -:71: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
> #71: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:70:
> +#define COMMON_GEN12BASE_RENDER() \
> +	{GEN7_SC_INSTDONE,         0,      0, "GEN7_SC_INSTDONE"}, \
> +	{GEN12_SC_INSTDONE_EXTRA,  0,      0, "GEN12_SC_INSTDONE_EXTRA"}, \
> +	{GEN12_SC_INSTDONE_EXTRA2, 0,      0, "GEN12_SC_INSTDONE_EXTRA2"}
>
> -:76: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
> #76: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:75:
> +#define COMMON_GEN12BASE_VEC() \
> +	{GEN12_SFC_DONE(0),        0,      0, "SFC_DONE[0]"}, \
> +	{GEN12_SFC_DONE(1),        0,      0, "SFC_DONE[1]"}, \
> +	{GEN12_SFC_DONE(2),        0,      0, "SFC_DONE[2]"}, \
> +	{GEN12_SFC_DONE(3),        0,      0, "SFC_DONE[3]"}
>
> total: 4 errors, 0 warnings, 0 checks, 180 lines checked
> fe8afd1fccca drm/i915/guc: Add XE_LP steered register lists support
> -:70: WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (16, 16)
> #70: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:163:
> +		if (reglists[i].owner == owner && reglists[i].type == type &&
> [...]
> +		return &reglists[i];
>
> total: 0 errors, 1 warnings, 0 checks, 260 lines checked
> 9473e1b1adce drm/i915/guc: Add DG2 registers for GuC error state capture.
> d2224cffdf02 drm/i915/guc: Add Gen9 registers for GuC error state capture.
> -:23: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
> #23: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:28:
> +#define COMMON_GEN9BASE_GLOBAL() \
> +	{GEN8_FAULT_TLB_DATA0,     0,      0, "GEN8_FAULT_TLB_DATA0"}, \
> +	{GEN8_FAULT_TLB_DATA1,     0,      0, "GEN8_FAULT_TLB_DATA1"}, \
> +	{ERROR_GEN6,               0,      0, "ERROR_GEN6"}, \
> +	{DONE_REG,                 0,      0, "DONE_REG"}, \
> +	{HSW_GTT_CACHE_EN,         0,      0, "HSW_GTT_CACHE_EN"}
>
> -:39: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
> #39: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:42:
> +#define COMMON_BASE_ENGINE_INSTANCE() \
>   	{RING_PSMI_CTL(0),         0,      0, "RC PSMI"}, \
>   	{RING_ESR(0),              0,      0, "ESR"}, \
>   	{RING_DMA_FADD(0),         0,      0, "RING_DMA_FADD_LDW"}, \
>
> total: 2 errors, 0 warnings, 0 checks, 146 lines checked
> d570336063fd drm/i915/guc: Add GuC's error state capture output structures.
> 337a718c748c drm/i915/guc: Update GuC-log relay function names
> b56a530bf6ee drm/i915/guc: Add capture region into intel_guc_log
> -:58: CHECK:MULTIPLE_ASSIGNMENTS: multiple assignments should be avoided
> #58: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_log.c:217:
> +	log_buf_state = src_data = log->buf_addr;
>
> total: 0 errors, 0 warnings, 1 checks, 155 lines checked
> aebb26f6ac77 drm/i915/guc: Check sizing of guc_capture output
> 4c1ddca98b9c drm/i915/guc: Extract GuC error capture lists on G2H notification.
> 2dbcd0c5a00f drm/i915/guc: Pre-allocate output nodes for extraction
> aab27c57b88b drm/i915/guc: Plumb GuC-capture into gpu_coredump
> fc94e848f611 drm/i915/guc: Print the GuC error capture output register list.
> -:35: WARNING:BAD_SIGN_OFF: Duplicate signature
> #35:
> Reported-by: kernel test robot <lkp at intel.com>
>
> -:134: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'a' - possible side-effects?
> #134: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1440:
> +#define __out(a, ...) \
> +	do { \
> +		drm_warn((&(a)->drm), __VA_ARGS__); \
> +		i915_error_printf((a), __VA_ARGS__); \
> +	} while (0)
>
> -:144: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ebuf' - possible side-effects?
> #144: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1450:
> +#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); \
> +	} while (0)
>
> -:144: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'eng' - possible side-effects?
> #144: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1450:
> +#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); \
> +	} while (0)
>
> -:154: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ebuf' - possible side-effects?
> #154: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1460:
> +#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); \
> +	} while (0)
>
> -:154: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'node' - possible side-effects?
> #154: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c:1460:
> +#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); \
> +	} while (0)
>
> total: 0 errors, 1 warnings, 5 checks, 286 lines checked
>
>


More information about the Intel-gfx mailing list