diff --git a/src/intel/tools/aubinator_error_decode_xe.c b/src/intel/tools/aubinator_error_decode_xe.c index dd0a774cc8e..25a81d53473 100644 --- a/src/intel/tools/aubinator_error_decode_xe.c +++ b/src/intel/tools/aubinator_error_decode_xe.c @@ -219,7 +219,12 @@ read_xe_data_file(FILE *file, break; } - case XE_TOPIC_GUC_CT: { + case XE_TOPIC_GUC_CT: + /* + * Workaround bug in the kernel that would put the exec queue dump + * in the wrong place, under "GuC CT" topic. + */ + case XE_TOPIC_CONTEXT: { enum xe_vm_topic_type type; const char *value_ptr; bool is_hw_ctx; diff --git a/src/intel/tools/error2hangdump_xe.c b/src/intel/tools/error2hangdump_xe.c index 78e0866e7d8..82af68ca471 100644 --- a/src/intel/tools/error2hangdump_xe.c +++ b/src/intel/tools/error2hangdump_xe.c @@ -48,7 +48,12 @@ read_xe_data_file(FILE *dump_file, FILE *hang_dump_file, bool verbose) break; } - case XE_TOPIC_GUC_CT: { + case XE_TOPIC_GUC_CT: + /* + * Workaround bug in the kernel that would put the exec queue dump + * in the wrong place, under "GuC CT" topic. + */ + case XE_TOPIC_CONTEXT: { enum xe_vm_topic_type type; const char *value_ptr; bool is_hw_ctx; diff --git a/src/intel/tools/error_decode_xe_lib.c b/src/intel/tools/error_decode_xe_lib.c index ff8527a73f3..d4e43d45b12 100644 --- a/src/intel/tools/error_decode_xe_lib.c +++ b/src/intel/tools/error_decode_xe_lib.c @@ -79,6 +79,7 @@ error_decode_xe_decode_topic(const char *line, enum xe_topic *new_topic) "**** Job ****", "**** HW Engines ****", "**** VM state ****", + "**** Contexts ****", }; bool topic_changed = false; diff --git a/src/intel/tools/error_decode_xe_lib.h b/src/intel/tools/error_decode_xe_lib.h index 9a658d991bb..a67a245ad3c 100644 --- a/src/intel/tools/error_decode_xe_lib.h +++ b/src/intel/tools/error_decode_xe_lib.h @@ -14,6 +14,7 @@ enum xe_topic { XE_TOPIC_JOB, XE_TOPIC_HW_ENGINES, XE_TOPIC_VM, + XE_TOPIC_CONTEXT, XE_TOPIC_INVALID, };