These patches are mainly related to IO operations. Signed-off-by: zhengfeng luo <luozhengfeng@h-partners.com> Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
46 lines
1.5 KiB
Diff
46 lines
1.5 KiB
Diff
From 29fd05367349c7909949206a13092031b689eca7 Mon Sep 17 00:00:00 2001
|
|
From: Lang Cheng <chenglang@huawei.com>
|
|
Date: Tue, 30 Nov 2021 20:46:14 +0800
|
|
Subject: libhns: Add vendor_err information for error WC
|
|
|
|
ULP can get more error information of CQ though verbs.
|
|
|
|
Signed-off-by: Lang Cheng <chenglang@huawei.com>
|
|
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
|
|
---
|
|
providers/hns/hns_roce_u_hw_v2.c | 3 +++
|
|
providers/hns/hns_roce_u_hw_v2.h | 3 +++
|
|
2 files changed, 6 insertions(+)
|
|
|
|
diff --git a/providers/hns/hns_roce_u_hw_v2.c b/providers/hns/hns_roce_u_hw_v2.c
|
|
index b13b6dc..18399e9 100644
|
|
--- a/providers/hns/hns_roce_u_hw_v2.c
|
|
+++ b/providers/hns/hns_roce_u_hw_v2.c
|
|
@@ -186,6 +186,9 @@ static void handle_error_cqe(struct hns_roce_v2_cqe *cqe, struct ibv_wc *wc,
|
|
break;
|
|
}
|
|
}
|
|
+
|
|
+ wc->vendor_err = roce_get_field(cqe->byte_16, CQE_BYTE_16_SUB_STATUS_M,
|
|
+ CQE_BYTE_16_SUB_STATUS_S);
|
|
}
|
|
|
|
static struct hns_roce_v2_cqe *get_cqe_v2(struct hns_roce_cq *cq, int entry)
|
|
diff --git a/providers/hns/hns_roce_u_hw_v2.h b/providers/hns/hns_roce_u_hw_v2.h
|
|
index 51a1df4..014cb8c 100644
|
|
--- a/providers/hns/hns_roce_u_hw_v2.h
|
|
+++ b/providers/hns/hns_roce_u_hw_v2.h
|
|
@@ -184,6 +184,9 @@ struct hns_roce_v2_cqe {
|
|
#define CQE_BYTE_16_LCL_QPN_S 0
|
|
#define CQE_BYTE_16_LCL_QPN_M (((1UL << 24) - 1) << CQE_BYTE_16_LCL_QPN_S)
|
|
|
|
+#define CQE_BYTE_16_SUB_STATUS_S 24
|
|
+#define CQE_BYTE_16_SUB_STATUS_M (((1UL << 8) - 1) << CQE_BYTE_16_SUB_STATUS_S)
|
|
+
|
|
#define CQE_BYTE_28_SMAC_S 0
|
|
#define CQE_BYTE_28_SMAC_M (((1UL << 16) - 1) << CQE_BYTE_28_SMAC_S)
|
|
|
|
--
|
|
2.27.0
|
|
|