[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210126210215.4892-1-ogabbay@kernel.org>
Date: Tue, 26 Jan 2021 23:02:13 +0200
From: Oded Gabbay <ogabbay@...nel.org>
To: linux-kernel@...r.kernel.org
Subject: [PATCH 1/3] 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: Oded Gabbay <ogabbay@...nel.org>
---
drivers/misc/habanalabs/gaudi/gaudi.c | 14 +++++++-------
drivers/misc/habanalabs/include/common/cpucp_if.h | 11 +++++++++--
2 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/drivers/misc/habanalabs/gaudi/gaudi.c b/drivers/misc/habanalabs/gaudi/gaudi.c
index 1348016309e3..a9bd5aef6c02 100644
--- a/drivers/misc/habanalabs/gaudi/gaudi.c
+++ b/drivers/misc/habanalabs/gaudi/gaudi.c
@@ -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;
switch (sei_data->sei_cause) {
- case GAUDI_SM_SEI_SO_OVERFLOW:
+ case SM_SEI_SO_OVERFLOW:
dev_err(hdev->dev,
"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;
- case GAUDI_SM_SEI_LBW_4B_UNALIGNED:
+ case SM_SEI_LBW_4B_UNALIGNED:
dev_err(hdev->dev,
"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;
- case GAUDI_SM_SEI_AXI_RESPONSE_ERR:
+ case SM_SEI_AXI_RESPONSE_ERR:
dev_err(hdev->dev,
"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;
default:
dev_err(hdev->dev, "Unknown SM SEI cause %u",
- le16_to_cpu(sei_data->sei_log));
+ le32_to_cpu(sei_data->sei_log));
break;
}
}
diff --git a/drivers/misc/habanalabs/include/common/cpucp_if.h b/drivers/misc/habanalabs/include/common/cpucp_if.h
index d75d1077461b..b77c1c16c32c 100644
--- a/drivers/misc/habanalabs/include/common/cpucp_if.h
+++ b/drivers/misc/habanalabs/include/common/cpucp_if.h
@@ -58,10 +58,17 @@ struct hl_eq_ecc_data {
__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 {
- __le16 sei_log;
+ __le32 sei_log;
+ /* enum hl_sm_sei_cause */
__u8 sei_cause;
- __u8 pad[5];
+ __u8 pad[3];
};
struct hl_eq_entry {
--
2.25.1
Powered by blists - more mailing lists