xref: /freebsd/sys/dev/irdma/irdma_uda_d.h (revision 271171e0)
1 /*-
2  * SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB
3  *
4  * Copyright (c) 2019 Intel Corporation
5  *
6  * This software is available to you under a choice of one of two
7  * licenses.  You may choose to be licensed under the terms of the GNU
8  * General Public License (GPL) Version 2, available from the file
9  * COPYING in the main directory of this source tree, or the
10  * OpenFabrics.org BSD license below:
11  *
12  *   Redistribution and use in source and binary forms, with or
13  *   without modification, are permitted provided that the following
14  *   conditions are met:
15  *
16  *    - Redistributions of source code must retain the above
17  *	copyright notice, this list of conditions and the following
18  *	disclaimer.
19  *
20  *    - Redistributions in binary form must reproduce the above
21  *	copyright notice, this list of conditions and the following
22  *	disclaimer in the documentation and/or other materials
23  *	provided with the distribution.
24  *
25  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
26  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
27  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
28  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
29  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
30  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
31  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32  * SOFTWARE.
33  */
34 /*$FreeBSD$*/
35 
36 #ifndef IRDMA_UDA_D_H
37 #define IRDMA_UDA_D_H
38 
39 /* L4 packet type */
40 #define IRDMA_E_UDA_SQ_L4T_UNKNOWN	0
41 #define IRDMA_E_UDA_SQ_L4T_TCP		1
42 #define IRDMA_E_UDA_SQ_L4T_SCTP		2
43 #define IRDMA_E_UDA_SQ_L4T_UDP		3
44 
45 /* Inner IP header type */
46 #define IRDMA_E_UDA_SQ_IIPT_UNKNOWN		0
47 #define IRDMA_E_UDA_SQ_IIPT_IPV6		1
48 #define IRDMA_E_UDA_SQ_IIPT_IPV4_NO_CSUM	2
49 #define IRDMA_E_UDA_SQ_IIPT_IPV4_CSUM		3
50 
51 /* UDA defined fields for transmit descriptors */
52 #define IRDMA_UDA_QPSQ_PUSHWQE_S 56
53 #define IRDMA_UDA_QPSQ_PUSHWQE_M BIT_ULL(IRDMA_UDA_QPSQ_PUSHWQE_S)
54 
55 #define IRDMA_UDA_QPSQ_INLINEDATAFLAG_S 57
56 #define IRDMA_UDA_QPSQ_INLINEDATAFLAG_M \
57 	BIT_ULL(IRDMA_UDA_QPSQ_INLINEDATAFLAG_S)
58 
59 #define IRDMA_UDA_QPSQ_INLINEDATALEN_S 48
60 #define IRDMA_UDA_QPSQ_INLINEDATALEN_M \
61 	((u64)0xff << IRDMA_UDA_QPSQ_INLINEDATALEN_S)
62 
63 #define IRDMA_UDA_QPSQ_ADDFRAGCNT_S 38
64 #define IRDMA_UDA_QPSQ_ADDFRAGCNT_M \
65 	((u64)0x0F << IRDMA_UDA_QPSQ_ADDFRAGCNT_S)
66 
67 #define IRDMA_UDA_QPSQ_IPFRAGFLAGS_S 42
68 #define IRDMA_UDA_QPSQ_IPFRAGFLAGS_M \
69 	((u64)0x3 << IRDMA_UDA_QPSQ_IPFRAGFLAGS_S)
70 
71 #define IRDMA_UDA_QPSQ_NOCHECKSUM_S 45
72 #define IRDMA_UDA_QPSQ_NOCHECKSUM_M \
73 	BIT_ULL(IRDMA_UDA_QPSQ_NOCHECKSUM_S)
74 
75 #define IRDMA_UDA_QPSQ_AHIDXVALID_S 46
76 #define IRDMA_UDA_QPSQ_AHIDXVALID_M \
77 	BIT_ULL(IRDMA_UDA_QPSQ_AHIDXVALID_S)
78 
79 #define IRDMA_UDA_QPSQ_LOCAL_FENCE_S 61
80 #define IRDMA_UDA_QPSQ_LOCAL_FENCE_M \
81 	BIT_ULL(IRDMA_UDA_QPSQ_LOCAL_FENCE_S)
82 
83 #define IRDMA_UDA_QPSQ_AHIDX_S 0
84 #define IRDMA_UDA_QPSQ_AHIDX_M ((u64)0x1ffff << IRDMA_UDA_QPSQ_AHIDX_S)
85 
86 #define IRDMA_UDA_QPSQ_PROTOCOL_S 16
87 #define IRDMA_UDA_QPSQ_PROTOCOL_M \
88 	((u64)0xff << IRDMA_UDA_QPSQ_PROTOCOL_S)
89 
90 #define IRDMA_UDA_QPSQ_EXTHDRLEN_S 32
91 #define IRDMA_UDA_QPSQ_EXTHDRLEN_M \
92 	((u64)0x1ff << IRDMA_UDA_QPSQ_EXTHDRLEN_S)
93 
94 #define IRDMA_UDA_QPSQ_MULTICAST_S 63
95 #define IRDMA_UDA_QPSQ_MULTICAST_M \
96 	BIT_ULL(IRDMA_UDA_QPSQ_MULTICAST_S)
97 
98 #define IRDMA_UDA_QPSQ_MACLEN_S 56
99 #define IRDMA_UDA_QPSQ_MACLEN_M \
100 	((u64)0x7f << IRDMA_UDA_QPSQ_MACLEN_S)
101 #define IRDMA_UDA_QPSQ_MACLEN_LINE 2
102 
103 #define IRDMA_UDA_QPSQ_IPLEN_S 48
104 #define IRDMA_UDA_QPSQ_IPLEN_M \
105 	((u64)0x7f << IRDMA_UDA_QPSQ_IPLEN_S)
106 #define IRDMA_UDA_QPSQ_IPLEN_LINE 2
107 
108 #define IRDMA_UDA_QPSQ_L4T_S 30
109 #define IRDMA_UDA_QPSQ_L4T_M ((u64)0x3 << IRDMA_UDA_QPSQ_L4T_S)
110 #define IRDMA_UDA_QPSQ_L4T_LINE 2
111 
112 #define IRDMA_UDA_QPSQ_IIPT_S 28
113 #define IRDMA_UDA_QPSQ_IIPT_M ((u64)0x3 << IRDMA_UDA_QPSQ_IIPT_S)
114 #define IRDMA_UDA_QPSQ_IIPT_LINE 2
115 
116 #define IRDMA_UDA_QPSQ_DO_LPB_LINE 3
117 
118 #define IRDMA_UDA_QPSQ_FWD_PROG_CONFIRM_S 45
119 #define IRDMA_UDA_QPSQ_FWD_PROG_CONFIRM_M \
120 	BIT_ULL(IRDMA_UDA_QPSQ_FWD_PROG_CONFIRM_S)
121 #define IRDMA_UDA_QPSQ_FWD_PROG_CONFIRM_LINE 3
122 
123 #define IRDMA_UDA_QPSQ_IMMDATA_S 0
124 #define IRDMA_UDA_QPSQ_IMMDATA_M \
125 	((u64)0xffffffffffffffff << IRDMA_UDA_QPSQ_IMMDATA_S)
126 
127 /* Byte Offset 0 */
128 #define IRDMA_UDAQPC_IPV4_S 3
129 #define IRDMA_UDAQPC_IPV4_M BIT_ULL(IRDMAQPC_IPV4_S)
130 
131 #define IRDMA_UDAQPC_INSERTVLANTAG_S 5
132 #define IRDMA_UDAQPC_INSERTVLANTAG_M BIT_ULL(IRDMA_UDAQPC_INSERTVLANTAG_S)
133 
134 #define IRDMA_UDAQPC_ISQP1_S 6
135 #define IRDMA_UDAQPC_ISQP1_M BIT_ULL(IRDMA_UDAQPC_ISQP1_S)
136 
137 #define IRDMA_UDAQPC_RQWQESIZE_S IRDMAQPC_RQWQESIZE_S
138 #define IRDMA_UDAQPC_RQWQESIZE_M IRDMAQPC_RQWQESIZE_M
139 
140 #define IRDMA_UDAQPC_ECNENABLE_S 14
141 #define IRDMA_UDAQPC_ECNENABLE_M BIT_ULL(IRDMA_UDAQPC_ECNENABLE_S)
142 
143 #define IRDMA_UDAQPC_PDINDEXHI_S 20
144 #define IRDMA_UDAQPC_PDINDEXHI_M ((u64)3 << IRDMA_UDAQPC_PDINDEXHI_S)
145 
146 #define IRDMA_UDAQPC_DCTCPENABLE_S 25
147 #define IRDMA_UDAQPC_DCTCPENABLE_M BIT_ULL(IRDMA_UDAQPC_DCTCPENABLE_S)
148 
149 #define IRDMA_UDAQPC_RCVTPHEN_S IRDMAQPC_RCVTPHEN_S
150 #define IRDMA_UDAQPC_RCVTPHEN_M IRDMAQPC_RCVTPHEN_M
151 
152 #define IRDMA_UDAQPC_XMITTPHEN_S IRDMAQPC_XMITTPHEN_S
153 #define IRDMA_UDAQPC_XMITTPHEN_M IRDMAQPC_XMITTPHEN_M
154 
155 #define IRDMA_UDAQPC_RQTPHEN_S IRDMAQPC_RQTPHEN_S
156 #define IRDMA_UDAQPC_RQTPHEN_M IRDMAQPC_RQTPHEN_M
157 
158 #define IRDMA_UDAQPC_SQTPHEN_S IRDMAQPC_SQTPHEN_S
159 #define IRDMA_UDAQPC_SQTPHEN_M IRDMAQPC_SQTPHEN_M
160 
161 #define IRDMA_UDAQPC_PPIDX_S IRDMAQPC_PPIDX_S
162 #define IRDMA_UDAQPC_PPIDX_M IRDMAQPC_PPIDX_M
163 
164 #define IRDMA_UDAQPC_PMENA_S IRDMAQPC_PMENA_S
165 #define IRDMA_UDAQPC_PMENA_M IRDMAQPC_PMENA_M
166 
167 #define IRDMA_UDAQPC_INSERTTAG2_S 11
168 #define IRDMA_UDAQPC_INSERTTAG2_M BIT_ULL(IRDMA_UDAQPC_INSERTTAG2_S)
169 
170 #define IRDMA_UDAQPC_INSERTTAG3_S 14
171 #define IRDMA_UDAQPC_INSERTTAG3_M BIT_ULL(IRDMA_UDAQPC_INSERTTAG3_S)
172 
173 #define IRDMA_UDAQPC_RQSIZE_S IRDMAQPC_RQSIZE_S
174 #define IRDMA_UDAQPC_RQSIZE_M IRDMAQPC_RQSIZE_M
175 
176 #define IRDMA_UDAQPC_SQSIZE_S IRDMAQPC_SQSIZE_S
177 #define IRDMA_UDAQPC_SQSIZE_M IRDMAQPC_SQSIZE_M
178 
179 #define IRDMA_UDAQPC_TXCQNUM_S IRDMAQPC_TXCQNUM_S
180 #define IRDMA_UDAQPC_TXCQNUM_M IRDMAQPC_TXCQNUM_M
181 
182 #define IRDMA_UDAQPC_RXCQNUM_S IRDMAQPC_RXCQNUM_S
183 #define IRDMA_UDAQPC_RXCQNUM_M IRDMAQPC_RXCQNUM_M
184 
185 #define IRDMA_UDAQPC_QPCOMPCTX_S IRDMAQPC_QPCOMPCTX_S
186 #define IRDMA_UDAQPC_QPCOMPCTX_M IRDMAQPC_QPCOMPCTX_M
187 
188 #define IRDMA_UDAQPC_SQTPHVAL_S IRDMAQPC_SQTPHVAL_S
189 #define IRDMA_UDAQPC_SQTPHVAL_M IRDMAQPC_SQTPHVAL_M
190 
191 #define IRDMA_UDAQPC_RQTPHVAL_S IRDMAQPC_RQTPHVAL_S
192 #define IRDMA_UDAQPC_RQTPHVAL_M IRDMAQPC_RQTPHVAL_M
193 
194 #define IRDMA_UDAQPC_QSHANDLE_S IRDMAQPC_QSHANDLE_S
195 #define IRDMA_UDAQPC_QSHANDLE_M IRDMAQPC_QSHANDLE_M
196 
197 #define IRDMA_UDAQPC_RQHDRRINGBUFSIZE_S 48
198 #define IRDMA_UDAQPC_RQHDRRINGBUFSIZE_M \
199 	((u64)0x3 << IRDMA_UDAQPC_RQHDRRINGBUFSIZE_S)
200 
201 #define IRDMA_UDAQPC_SQHDRRINGBUFSIZE_S 32
202 #define IRDMA_UDAQPC_SQHDRRINGBUFSIZE_M \
203 	((u64)0x3 << IRDMA_UDAQPC_SQHDRRINGBUFSIZE_S)
204 
205 #define IRDMA_UDAQPC_PRIVILEGEENABLE_S 25
206 #define IRDMA_UDAQPC_PRIVILEGEENABLE_M \
207 	BIT_ULL(IRDMA_UDAQPC_PRIVILEGEENABLE_S)
208 
209 #define IRDMA_UDAQPC_USE_STATISTICS_INSTANCE_S 26
210 #define IRDMA_UDAQPC_USE_STATISTICS_INSTANCE_M \
211 	BIT_ULL(IRDMA_UDAQPC_USE_STATISTICS_INSTANCE_S)
212 
213 #define IRDMA_UDAQPC_STATISTICS_INSTANCE_INDEX_S 0
214 #define IRDMA_UDAQPC_STATISTICS_INSTANCE_INDEX_M \
215 	((u64)0x7F << IRDMA_UDAQPC_STATISTICS_INSTANCE_INDEX_S)
216 
217 #define IRDMA_UDAQPC_PRIVHDRGENENABLE_S 0
218 #define IRDMA_UDAQPC_PRIVHDRGENENABLE_M \
219 	BIT_ULL(IRDMA_UDAQPC_PRIVHDRGENENABLE_S)
220 
221 #define IRDMA_UDAQPC_RQHDRSPLITENABLE_S 3
222 #define IRDMA_UDAQPC_RQHDRSPLITENABLE_M \
223 	BIT_ULL(IRDMA_UDAQPC_RQHDRSPLITENABLE_S)
224 
225 #define IRDMA_UDAQPC_RQHDRRINGBUFENABLE_S 2
226 #define IRDMA_UDAQPC_RQHDRRINGBUFENABLE_M \
227 	BIT_ULL(IRDMA_UDAQPC_RQHDRRINGBUFENABLE_S)
228 
229 #define IRDMA_UDAQPC_SQHDRRINGBUFENABLE_S 1
230 #define IRDMA_UDAQPC_SQHDRRINGBUFENABLE_M \
231 	BIT_ULL(IRDMA_UDAQPC_SQHDRRINGBUFENABLE_S)
232 
233 #define IRDMA_UDAQPC_IPID_S 32
234 #define IRDMA_UDAQPC_IPID_M ((u64)0xffff << IRDMA_UDAQPC_IPID_S)
235 
236 #define IRDMA_UDAQPC_SNDMSS_S 16
237 #define IRDMA_UDAQPC_SNDMSS_M ((u64)0x3fff << IRDMA_UDAQPC_SNDMSS_S)
238 
239 #define IRDMA_UDAQPC_VLANTAG_S 0
240 #define IRDMA_UDAQPC_VLANTAG_M  ((u64)0xffff << IRDMA_UDAQPC_VLANTAG_S)
241 
242 /* Address Handle */
243 #define IRDMA_UDA_CQPSQ_MAV_PDINDEXHI_S 20
244 #define IRDMA_UDA_CQPSQ_MAV_PDINDEXHI_M \
245 	((u64)0x3 << IRDMA_UDA_CQPSQ_MAV_PDINDEXHI_S)
246 
247 #define IRDMA_UDA_CQPSQ_MAV_PDINDEXLO_S 48
248 #define IRDMA_UDA_CQPSQ_MAV_PDINDEXLO_M \
249 	((u64)0xffff << IRDMA_UDA_CQPSQ_MAV_PDINDEXLO_S)
250 
251 #define IRDMA_UDA_CQPSQ_MAV_SRCMACADDRINDEX_S 24
252 #define IRDMA_UDA_CQPSQ_MAV_SRCMACADDRINDEX_M \
253 	((u64)0x3f << IRDMA_UDA_CQPSQ_MAV_SRCMACADDRINDEX_S)
254 
255 #define IRDMA_UDA_CQPSQ_MAV_ARPINDEX_S 48
256 #define IRDMA_UDA_CQPSQ_MAV_ARPINDEX_M \
257 	((u64)0xffff << IRDMA_UDA_CQPSQ_MAV_ARPINDEX_S)
258 
259 #define IRDMA_UDA_CQPSQ_MAV_TC_S 32
260 #define IRDMA_UDA_CQPSQ_MAV_TC_M ((u64)0xff << IRDMA_UDA_CQPSQ_MAV_TC_S)
261 
262 #define IRDMA_UDA_CQPSQ_MAV_HOPLIMIT_S 32
263 #define IRDMA_UDA_CQPSQ_MAV_HOPLIMIT_M \
264 	((u64)0xff << IRDMA_UDA_CQPSQ_MAV_HOPLIMIT_S)
265 
266 #define IRDMA_UDA_CQPSQ_MAV_FLOWLABEL_S 0
267 #define IRDMA_UDA_CQPSQ_MAV_FLOWLABEL_M \
268 	((u64)0xfffff << IRDMA_UDA_CQPSQ_MAV_FLOWLABEL_S)
269 
270 #define IRDMA_UDA_CQPSQ_MAV_ADDR0_S 32
271 #define IRDMA_UDA_CQPSQ_MAV_ADDR0_M \
272 	((u64)0xffffffff << IRDMA_UDA_CQPSQ_MAV_ADDR0_S)
273 
274 #define IRDMA_UDA_CQPSQ_MAV_ADDR1_S 0
275 #define IRDMA_UDA_CQPSQ_MAV_ADDR1_M \
276 	((u64)0xffffffff << IRDMA_UDA_CQPSQ_MAV_ADDR1_S)
277 
278 #define IRDMA_UDA_CQPSQ_MAV_ADDR2_S 32
279 #define IRDMA_UDA_CQPSQ_MAV_ADDR2_M \
280 	((u64)0xffffffff << IRDMA_UDA_CQPSQ_MAV_ADDR2_S)
281 
282 #define IRDMA_UDA_CQPSQ_MAV_ADDR3_S 0
283 #define IRDMA_UDA_CQPSQ_MAV_ADDR3_M \
284 	((u64)0xffffffff << IRDMA_UDA_CQPSQ_MAV_ADDR3_S)
285 
286 #define IRDMA_UDA_CQPSQ_MAV_WQEVALID_S 63
287 #define IRDMA_UDA_CQPSQ_MAV_WQEVALID_M \
288 	BIT_ULL(IRDMA_UDA_CQPSQ_MAV_WQEVALID_S)
289 
290 #define IRDMA_UDA_CQPSQ_MAV_OPCODE_S 32
291 #define IRDMA_UDA_CQPSQ_MAV_OPCODE_M \
292 	((u64)0x3f << IRDMA_UDA_CQPSQ_MAV_OPCODE_S)
293 
294 #define IRDMA_UDA_CQPSQ_MAV_DOLOOPBACKK_S 62
295 #define IRDMA_UDA_CQPSQ_MAV_DOLOOPBACKK_M \
296 	BIT_ULL(IRDMA_UDA_CQPSQ_MAV_DOLOOPBACKK_S)
297 
298 #define IRDMA_UDA_CQPSQ_MAV_IPV4VALID_S 59
299 #define IRDMA_UDA_CQPSQ_MAV_IPV4VALID_M \
300 	BIT_ULL(IRDMA_UDA_CQPSQ_MAV_IPV4VALID_S)
301 
302 #define IRDMA_UDA_CQPSQ_MAV_AVIDX_S 0
303 #define IRDMA_UDA_CQPSQ_MAV_AVIDX_M \
304 	((u64)0x1ffff << IRDMA_UDA_CQPSQ_MAV_AVIDX_S)
305 
306 #define IRDMA_UDA_CQPSQ_MAV_INSERTVLANTAG_S 60
307 #define IRDMA_UDA_CQPSQ_MAV_INSERTVLANTAG_M BIT_ULL(IRDMA_UDA_CQPSQ_MAV_INSERTVLANTAG_S)
308 
309 /* UDA multicast group */
310 
311 #define IRDMA_UDA_MGCTX_VFFLAG_S 29
312 #define IRDMA_UDA_MGCTX_VFFLAG_M BIT_ULL(IRDMA_UDA_MGCTX_VFFLAG_S)
313 
314 #define IRDMA_UDA_MGCTX_DESTPORT_S 32
315 #define IRDMA_UDA_MGCTX_DESTPORT_M ((u64)0xffff << IRDMA_UDA_MGCTX_DESTPORT_S)
316 
317 #define IRDMA_UDA_MGCTX_VFID_S 22
318 #define IRDMA_UDA_MGCTX_VFID_M ((u64)0x7f << IRDMA_UDA_MGCTX_VFID_S)
319 
320 #define IRDMA_UDA_MGCTX_VALIDENT_S 31
321 #define IRDMA_UDA_MGCTX_VALIDENT_M BIT_ULL(IRDMA_UDA_MGCTX_VALIDENT_S)
322 
323 #define IRDMA_UDA_MGCTX_PFID_S 18
324 #define IRDMA_UDA_MGCTX_PFID_M ((u64)0xf << IRDMA_UDA_MGCTX_PFID_S)
325 
326 #define IRDMA_UDA_MGCTX_FLAGIGNOREDPORT_S 30
327 #define IRDMA_UDA_MGCTX_FLAGIGNOREDPORT_M \
328 	BIT_ULL(IRDMA_UDA_MGCTX_FLAGIGNOREDPORT_S)
329 
330 #define IRDMA_UDA_MGCTX_QPID_S 0
331 #define IRDMA_UDA_MGCTX_QPID_M ((u64)0x3ffff << IRDMA_UDA_MGCTX_QPID_S)
332 
333 /* multicast group create CQP command */
334 
335 #define IRDMA_UDA_CQPSQ_MG_WQEVALID_S 63
336 #define IRDMA_UDA_CQPSQ_MG_WQEVALID_M \
337 	BIT_ULL(IRDMA_UDA_CQPSQ_MG_WQEVALID_S)
338 
339 #define IRDMA_UDA_CQPSQ_MG_OPCODE_S 32
340 #define IRDMA_UDA_CQPSQ_MG_OPCODE_M ((u64)0x3f << IRDMA_UDA_CQPSQ_MG_OPCODE_S)
341 
342 #define IRDMA_UDA_CQPSQ_MG_MGIDX_S 0
343 #define IRDMA_UDA_CQPSQ_MG_MGIDX_M ((u64)0x1fff << IRDMA_UDA_CQPSQ_MG_MGIDX_S)
344 
345 #define IRDMA_UDA_CQPSQ_MG_IPV4VALID_S 60
346 #define IRDMA_UDA_CQPSQ_MG_IPV4VALID_M BIT_ULL(IRDMA_UDA_CQPSQ_MG_IPV4VALID_S)
347 
348 #define IRDMA_UDA_CQPSQ_MG_VLANVALID_S 59
349 #define IRDMA_UDA_CQPSQ_MG_VLANVALID_M BIT_ULL(IRDMA_UDA_CQPSQ_MG_VLANVALID_S)
350 
351 #define IRDMA_UDA_CQPSQ_MG_HMC_FCN_ID_S 0
352 #define IRDMA_UDA_CQPSQ_MG_HMC_FCN_ID_M ((u64)0x3F << IRDMA_UDA_CQPSQ_MG_HMC_FCN_ID_S)
353 
354 #define IRDMA_UDA_CQPSQ_MG_VLANID_S 32
355 #define IRDMA_UDA_CQPSQ_MG_VLANID_M ((u64)0xFFF << IRDMA_UDA_CQPSQ_MG_VLANID_S)
356 
357 #define IRDMA_UDA_CQPSQ_QS_HANDLE_S 0
358 #define IRDMA_UDA_CQPSQ_QS_HANDLE_M ((u64)0x3FF << IRDMA_UDA_CQPSQ_QS_HANDLE_S)
359 
360 /* Quad hash table */
361 #define IRDMA_UDA_CQPSQ_QHASH_QPN_S 32
362 #define IRDMA_UDA_CQPSQ_QHASH_QPN_M \
363 	((u64)0x3ffff << IRDMA_UDA_CQPSQ_QHASH_QPN_S)
364 
365 #define IRDMA_UDA_CQPSQ_QHASH__S 0
366 #define IRDMA_UDA_CQPSQ_QHASH__M BIT_ULL(IRDMA_UDA_CQPSQ_QHASH__S)
367 
368 #define IRDMA_UDA_CQPSQ_QHASH_SRC_PORT_S 16
369 #define IRDMA_UDA_CQPSQ_QHASH_SRC_PORT_M \
370 	((u64)0xffff << IRDMA_UDA_CQPSQ_QHASH_SRC_PORT_S)
371 
372 #define IRDMA_UDA_CQPSQ_QHASH_DEST_PORT_S 0
373 #define IRDMA_UDA_CQPSQ_QHASH_DEST_PORT_M \
374 	((u64)0xffff << IRDMA_UDA_CQPSQ_QHASH_DEST_PORT_S)
375 
376 #define IRDMA_UDA_CQPSQ_QHASH_ADDR0_S 32
377 #define IRDMA_UDA_CQPSQ_QHASH_ADDR0_M \
378 	((u64)0xffffffff << IRDMA_UDA_CQPSQ_QHASH_ADDR0_S)
379 
380 #define IRDMA_UDA_CQPSQ_QHASH_ADDR1_S 0
381 #define IRDMA_UDA_CQPSQ_QHASH_ADDR1_M \
382 	((u64)0xffffffff << IRDMA_UDA_CQPSQ_QHASH_ADDR1_S)
383 
384 #define IRDMA_UDA_CQPSQ_QHASH_ADDR2_S 32
385 #define IRDMA_UDA_CQPSQ_QHASH_ADDR2_M \
386 	((u64)0xffffffff << IRDMA_UDA_CQPSQ_QHASH_ADDR2_S)
387 
388 #define IRDMA_UDA_CQPSQ_QHASH_ADDR3_S 0
389 #define IRDMA_UDA_CQPSQ_QHASH_ADDR3_M \
390 	((u64)0xffffffff << IRDMA_UDA_CQPSQ_QHASH_ADDR3_S)
391 
392 #define IRDMA_UDA_CQPSQ_QHASH_WQEVALID_S 63
393 #define IRDMA_UDA_CQPSQ_QHASH_WQEVALID_M \
394 	BIT_ULL(IRDMA_UDA_CQPSQ_QHASH_WQEVALID_S)
395 
396 #define IRDMA_UDA_CQPSQ_QHASH_OPCODE_S 32
397 #define IRDMA_UDA_CQPSQ_QHASH_OPCODE_M \
398 	((u64)0x3f << IRDMA_UDA_CQPSQ_QHASH_OPCODE_S)
399 
400 #define IRDMA_UDA_CQPSQ_QHASH_MANAGE_S 61
401 #define IRDMA_UDA_CQPSQ_QHASH_MANAGE_M \
402 	((u64)0x3 << IRDMA_UDA_CQPSQ_QHASH_MANAGE_S)
403 
404 #define IRDMA_UDA_CQPSQ_QHASH_IPV4VALID_S 60
405 #define IRDMA_UDA_CQPSQ_QHASH_IPV4VALID_M \
406 	((u64)0x1 << IRDMA_UDA_CQPSQ_QHASH_IPV4VALID_S)
407 
408 #define IRDMA_UDA_CQPSQ_QHASH_LANFWD_S 59
409 #define IRDMA_UDA_CQPSQ_QHASH_LANFWD_M \
410 	((u64)0x1 << IRDMA_UDA_CQPSQ_QHASH_LANFWD_S)
411 
412 #define IRDMA_UDA_CQPSQ_QHASH_ENTRYTYPE_S 42
413 #define IRDMA_UDA_CQPSQ_QHASH_ENTRYTYPE_M \
414 	((u64)0x7 << IRDMA_UDA_CQPSQ_QHASH_ENTRYTYPE_S)
415 #endif /* IRDMA_UDA_D_H */
416