Message ID | 20220728022028.2190627-8-John.C.Harrison@Intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fixes and improvements to GuC logging and error capture | expand |
Reviewed-by: Alan Previn <alan.previn.teres.alexis@intel.com> On Wed, 2022-07-27 at 19:20 -0700, John.C.Harrison@Intel.com wrote: > From: John Harrison <John.C.Harrison@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@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 >
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; } }