Commit 78385041 authored by Oded Gabbay's avatar Oded Gabbay
Browse files

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
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -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;
	}
}
+9 −2
Original line number Diff line number Diff line
@@ -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 {