Commit 78385041 authored by Oded Gabbay's avatar Oded Gabbay

habanalabs: update SyncManager interrupt handling

The firmware provides more information about SyncManager events.
Adjust the code to the latest firmware interface file.
Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
parent 663a301d
...@@ -6860,24 +6860,24 @@ static void gaudi_print_sm_sei_info(struct hl_device *hdev, u16 event_type, ...@@ -6860,24 +6860,24 @@ static void gaudi_print_sm_sei_info(struct hl_device *hdev, u16 event_type,
u32 index = event_type - GAUDI_EVENT_DMA_IF_SEI_0; u32 index = event_type - GAUDI_EVENT_DMA_IF_SEI_0;
switch (sei_data->sei_cause) { switch (sei_data->sei_cause) {
case GAUDI_SM_SEI_SO_OVERFLOW: case SM_SEI_SO_OVERFLOW:
dev_err(hdev->dev, dev_err(hdev->dev,
"SM %u SEI Error: SO %u overflow/underflow", "SM %u SEI Error: SO %u overflow/underflow",
index, le16_to_cpu(sei_data->sei_log)); index, le32_to_cpu(sei_data->sei_log));
break; break;
case GAUDI_SM_SEI_LBW_4B_UNALIGNED: case SM_SEI_LBW_4B_UNALIGNED:
dev_err(hdev->dev, dev_err(hdev->dev,
"SM %u SEI Error: Unaligned 4B LBW access, monitor agent address low - %#x", "SM %u SEI Error: Unaligned 4B LBW access, monitor agent address low - %#x",
index, le16_to_cpu(sei_data->sei_log)); index, le32_to_cpu(sei_data->sei_log));
break; break;
case GAUDI_SM_SEI_AXI_RESPONSE_ERR: case SM_SEI_AXI_RESPONSE_ERR:
dev_err(hdev->dev, dev_err(hdev->dev,
"SM %u SEI Error: AXI ID %u response error", "SM %u SEI Error: AXI ID %u response error",
index, le16_to_cpu(sei_data->sei_log)); index, le32_to_cpu(sei_data->sei_log));
break; break;
default: default:
dev_err(hdev->dev, "Unknown SM SEI cause %u", dev_err(hdev->dev, "Unknown SM SEI cause %u",
le16_to_cpu(sei_data->sei_log)); le32_to_cpu(sei_data->sei_log));
break; break;
} }
} }
......
...@@ -58,10 +58,17 @@ struct hl_eq_ecc_data { ...@@ -58,10 +58,17 @@ struct hl_eq_ecc_data {
__u8 pad[7]; __u8 pad[7];
}; };
enum hl_sm_sei_cause {
SM_SEI_SO_OVERFLOW,
SM_SEI_LBW_4B_UNALIGNED,
SM_SEI_AXI_RESPONSE_ERR
};
struct hl_eq_sm_sei_data { struct hl_eq_sm_sei_data {
__le16 sei_log; __le32 sei_log;
/* enum hl_sm_sei_cause */
__u8 sei_cause; __u8 sei_cause;
__u8 pad[5]; __u8 pad[3];
}; };
struct hl_eq_entry { struct hl_eq_entry {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment