Skip to content

Commit 82ea449

Browse files
authored
Merge pull request #1640 from tatyana-en/support-for-irdma-gen3
Support for irdma gen3
2 parents 2763c6b + 0e79664 commit 82ea449

8 files changed

Lines changed: 978 additions & 88 deletions

File tree

providers/irdma/abi.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,7 @@ DECLARE_DRV_CMD(irdma_urereg_mr, IB_USER_VERBS_CMD_REREG_MR,
3131
irdma_mem_reg_req, empty);
3232
DECLARE_DRV_CMD(irdma_ucreate_ah, IB_USER_VERBS_CMD_CREATE_AH,
3333
empty, irdma_create_ah_resp);
34+
DECLARE_DRV_CMD(irdma_ucreate_srq, IB_USER_VERBS_CMD_CREATE_SRQ,
35+
irdma_create_srq_req, irdma_create_srq_resp);
3436

3537
#endif /* PROVIDER_IRDMA_ABI_H */

providers/irdma/defs.h

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,12 @@
2525
#define IRDMA_SQ_RSVD 258
2626
#define IRDMA_RQ_RSVD 1
2727

28-
#define IRDMA_FEATURE_RTS_AE 1ULL
29-
#define IRDMA_FEATURE_CQ_RESIZE 2ULL
28+
#define IRDMA_FEATURE_RTS_AE BIT_ULL(0)
29+
#define IRDMA_FEATURE_CQ_RESIZE BIT_ULL(1)
30+
#define IRDMA_FEATURE_64_BYTE_CQE BIT_ULL(5)
31+
#define IRDMA_FEATURE_ATOMIC_OPS BIT_ULL(6)
32+
#define IRDMA_FEATURE_SRQ BIT_ULL(7)
33+
#define IRDMA_FEATURE_CQE_TIMESTAMPING BIT_ULL(8)
3034
#define IRDMAQP_OP_RDMA_WRITE 0x00
3135
#define IRDMAQP_OP_RDMA_READ 0x01
3236
#define IRDMAQP_OP_RDMA_SEND 0x03
@@ -38,6 +42,8 @@
3842
#define IRDMAQP_OP_LOCAL_INVALIDATE 0x0a
3943
#define IRDMAQP_OP_RDMA_READ_LOC_INV 0x0b
4044
#define IRDMAQP_OP_NOP 0x0c
45+
#define IRDMAQP_OP_ATOMIC_FETCH_ADD 0x0f
46+
#define IRDMAQP_OP_ATOMIC_COMPARE_SWAP_ADD 0x11
4147

4248
#define IRDMA_CQPHC_QPCTX GENMASK_ULL(63, 0)
4349
#define IRDMA_QP_DBSA_HW_SQ_TAIL GENMASK_ULL(14, 0)
@@ -58,6 +64,7 @@
5864
#define IRDMA_CQ_ERROR BIT_ULL(55)
5965
#define IRDMA_CQ_SQ BIT_ULL(62)
6066

67+
#define IRDMA_CQ_SRQ BIT_ULL(52)
6168
#define IRDMA_CQ_VALID BIT_ULL(63)
6269
#define IRDMA_CQ_IMMVALID BIT_ULL(62)
6370
#define IRDMA_CQ_UDSMACVALID BIT_ULL(61)
@@ -70,7 +77,7 @@
7077
#define IRDMA_CQ_IMMDATALOW32 GENMASK_ULL(31, 0)
7178
#define IRDMA_CQ_IMMDATAUP32 GENMASK_ULL(63, 32)
7279
#define IRDMACQ_PAYLDLEN GENMASK_ULL(31, 0)
73-
#define IRDMACQ_TCPSEQNUMRTT GENMASK_ULL(63, 32)
80+
#define IRDMACQ_TCPSQN_ROCEPSN_RTT_TS GENMASK_ULL(63, 32)
7481
#define IRDMACQ_INVSTAG GENMASK_ULL(31, 0)
7582
#define IRDMACQ_QPID GENMASK_ULL(55, 32)
7683

@@ -129,7 +136,7 @@
129136
#define IRDMAQPSQ_MWSTAG GENMASK_ULL(31, 0)
130137

131138
#define IRDMAQPSQ_BASEVA_TO_FBO IRDMA_CQPHC_QPCTX
132-
139+
#define IRDMAQPSQ_REMOTE_ATOMICS_EN BIT_ULL(55)
133140
#define IRDMAQPSQ_LOCSTAG GENMASK_ULL(31, 0)
134141

135142
/* iwarp QP RQ WQE common fields */

providers/irdma/irdma.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
#define IRDMA_WQEALLOC_WQE_DESC_INDEX GENMASK(31, 20)
77

88
enum irdma_vers {
9-
IRDMA_GEN_RSVD,
10-
IRDMA_GEN_1,
11-
IRDMA_GEN_2,
9+
IRDMA_GEN_RSVD = 0,
10+
IRDMA_GEN_1 = 1,
11+
IRDMA_GEN_2 = 2,
12+
IRDMA_GEN_3 = 3,
1213
};
1314

1415
struct irdma_uk_attrs {
@@ -20,6 +21,7 @@ struct irdma_uk_attrs {
2021
__u32 max_hw_wq_quanta;
2122
__u32 min_hw_cq_size;
2223
__u32 max_hw_cq_size;
24+
__u32 max_hw_srq_quanta;
2325
__u16 max_hw_sq_chunk;
2426
__u16 min_hw_wq_size;
2527
__u8 hw_rev;

0 commit comments

Comments
 (0)