Skip to content

Commit 0ec3467

Browse files
dhirschfeld1ogabbay
authored andcommitted
accel/habanalabs/gaudi2: fix undef opcode reporting
currently the undefined opcode event bit in set only for lower cp and only if 'write_enable' is true. It should be set anyway and for all streams in order to report that event to userspace. Signed-off-by: Dafna Hirschfeld <dhirschfeld@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
1 parent d1958dc commit 0ec3467

1 file changed

Lines changed: 6 additions & 8 deletions

File tree

drivers/accel/habanalabs/gaudi2/gaudi2.c

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7929,21 +7929,19 @@ static int gaudi2_handle_qman_err_generic(struct hl_device *hdev, u16 event_type
79297929
error_count++;
79307930
}
79317931

7932-
if (i == QMAN_STREAMS && error_count) {
7933-
/* check for undefined opcode */
7934-
if (glbl_sts_val & PDMA0_QM_GLBL_ERR_STS_CP_UNDEF_CMD_ERR_MASK &&
7935-
hdev->captured_err_info.undef_opcode.write_enable) {
7932+
/* check for undefined opcode */
7933+
if (glbl_sts_val & PDMA0_QM_GLBL_ERR_STS_CP_UNDEF_CMD_ERR_MASK) {
7934+
*event_mask |= HL_NOTIFIER_EVENT_UNDEFINED_OPCODE;
7935+
if (hdev->captured_err_info.undef_opcode.write_enable) {
79367936
memset(&hdev->captured_err_info.undef_opcode, 0,
79377937
sizeof(hdev->captured_err_info.undef_opcode));
7938-
7939-
hdev->captured_err_info.undef_opcode.write_enable = false;
79407938
hdev->captured_err_info.undef_opcode.timestamp = ktime_get();
79417939
hdev->captured_err_info.undef_opcode.engine_id =
79427940
gaudi2_queue_id_to_engine_id[qid_base];
7943-
*event_mask |= HL_NOTIFIER_EVENT_UNDEFINED_OPCODE;
79447941
}
79457942

7946-
handle_lower_qman_data_on_err(hdev, qman_base, *event_mask);
7943+
if (i == QMAN_STREAMS)
7944+
handle_lower_qman_data_on_err(hdev, qman_base, *event_mask);
79477945
}
79487946
}
79497947

0 commit comments

Comments
 (0)