153 lines
4.0 KiB
Diff
153 lines
4.0 KiB
Diff
|
|
From 7d72b40d311875677135289874d4a69e4891b0de Mon Sep 17 00:00:00 2001
|
||
|
|
From: Chengchang Tang <tangchengchang@huawei.com>
|
||
|
|
Date: Mon, 28 Nov 2022 21:52:20 +0800
|
||
|
|
Subject: Update kernel headers
|
||
|
|
|
||
|
|
driver inclusion
|
||
|
|
category: feature
|
||
|
|
bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/I63L1M
|
||
|
|
|
||
|
|
----------------------------------------------------------
|
||
|
|
|
||
|
|
To commit ?? ("RDMA/hns: Fixes concurrent ressetting and post_recv in DCA
|
||
|
|
mode").
|
||
|
|
|
||
|
|
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
|
||
|
|
Reviewed-by: Yangyang Li <liyangyang20@huawei.com>
|
||
|
|
---
|
||
|
|
kernel-headers/rdma/hns-abi.h | 84 ++++++++++++++++++++++++++++++++---
|
||
|
|
1 file changed, 78 insertions(+), 6 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/kernel-headers/rdma/hns-abi.h b/kernel-headers/rdma/hns-abi.h
|
||
|
|
index 9866c51..6950841 100644
|
||
|
|
--- a/kernel-headers/rdma/hns-abi.h
|
||
|
|
+++ b/kernel-headers/rdma/hns-abi.h
|
||
|
|
@@ -77,7 +77,9 @@ enum hns_roce_qp_cap_flags {
|
||
|
|
HNS_ROCE_QP_CAP_RQ_RECORD_DB = 1 << 0,
|
||
|
|
HNS_ROCE_QP_CAP_SQ_RECORD_DB = 1 << 1,
|
||
|
|
HNS_ROCE_QP_CAP_OWNER_DB = 1 << 2,
|
||
|
|
+ HNS_ROCE_QP_CAP_DYNAMIC_CTX_ATTACH = 1 << 4,
|
||
|
|
HNS_ROCE_QP_CAP_DIRECT_WQE = 1 << 5,
|
||
|
|
+ HNS_ROCE_QP_CAP_DYNAMIC_CTX_DETACH = 1 << 6,
|
||
|
|
};
|
||
|
|
|
||
|
|
struct hns_roce_ib_create_qp_resp {
|
||
|
|
@@ -95,33 +97,46 @@ struct hns_roce_ib_modify_qp_resp {
|
||
|
|
__u8 tc_mode;
|
||
|
|
__u8 priority;
|
||
|
|
__u8 reserved[6];
|
||
|
|
+ __u32 dcan;
|
||
|
|
+ __u32 rsv2;
|
||
|
|
};
|
||
|
|
|
||
|
|
enum {
|
||
|
|
HNS_ROCE_EXSGE_FLAGS = 1 << 0,
|
||
|
|
HNS_ROCE_RQ_INLINE_FLAGS = 1 << 1,
|
||
|
|
HNS_ROCE_CQE_INLINE_FLAGS = 1 << 2,
|
||
|
|
+ HNS_ROCE_UCTX_CONFIG_DCA = 1 << 3,
|
||
|
|
};
|
||
|
|
|
||
|
|
enum {
|
||
|
|
HNS_ROCE_RSP_EXSGE_FLAGS = 1 << 0,
|
||
|
|
HNS_ROCE_RSP_RQ_INLINE_FLAGS = 1 << 1,
|
||
|
|
HNS_ROCE_RSP_CQE_INLINE_FLAGS = 1 << 2,
|
||
|
|
+ HNS_ROCE_UCTX_RSP_DCA_FLAGS = HNS_ROCE_UCTX_CONFIG_DCA,
|
||
|
|
};
|
||
|
|
|
||
|
|
struct hns_roce_ib_alloc_ucontext_resp {
|
||
|
|
__u32 qp_tab_size;
|
||
|
|
__u32 cqe_size;
|
||
|
|
- __u32 srq_tab_size;
|
||
|
|
- __u32 reserved;
|
||
|
|
- __u32 config;
|
||
|
|
- __u32 max_inline_data;
|
||
|
|
- __u8 mac_type;
|
||
|
|
- __u8 rsv1[7];
|
||
|
|
+ __u32 srq_tab_size;
|
||
|
|
+ __u32 reserved;
|
||
|
|
+ __u32 config;
|
||
|
|
+ __u32 max_inline_data;
|
||
|
|
+ __u8 mac_type;
|
||
|
|
+ __u8 rsv1[7];
|
||
|
|
+ __u32 dca_qps;
|
||
|
|
+ __u32 dca_mmap_size;
|
||
|
|
+ __aligned_u64 dca_mmap_key;
|
||
|
|
+};
|
||
|
|
+
|
||
|
|
+enum hns_roce_uctx_comp_mask {
|
||
|
|
+ HNS_ROCE_ALLOC_UCTX_COMP_DCA_MAX_QPS = 1 << 0,
|
||
|
|
};
|
||
|
|
|
||
|
|
struct hns_roce_ib_alloc_ucontext {
|
||
|
|
__u32 config;
|
||
|
|
+ __u32 comp; /* use hns_roce_uctx_comp_mask */
|
||
|
|
+ __u32 dca_max_qps;
|
||
|
|
__u32 reserved;
|
||
|
|
};
|
||
|
|
|
||
|
|
@@ -129,4 +144,61 @@ struct hns_roce_ib_alloc_pd_resp {
|
||
|
|
__u32 pdn;
|
||
|
|
};
|
||
|
|
|
||
|
|
+#define UVERBS_ID_NS_MASK 0xF000
|
||
|
|
+#define UVERBS_ID_NS_SHIFT 12
|
||
|
|
+
|
||
|
|
+enum hns_ib_objects {
|
||
|
|
+ HNS_IB_OBJECT_DCA_MEM = (1U << UVERBS_ID_NS_SHIFT),
|
||
|
|
+};
|
||
|
|
+
|
||
|
|
+enum hns_ib_dca_mem_methods {
|
||
|
|
+ HNS_IB_METHOD_DCA_MEM_REG = (1U << UVERBS_ID_NS_SHIFT),
|
||
|
|
+ HNS_IB_METHOD_DCA_MEM_DEREG,
|
||
|
|
+ HNS_IB_METHOD_DCA_MEM_SHRINK,
|
||
|
|
+ HNS_IB_METHOD_DCA_MEM_ATTACH,
|
||
|
|
+ HNS_IB_METHOD_DCA_MEM_DETACH,
|
||
|
|
+ HNS_IB_METHOD_DCA_MEM_QUERY,
|
||
|
|
+};
|
||
|
|
+
|
||
|
|
+enum hns_ib_dca_mem_reg_attrs {
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_REG_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_REG_FLAGS,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_REG_LEN,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_REG_ADDR,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_REG_KEY,
|
||
|
|
+};
|
||
|
|
+
|
||
|
|
+enum hns_ib_dca_mem_dereg_attrs {
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_DEREG_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||
|
|
+};
|
||
|
|
+
|
||
|
|
+enum hns_ib_dca_mem_shrink_attrs {
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_SHRINK_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_SHRINK_RESERVED_SIZE,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_SHRINK_OUT_FREE_KEY,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_SHRINK_OUT_FREE_MEMS,
|
||
|
|
+};
|
||
|
|
+
|
||
|
|
+enum hns_ib_dca_mem_attach_attrs {
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_ATTACH_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_ATTACH_SQ_OFFSET,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_ATTACH_SGE_OFFSET,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_ATTACH_RQ_OFFSET,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_ATTACH_OUT_ALLOC_FLAGS,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_ATTACH_OUT_ALLOC_PAGES,
|
||
|
|
+};
|
||
|
|
+
|
||
|
|
+enum hns_ib_dca_mem_detach_attrs {
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_DETACH_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_DETACH_SQ_INDEX,
|
||
|
|
+};
|
||
|
|
+
|
||
|
|
+enum hns_ib_dca_mem_query_attrs {
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_QUERY_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_QUERY_PAGE_INDEX,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_QUERY_OUT_KEY,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_QUERY_OUT_OFFSET,
|
||
|
|
+ HNS_IB_ATTR_DCA_MEM_QUERY_OUT_PAGE_COUNT,
|
||
|
|
+};
|
||
|
|
+
|
||
|
|
#endif /* HNS_ABI_USER_H */
|
||
|
|
--
|
||
|
|
2.30.0
|
||
|
|
|