52
52
CPL_L2T_WRITE_REQ = 0x12 ,
53
53
CPL_SMT_WRITE_REQ = 0x14 ,
54
54
CPL_TID_RELEASE = 0x1A ,
55
+ CPL_SRQ_TABLE_REQ = 0x1C ,
55
56
CPL_TX_DATA_ISO = 0x1F ,
56
57
57
58
CPL_CLOSE_LISTSRV_RPL = 0x20 ,
@@ -102,6 +103,7 @@ enum {
102
103
CPL_FW4_MSG = 0xC0 ,
103
104
CPL_FW4_PLD = 0xC1 ,
104
105
CPL_FW4_ACK = 0xC3 ,
106
+ CPL_SRQ_TABLE_RPL = 0xCC ,
105
107
106
108
CPL_RX_PHYS_DSGL = 0xD0 ,
107
109
@@ -136,6 +138,8 @@ enum CPL_error {
136
138
CPL_ERR_KEEPALV_NEG_ADVICE = 37 ,
137
139
CPL_ERR_ABORT_FAILED = 42 ,
138
140
CPL_ERR_IWARP_FLM = 50 ,
141
+ CPL_CONTAINS_READ_RPL = 60 ,
142
+ CPL_CONTAINS_WRITE_RPL = 61 ,
139
143
};
140
144
141
145
enum {
@@ -198,6 +202,7 @@ union opcode_tid {
198
202
/* partitioning of TID fields that also carry a queue id */
199
203
#define TID_TID_S 0
200
204
#define TID_TID_M 0x3fff
205
+ #define TID_TID_V (x ) ((x) << TID_TID_S)
201
206
#define TID_TID_G (x ) (((x) >> TID_TID_S) & TID_TID_M)
202
207
203
208
#define TID_QID_S 14
@@ -743,6 +748,22 @@ struct cpl_abort_req_rss {
743
748
u8 status ;
744
749
};
745
750
751
+ struct cpl_abort_req_rss6 {
752
+ WR_HDR ;
753
+ union opcode_tid ot ;
754
+ __u32 srqidx_status ;
755
+ };
756
+
757
+ #define ABORT_RSS_STATUS_S 0
758
+ #define ABORT_RSS_STATUS_M 0xff
759
+ #define ABORT_RSS_STATUS_V (x ) ((x) << ABORT_RSS_STATUS_S)
760
+ #define ABORT_RSS_STATUS_G (x ) (((x) >> ABORT_RSS_STATUS_S) & ABORT_RSS_STATUS_M)
761
+
762
+ #define ABORT_RSS_SRQIDX_S 8
763
+ #define ABORT_RSS_SRQIDX_M 0xffffff
764
+ #define ABORT_RSS_SRQIDX_V (x ) ((x) << ABORT_RSS_SRQIDX_S)
765
+ #define ABORT_RSS_SRQIDX_G (x ) (((x) >> ABORT_RSS_SRQIDX_S) & ABORT_RSS_SRQIDX_M)
766
+
746
767
struct cpl_abort_req {
747
768
WR_HDR ;
748
769
union opcode_tid ot ;
@@ -758,6 +779,11 @@ struct cpl_abort_rpl_rss {
758
779
u8 status ;
759
780
};
760
781
782
+ struct cpl_abort_rpl_rss6 {
783
+ union opcode_tid ot ;
784
+ __u32 srqidx_status ;
785
+ };
786
+
761
787
struct cpl_abort_rpl {
762
788
WR_HDR ;
763
789
union opcode_tid ot ;
@@ -2112,4 +2138,49 @@ enum {
2112
2138
X_CPL_RX_MPS_PKT_TYPE_QFC = 1 << 2 ,
2113
2139
X_CPL_RX_MPS_PKT_TYPE_PTP = 1 << 3
2114
2140
};
2141
+
2142
+ struct cpl_srq_table_req {
2143
+ WR_HDR ;
2144
+ union opcode_tid ot ;
2145
+ __u8 status ;
2146
+ __u8 rsvd [2 ];
2147
+ __u8 idx ;
2148
+ __be64 rsvd_pdid ;
2149
+ __be32 qlen_qbase ;
2150
+ __be16 cur_msn ;
2151
+ __be16 max_msn ;
2152
+ };
2153
+
2154
+ struct cpl_srq_table_rpl {
2155
+ union opcode_tid ot ;
2156
+ __u8 status ;
2157
+ __u8 rsvd [2 ];
2158
+ __u8 idx ;
2159
+ __be64 rsvd_pdid ;
2160
+ __be32 qlen_qbase ;
2161
+ __be16 cur_msn ;
2162
+ __be16 max_msn ;
2163
+ };
2164
+
2165
+ /* cpl_srq_table_{req,rpl}.params fields */
2166
+ #define SRQT_QLEN_S 28
2167
+ #define SRQT_QLEN_M 0xF
2168
+ #define SRQT_QLEN_V (x ) ((x) << SRQT_QLEN_S)
2169
+ #define SRQT_QLEN_G (x ) (((x) >> SRQT_QLEN_S) & SRQT_QLEN_M)
2170
+
2171
+ #define SRQT_QBASE_S 0
2172
+ #define SRQT_QBASE_M 0x3FFFFFF
2173
+ #define SRQT_QBASE_V (x ) ((x) << SRQT_QBASE_S)
2174
+ #define SRQT_QBASE_G (x ) (((x) >> SRQT_QBASE_S) & SRQT_QBASE_M)
2175
+
2176
+ #define SRQT_PDID_S 0
2177
+ #define SRQT_PDID_M 0xFF
2178
+ #define SRQT_PDID_V (x ) ((x) << SRQT_PDID_S)
2179
+ #define SRQT_PDID_G (x ) (((x) >> SRQT_PDID_S) & SRQT_PDID_M)
2180
+
2181
+ #define SRQT_IDX_S 0
2182
+ #define SRQT_IDX_M 0xF
2183
+ #define SRQT_IDX_V (x ) ((x) << SRQT_IDX_S)
2184
+ #define SRQT_IDX_G (x ) (((x) >> SRQT_IDX_S) & SRQT_IDX_M)
2185
+
2115
2186
#endif /* __T4_MSG_H */
0 commit comments