1 /* QLogic qed NIC Driver
2 * Copyright (c) 2015 QLogic Corporation
4 * This software is available under the terms of the GNU General Public License
5 * (GPL) Version 2, available from the file COPYING in the main directory of
12 #include <linux/types.h>
14 #include <linux/bitops.h>
15 #include <linux/delay.h>
16 #include <linux/kernel.h>
17 #include <linux/list.h>
18 #include <linux/slab.h>
19 #include <linux/qed/common_hsi.h>
20 #include <linux/qed/storage_common.h>
21 #include <linux/qed/tcp_common.h>
22 #include <linux/qed/eth_common.h>
23 #include <linux/qed/iscsi_common.h>
24 #include <linux/qed/rdma_common.h>
25 #include <linux/qed/roce_common.h>
30 /* opcodes for the event ring */
31 enum common_event_opcode {
32 COMMON_EVENT_PF_START,
34 COMMON_EVENT_VF_START,
36 COMMON_EVENT_VF_PF_CHANNEL,
38 COMMON_EVENT_PF_UPDATE,
39 COMMON_EVENT_MALICIOUS_VF,
40 COMMON_EVENT_RL_UPDATE,
42 MAX_COMMON_EVENT_OPCODE
45 /* Common Ramrod Command IDs */
46 enum common_ramrod_cmd_id {
48 COMMON_RAMROD_PF_START,
49 COMMON_RAMROD_PF_STOP,
50 COMMON_RAMROD_VF_START,
51 COMMON_RAMROD_VF_STOP,
52 COMMON_RAMROD_PF_UPDATE,
53 COMMON_RAMROD_RL_UPDATE,
55 MAX_COMMON_RAMROD_CMD_ID
58 /* The core storm context for the Ystorm */
59 struct ystorm_core_conn_st_ctx {
63 /* The core storm context for the Pstorm */
64 struct pstorm_core_conn_st_ctx {
68 /* Core Slowpath Connection storm context of Xstorm */
69 struct xstorm_core_conn_st_ctx {
72 struct regpair consolid_base_addr;
78 struct xstorm_core_conn_ag_ctx {
82 #define XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
83 #define XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
84 #define XSTORM_CORE_CONN_AG_CTX_RESERVED1_MASK 0x1
85 #define XSTORM_CORE_CONN_AG_CTX_RESERVED1_SHIFT 1
86 #define XSTORM_CORE_CONN_AG_CTX_RESERVED2_MASK 0x1
87 #define XSTORM_CORE_CONN_AG_CTX_RESERVED2_SHIFT 2
88 #define XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1
89 #define XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
90 #define XSTORM_CORE_CONN_AG_CTX_RESERVED3_MASK 0x1
91 #define XSTORM_CORE_CONN_AG_CTX_RESERVED3_SHIFT 4
92 #define XSTORM_CORE_CONN_AG_CTX_RESERVED4_MASK 0x1
93 #define XSTORM_CORE_CONN_AG_CTX_RESERVED4_SHIFT 5
94 #define XSTORM_CORE_CONN_AG_CTX_RESERVED5_MASK 0x1
95 #define XSTORM_CORE_CONN_AG_CTX_RESERVED5_SHIFT 6
96 #define XSTORM_CORE_CONN_AG_CTX_RESERVED6_MASK 0x1
97 #define XSTORM_CORE_CONN_AG_CTX_RESERVED6_SHIFT 7
99 #define XSTORM_CORE_CONN_AG_CTX_RESERVED7_MASK 0x1
100 #define XSTORM_CORE_CONN_AG_CTX_RESERVED7_SHIFT 0
101 #define XSTORM_CORE_CONN_AG_CTX_RESERVED8_MASK 0x1
102 #define XSTORM_CORE_CONN_AG_CTX_RESERVED8_SHIFT 1
103 #define XSTORM_CORE_CONN_AG_CTX_RESERVED9_MASK 0x1
104 #define XSTORM_CORE_CONN_AG_CTX_RESERVED9_SHIFT 2
105 #define XSTORM_CORE_CONN_AG_CTX_BIT11_MASK 0x1
106 #define XSTORM_CORE_CONN_AG_CTX_BIT11_SHIFT 3
107 #define XSTORM_CORE_CONN_AG_CTX_BIT12_MASK 0x1
108 #define XSTORM_CORE_CONN_AG_CTX_BIT12_SHIFT 4
109 #define XSTORM_CORE_CONN_AG_CTX_BIT13_MASK 0x1
110 #define XSTORM_CORE_CONN_AG_CTX_BIT13_SHIFT 5
111 #define XSTORM_CORE_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x1
112 #define XSTORM_CORE_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 6
113 #define XSTORM_CORE_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x1
114 #define XSTORM_CORE_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT 7
116 #define XSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3
117 #define XSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 0
118 #define XSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3
119 #define XSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 2
120 #define XSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3
121 #define XSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 4
122 #define XSTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3
123 #define XSTORM_CORE_CONN_AG_CTX_CF3_SHIFT 6
125 #define XSTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3
126 #define XSTORM_CORE_CONN_AG_CTX_CF4_SHIFT 0
127 #define XSTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3
128 #define XSTORM_CORE_CONN_AG_CTX_CF5_SHIFT 2
129 #define XSTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3
130 #define XSTORM_CORE_CONN_AG_CTX_CF6_SHIFT 4
131 #define XSTORM_CORE_CONN_AG_CTX_CF7_MASK 0x3
132 #define XSTORM_CORE_CONN_AG_CTX_CF7_SHIFT 6
134 #define XSTORM_CORE_CONN_AG_CTX_CF8_MASK 0x3
135 #define XSTORM_CORE_CONN_AG_CTX_CF8_SHIFT 0
136 #define XSTORM_CORE_CONN_AG_CTX_CF9_MASK 0x3
137 #define XSTORM_CORE_CONN_AG_CTX_CF9_SHIFT 2
138 #define XSTORM_CORE_CONN_AG_CTX_CF10_MASK 0x3
139 #define XSTORM_CORE_CONN_AG_CTX_CF10_SHIFT 4
140 #define XSTORM_CORE_CONN_AG_CTX_CF11_MASK 0x3
141 #define XSTORM_CORE_CONN_AG_CTX_CF11_SHIFT 6
143 #define XSTORM_CORE_CONN_AG_CTX_CF12_MASK 0x3
144 #define XSTORM_CORE_CONN_AG_CTX_CF12_SHIFT 0
145 #define XSTORM_CORE_CONN_AG_CTX_CF13_MASK 0x3
146 #define XSTORM_CORE_CONN_AG_CTX_CF13_SHIFT 2
147 #define XSTORM_CORE_CONN_AG_CTX_CF14_MASK 0x3
148 #define XSTORM_CORE_CONN_AG_CTX_CF14_SHIFT 4
149 #define XSTORM_CORE_CONN_AG_CTX_CF15_MASK 0x3
150 #define XSTORM_CORE_CONN_AG_CTX_CF15_SHIFT 6
152 #define XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_MASK 0x3
153 #define XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_SHIFT 0
154 #define XSTORM_CORE_CONN_AG_CTX_CF17_MASK 0x3
155 #define XSTORM_CORE_CONN_AG_CTX_CF17_SHIFT 2
156 #define XSTORM_CORE_CONN_AG_CTX_DQ_CF_MASK 0x3
157 #define XSTORM_CORE_CONN_AG_CTX_DQ_CF_SHIFT 4
158 #define XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_MASK 0x3
159 #define XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_SHIFT 6
161 #define XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_MASK 0x3
162 #define XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
163 #define XSTORM_CORE_CONN_AG_CTX_RESERVED10_MASK 0x3
164 #define XSTORM_CORE_CONN_AG_CTX_RESERVED10_SHIFT 2
165 #define XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_MASK 0x3
166 #define XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_SHIFT 4
167 #define XSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1
168 #define XSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 6
169 #define XSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1
170 #define XSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 7
172 #define XSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1
173 #define XSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 0
174 #define XSTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1
175 #define XSTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 1
176 #define XSTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1
177 #define XSTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 2
178 #define XSTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1
179 #define XSTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 3
180 #define XSTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1
181 #define XSTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 4
182 #define XSTORM_CORE_CONN_AG_CTX_CF7EN_MASK 0x1
183 #define XSTORM_CORE_CONN_AG_CTX_CF7EN_SHIFT 5
184 #define XSTORM_CORE_CONN_AG_CTX_CF8EN_MASK 0x1
185 #define XSTORM_CORE_CONN_AG_CTX_CF8EN_SHIFT 6
186 #define XSTORM_CORE_CONN_AG_CTX_CF9EN_MASK 0x1
187 #define XSTORM_CORE_CONN_AG_CTX_CF9EN_SHIFT 7
189 #define XSTORM_CORE_CONN_AG_CTX_CF10EN_MASK 0x1
190 #define XSTORM_CORE_CONN_AG_CTX_CF10EN_SHIFT 0
191 #define XSTORM_CORE_CONN_AG_CTX_CF11EN_MASK 0x1
192 #define XSTORM_CORE_CONN_AG_CTX_CF11EN_SHIFT 1
193 #define XSTORM_CORE_CONN_AG_CTX_CF12EN_MASK 0x1
194 #define XSTORM_CORE_CONN_AG_CTX_CF12EN_SHIFT 2
195 #define XSTORM_CORE_CONN_AG_CTX_CF13EN_MASK 0x1
196 #define XSTORM_CORE_CONN_AG_CTX_CF13EN_SHIFT 3
197 #define XSTORM_CORE_CONN_AG_CTX_CF14EN_MASK 0x1
198 #define XSTORM_CORE_CONN_AG_CTX_CF14EN_SHIFT 4
199 #define XSTORM_CORE_CONN_AG_CTX_CF15EN_MASK 0x1
200 #define XSTORM_CORE_CONN_AG_CTX_CF15EN_SHIFT 5
201 #define XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_EN_MASK 0x1
202 #define XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_EN_SHIFT 6
203 #define XSTORM_CORE_CONN_AG_CTX_CF17EN_MASK 0x1
204 #define XSTORM_CORE_CONN_AG_CTX_CF17EN_SHIFT 7
206 #define XSTORM_CORE_CONN_AG_CTX_DQ_CF_EN_MASK 0x1
207 #define XSTORM_CORE_CONN_AG_CTX_DQ_CF_EN_SHIFT 0
208 #define XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_EN_MASK 0x1
209 #define XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT 1
210 #define XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1
211 #define XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 2
212 #define XSTORM_CORE_CONN_AG_CTX_RESERVED11_MASK 0x1
213 #define XSTORM_CORE_CONN_AG_CTX_RESERVED11_SHIFT 3
214 #define XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1
215 #define XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
216 #define XSTORM_CORE_CONN_AG_CTX_CF23EN_MASK 0x1
217 #define XSTORM_CORE_CONN_AG_CTX_CF23EN_SHIFT 5
218 #define XSTORM_CORE_CONN_AG_CTX_RESERVED12_MASK 0x1
219 #define XSTORM_CORE_CONN_AG_CTX_RESERVED12_SHIFT 6
220 #define XSTORM_CORE_CONN_AG_CTX_RESERVED13_MASK 0x1
221 #define XSTORM_CORE_CONN_AG_CTX_RESERVED13_SHIFT 7
223 #define XSTORM_CORE_CONN_AG_CTX_RESERVED14_MASK 0x1
224 #define XSTORM_CORE_CONN_AG_CTX_RESERVED14_SHIFT 0
225 #define XSTORM_CORE_CONN_AG_CTX_RESERVED15_MASK 0x1
226 #define XSTORM_CORE_CONN_AG_CTX_RESERVED15_SHIFT 1
227 #define XSTORM_CORE_CONN_AG_CTX_TX_DEC_RULE_EN_MASK 0x1
228 #define XSTORM_CORE_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT 2
229 #define XSTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1
230 #define XSTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 3
231 #define XSTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1
232 #define XSTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 4
233 #define XSTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1
234 #define XSTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 5
235 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED1_MASK 0x1
236 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
237 #define XSTORM_CORE_CONN_AG_CTX_RULE9EN_MASK 0x1
238 #define XSTORM_CORE_CONN_AG_CTX_RULE9EN_SHIFT 7
240 #define XSTORM_CORE_CONN_AG_CTX_RULE10EN_MASK 0x1
241 #define XSTORM_CORE_CONN_AG_CTX_RULE10EN_SHIFT 0
242 #define XSTORM_CORE_CONN_AG_CTX_RULE11EN_MASK 0x1
243 #define XSTORM_CORE_CONN_AG_CTX_RULE11EN_SHIFT 1
244 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED2_MASK 0x1
245 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
246 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED3_MASK 0x1
247 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
248 #define XSTORM_CORE_CONN_AG_CTX_RULE14EN_MASK 0x1
249 #define XSTORM_CORE_CONN_AG_CTX_RULE14EN_SHIFT 4
250 #define XSTORM_CORE_CONN_AG_CTX_RULE15EN_MASK 0x1
251 #define XSTORM_CORE_CONN_AG_CTX_RULE15EN_SHIFT 5
252 #define XSTORM_CORE_CONN_AG_CTX_RULE16EN_MASK 0x1
253 #define XSTORM_CORE_CONN_AG_CTX_RULE16EN_SHIFT 6
254 #define XSTORM_CORE_CONN_AG_CTX_RULE17EN_MASK 0x1
255 #define XSTORM_CORE_CONN_AG_CTX_RULE17EN_SHIFT 7
257 #define XSTORM_CORE_CONN_AG_CTX_RULE18EN_MASK 0x1
258 #define XSTORM_CORE_CONN_AG_CTX_RULE18EN_SHIFT 0
259 #define XSTORM_CORE_CONN_AG_CTX_RULE19EN_MASK 0x1
260 #define XSTORM_CORE_CONN_AG_CTX_RULE19EN_SHIFT 1
261 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED4_MASK 0x1
262 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED4_SHIFT 2
263 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED5_MASK 0x1
264 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED5_SHIFT 3
265 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED6_MASK 0x1
266 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
267 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED7_MASK 0x1
268 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED7_SHIFT 5
269 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED8_MASK 0x1
270 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
271 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED9_MASK 0x1
272 #define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
274 #define XSTORM_CORE_CONN_AG_CTX_BIT16_MASK 0x1
275 #define XSTORM_CORE_CONN_AG_CTX_BIT16_SHIFT 0
276 #define XSTORM_CORE_CONN_AG_CTX_BIT17_MASK 0x1
277 #define XSTORM_CORE_CONN_AG_CTX_BIT17_SHIFT 1
278 #define XSTORM_CORE_CONN_AG_CTX_BIT18_MASK 0x1
279 #define XSTORM_CORE_CONN_AG_CTX_BIT18_SHIFT 2
280 #define XSTORM_CORE_CONN_AG_CTX_BIT19_MASK 0x1
281 #define XSTORM_CORE_CONN_AG_CTX_BIT19_SHIFT 3
282 #define XSTORM_CORE_CONN_AG_CTX_BIT20_MASK 0x1
283 #define XSTORM_CORE_CONN_AG_CTX_BIT20_SHIFT 4
284 #define XSTORM_CORE_CONN_AG_CTX_BIT21_MASK 0x1
285 #define XSTORM_CORE_CONN_AG_CTX_BIT21_SHIFT 5
286 #define XSTORM_CORE_CONN_AG_CTX_CF23_MASK 0x3
287 #define XSTORM_CORE_CONN_AG_CTX_CF23_SHIFT 6
290 __le16 consolid_prod;
293 __le16 tx_bd_or_spq_prod;
341 struct tstorm_core_conn_ag_ctx {
345 #define TSTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x1
346 #define TSTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 0
347 #define TSTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x1
348 #define TSTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 1
349 #define TSTORM_CORE_CONN_AG_CTX_BIT2_MASK 0x1
350 #define TSTORM_CORE_CONN_AG_CTX_BIT2_SHIFT 2
351 #define TSTORM_CORE_CONN_AG_CTX_BIT3_MASK 0x1
352 #define TSTORM_CORE_CONN_AG_CTX_BIT3_SHIFT 3
353 #define TSTORM_CORE_CONN_AG_CTX_BIT4_MASK 0x1
354 #define TSTORM_CORE_CONN_AG_CTX_BIT4_SHIFT 4
355 #define TSTORM_CORE_CONN_AG_CTX_BIT5_MASK 0x1
356 #define TSTORM_CORE_CONN_AG_CTX_BIT5_SHIFT 5
357 #define TSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3
358 #define TSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 6
360 #define TSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3
361 #define TSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 0
362 #define TSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3
363 #define TSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 2
364 #define TSTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3
365 #define TSTORM_CORE_CONN_AG_CTX_CF3_SHIFT 4
366 #define TSTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3
367 #define TSTORM_CORE_CONN_AG_CTX_CF4_SHIFT 6
369 #define TSTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3
370 #define TSTORM_CORE_CONN_AG_CTX_CF5_SHIFT 0
371 #define TSTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3
372 #define TSTORM_CORE_CONN_AG_CTX_CF6_SHIFT 2
373 #define TSTORM_CORE_CONN_AG_CTX_CF7_MASK 0x3
374 #define TSTORM_CORE_CONN_AG_CTX_CF7_SHIFT 4
375 #define TSTORM_CORE_CONN_AG_CTX_CF8_MASK 0x3
376 #define TSTORM_CORE_CONN_AG_CTX_CF8_SHIFT 6
378 #define TSTORM_CORE_CONN_AG_CTX_CF9_MASK 0x3
379 #define TSTORM_CORE_CONN_AG_CTX_CF9_SHIFT 0
380 #define TSTORM_CORE_CONN_AG_CTX_CF10_MASK 0x3
381 #define TSTORM_CORE_CONN_AG_CTX_CF10_SHIFT 2
382 #define TSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1
383 #define TSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 4
384 #define TSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1
385 #define TSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 5
386 #define TSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1
387 #define TSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 6
388 #define TSTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1
389 #define TSTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 7
391 #define TSTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1
392 #define TSTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 0
393 #define TSTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1
394 #define TSTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 1
395 #define TSTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1
396 #define TSTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 2
397 #define TSTORM_CORE_CONN_AG_CTX_CF7EN_MASK 0x1
398 #define TSTORM_CORE_CONN_AG_CTX_CF7EN_SHIFT 3
399 #define TSTORM_CORE_CONN_AG_CTX_CF8EN_MASK 0x1
400 #define TSTORM_CORE_CONN_AG_CTX_CF8EN_SHIFT 4
401 #define TSTORM_CORE_CONN_AG_CTX_CF9EN_MASK 0x1
402 #define TSTORM_CORE_CONN_AG_CTX_CF9EN_SHIFT 5
403 #define TSTORM_CORE_CONN_AG_CTX_CF10EN_MASK 0x1
404 #define TSTORM_CORE_CONN_AG_CTX_CF10EN_SHIFT 6
405 #define TSTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x1
406 #define TSTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 7
408 #define TSTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x1
409 #define TSTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 0
410 #define TSTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x1
411 #define TSTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 1
412 #define TSTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x1
413 #define TSTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 2
414 #define TSTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x1
415 #define TSTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 3
416 #define TSTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1
417 #define TSTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 4
418 #define TSTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1
419 #define TSTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 5
420 #define TSTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1
421 #define TSTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 6
422 #define TSTORM_CORE_CONN_AG_CTX_RULE8EN_MASK 0x1
423 #define TSTORM_CORE_CONN_AG_CTX_RULE8EN_SHIFT 7
445 struct ustorm_core_conn_ag_ctx {
449 #define USTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x1
450 #define USTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 0
451 #define USTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x1
452 #define USTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 1
453 #define USTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3
454 #define USTORM_CORE_CONN_AG_CTX_CF0_SHIFT 2
455 #define USTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3
456 #define USTORM_CORE_CONN_AG_CTX_CF1_SHIFT 4
457 #define USTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3
458 #define USTORM_CORE_CONN_AG_CTX_CF2_SHIFT 6
460 #define USTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3
461 #define USTORM_CORE_CONN_AG_CTX_CF3_SHIFT 0
462 #define USTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3
463 #define USTORM_CORE_CONN_AG_CTX_CF4_SHIFT 2
464 #define USTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3
465 #define USTORM_CORE_CONN_AG_CTX_CF5_SHIFT 4
466 #define USTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3
467 #define USTORM_CORE_CONN_AG_CTX_CF6_SHIFT 6
469 #define USTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1
470 #define USTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 0
471 #define USTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1
472 #define USTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 1
473 #define USTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1
474 #define USTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 2
475 #define USTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1
476 #define USTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 3
477 #define USTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1
478 #define USTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 4
479 #define USTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1
480 #define USTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 5
481 #define USTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1
482 #define USTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 6
483 #define USTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x1
484 #define USTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 7
486 #define USTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x1
487 #define USTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 0
488 #define USTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x1
489 #define USTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 1
490 #define USTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x1
491 #define USTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 2
492 #define USTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x1
493 #define USTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 3
494 #define USTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1
495 #define USTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 4
496 #define USTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1
497 #define USTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 5
498 #define USTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1
499 #define USTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 6
500 #define USTORM_CORE_CONN_AG_CTX_RULE8EN_MASK 0x1
501 #define USTORM_CORE_CONN_AG_CTX_RULE8EN_SHIFT 7
514 /* The core storm context for the Mstorm */
515 struct mstorm_core_conn_st_ctx {
519 /* The core storm context for the Ustorm */
520 struct ustorm_core_conn_st_ctx {
524 /* core connection context */
525 struct core_conn_context {
526 struct ystorm_core_conn_st_ctx ystorm_st_context;
527 struct regpair ystorm_st_padding[2];
528 struct pstorm_core_conn_st_ctx pstorm_st_context;
529 struct regpair pstorm_st_padding[2];
530 struct xstorm_core_conn_st_ctx xstorm_st_context;
531 struct xstorm_core_conn_ag_ctx xstorm_ag_context;
532 struct tstorm_core_conn_ag_ctx tstorm_ag_context;
533 struct ustorm_core_conn_ag_ctx ustorm_ag_context;
534 struct mstorm_core_conn_st_ctx mstorm_st_context;
535 struct ustorm_core_conn_st_ctx ustorm_st_context;
536 struct regpair ustorm_st_padding[2];
539 struct eth_mstorm_per_pf_stat {
540 struct regpair gre_discard_pkts;
541 struct regpair vxlan_discard_pkts;
542 struct regpair geneve_discard_pkts;
543 struct regpair lb_discard_pkts;
546 struct eth_mstorm_per_queue_stat {
547 struct regpair ttl0_discard;
548 struct regpair packet_too_big_discard;
549 struct regpair no_buff_discard;
550 struct regpair not_active_discard;
551 struct regpair tpa_coalesced_pkts;
552 struct regpair tpa_coalesced_events;
553 struct regpair tpa_aborts_num;
554 struct regpair tpa_coalesced_bytes;
557 /* Ethernet TX Per PF */
558 struct eth_pstorm_per_pf_stat {
559 struct regpair sent_lb_ucast_bytes;
560 struct regpair sent_lb_mcast_bytes;
561 struct regpair sent_lb_bcast_bytes;
562 struct regpair sent_lb_ucast_pkts;
563 struct regpair sent_lb_mcast_pkts;
564 struct regpair sent_lb_bcast_pkts;
565 struct regpair sent_gre_bytes;
566 struct regpair sent_vxlan_bytes;
567 struct regpair sent_geneve_bytes;
568 struct regpair sent_gre_pkts;
569 struct regpair sent_vxlan_pkts;
570 struct regpair sent_geneve_pkts;
571 struct regpair gre_drop_pkts;
572 struct regpair vxlan_drop_pkts;
573 struct regpair geneve_drop_pkts;
576 /* Ethernet TX Per Queue Stats */
577 struct eth_pstorm_per_queue_stat {
578 struct regpair sent_ucast_bytes;
579 struct regpair sent_mcast_bytes;
580 struct regpair sent_bcast_bytes;
581 struct regpair sent_ucast_pkts;
582 struct regpair sent_mcast_pkts;
583 struct regpair sent_bcast_pkts;
584 struct regpair error_drop_pkts;
587 /* ETH Rx producers data */
588 struct eth_rx_rate_limit {
596 struct eth_ustorm_per_pf_stat {
597 struct regpair rcv_lb_ucast_bytes;
598 struct regpair rcv_lb_mcast_bytes;
599 struct regpair rcv_lb_bcast_bytes;
600 struct regpair rcv_lb_ucast_pkts;
601 struct regpair rcv_lb_mcast_pkts;
602 struct regpair rcv_lb_bcast_pkts;
603 struct regpair rcv_gre_bytes;
604 struct regpair rcv_vxlan_bytes;
605 struct regpair rcv_geneve_bytes;
606 struct regpair rcv_gre_pkts;
607 struct regpair rcv_vxlan_pkts;
608 struct regpair rcv_geneve_pkts;
611 struct eth_ustorm_per_queue_stat {
612 struct regpair rcv_ucast_bytes;
613 struct regpair rcv_mcast_bytes;
614 struct regpair rcv_bcast_bytes;
615 struct regpair rcv_ucast_pkts;
616 struct regpair rcv_mcast_pkts;
617 struct regpair rcv_bcast_pkts;
620 /* Event Ring Next Page Address */
621 struct event_ring_next_addr {
626 /* Event Ring Element */
627 union event_ring_element {
628 struct event_ring_entry entry;
629 struct event_ring_next_addr next_addr;
632 /* Major and Minor hsi Versions */
633 struct hsi_fp_ver_struct {
638 /* Mstorm non-triggering VF zone */
639 struct mstorm_non_trigger_vf_zone {
640 struct eth_mstorm_per_queue_stat eth_queue_stat;
641 struct eth_rx_prod_data eth_rx_queue_producers[ETH_MAX_NUM_RX_QUEUES_PER_VF];
645 struct mstorm_vf_zone {
646 struct mstorm_non_trigger_vf_zone non_trigger;
650 /* personality per PF */
651 enum personality_type {
654 PERSONALITY_RESERVED2,
655 PERSONALITY_RDMA_AND_ETH,
656 PERSONALITY_RESERVED3,
659 PERSONALITY_RESERVED4,
663 /* tunnel configuration */
664 struct pf_start_tunnel_config {
665 u8 set_vxlan_udp_port_flg;
666 u8 set_geneve_udp_port_flg;
668 u8 tx_enable_l2geneve;
669 u8 tx_enable_ipgeneve;
672 u8 tunnel_clss_vxlan;
673 u8 tunnel_clss_l2geneve;
674 u8 tunnel_clss_ipgeneve;
675 u8 tunnel_clss_l2gre;
676 u8 tunnel_clss_ipgre;
677 __le16 vxlan_udp_port;
678 __le16 geneve_udp_port;
681 /* Ramrod data for PF start ramrod */
682 struct pf_start_ramrod_data {
683 struct regpair event_ring_pbl_addr;
684 struct regpair consolid_q_pbl_addr;
685 struct pf_start_tunnel_config tunnel_config;
686 __le16 event_ring_sb_id;
689 u8 event_ring_num_pages;
690 u8 event_ring_sb_index;
695 __le16 log_type_mask;
698 u8 allow_npar_tx_switching;
699 u8 inner_to_outer_pri_map[8];
702 struct hsi_fp_ver_struct hsi_fp_ver;
706 struct protocol_dcb_data {
713 struct pf_update_tunnel_config {
714 u8 update_rx_pf_clss;
715 u8 update_tx_pf_clss;
716 u8 set_vxlan_udp_port_flg;
717 u8 set_geneve_udp_port_flg;
719 u8 tx_enable_l2geneve;
720 u8 tx_enable_ipgeneve;
723 u8 tunnel_clss_vxlan;
724 u8 tunnel_clss_l2geneve;
725 u8 tunnel_clss_ipgeneve;
726 u8 tunnel_clss_l2gre;
727 u8 tunnel_clss_ipgre;
728 __le16 vxlan_udp_port;
729 __le16 geneve_udp_port;
733 struct pf_update_ramrod_data {
735 u8 update_eth_dcb_data_flag;
736 u8 update_fcoe_dcb_data_flag;
737 u8 update_iscsi_dcb_data_flag;
738 u8 update_roce_dcb_data_flag;
739 u8 update_iwarp_dcb_data_flag;
740 u8 update_mf_vlan_flag;
742 struct protocol_dcb_data eth_dcb_data;
743 struct protocol_dcb_data fcoe_dcb_data;
744 struct protocol_dcb_data iscsi_dcb_data;
745 struct protocol_dcb_data roce_dcb_data;
746 struct protocol_dcb_data iwarp_dcb_data;
749 struct pf_update_tunnel_config tunnel_config;
762 /* use to index in hsi_fp_[major|minor]_ver_arr per protocol */
763 enum protocol_version_array_key {
766 MAX_PROTOCOL_VERSION_ARRAY_KEY
769 /* Pstorm non-triggering VF zone */
770 struct pstorm_non_trigger_vf_zone {
771 struct eth_pstorm_per_queue_stat eth_queue_stat;
772 struct regpair reserved[2];
776 struct pstorm_vf_zone {
777 struct pstorm_non_trigger_vf_zone non_trigger;
778 struct regpair reserved[7];
781 /* Ramrod Header of SPQE */
782 struct ramrod_header {
789 /* Slowpath Element (SPQE) */
790 struct slow_path_element {
791 struct ramrod_header hdr;
792 struct regpair data_ptr;
795 /* Tstorm non-triggering VF zone */
796 struct tstorm_non_trigger_vf_zone {
797 struct regpair reserved[2];
800 struct tstorm_per_port_stat {
801 struct regpair trunc_error_discard;
802 struct regpair mac_error_discard;
803 struct regpair mftag_filter_discard;
804 struct regpair eth_mac_filter_discard;
805 struct regpair reserved[5];
806 struct regpair eth_irregular_pkt;
807 struct regpair reserved1[2];
808 struct regpair eth_gre_tunn_filter_discard;
809 struct regpair eth_vxlan_tunn_filter_discard;
810 struct regpair eth_geneve_tunn_filter_discard;
814 struct tstorm_vf_zone {
815 struct tstorm_non_trigger_vf_zone non_trigger;
818 /* Tunnel classification scheme */
820 TUNNEL_CLSS_MAC_VLAN = 0,
822 TUNNEL_CLSS_INNER_MAC_VLAN,
823 TUNNEL_CLSS_INNER_MAC_VNI,
824 TUNNEL_CLSS_MAC_VLAN_DUAL_STAGE,
828 /* Ustorm non-triggering VF zone */
829 struct ustorm_non_trigger_vf_zone {
830 struct eth_ustorm_per_queue_stat eth_queue_stat;
831 struct regpair vf_pf_msg_addr;
834 /* Ustorm triggering VF zone */
835 struct ustorm_trigger_vf_zone {
841 struct ustorm_vf_zone {
842 struct ustorm_non_trigger_vf_zone non_trigger;
843 struct ustorm_trigger_vf_zone trigger;
846 /* VF-PF channel data */
847 struct vf_pf_channel_data {
854 /* Ramrod data for VF start ramrod */
855 struct vf_start_ramrod_data {
861 struct hsi_fp_ver_struct hsi_fp_ver;
865 /* Ramrod data for VF start ramrod */
866 struct vf_stop_ramrod_data {
873 /* Attentions status block */
874 struct atten_status_block {
882 enum command_type_bit {
883 IGU_COMMAND_TYPE_NOP = 0,
884 IGU_COMMAND_TYPE_SET = 1,
891 #define DMAE_CMD_SRC_MASK 0x1
892 #define DMAE_CMD_SRC_SHIFT 0
893 #define DMAE_CMD_DST_MASK 0x3
894 #define DMAE_CMD_DST_SHIFT 1
895 #define DMAE_CMD_C_DST_MASK 0x1
896 #define DMAE_CMD_C_DST_SHIFT 3
897 #define DMAE_CMD_CRC_RESET_MASK 0x1
898 #define DMAE_CMD_CRC_RESET_SHIFT 4
899 #define DMAE_CMD_SRC_ADDR_RESET_MASK 0x1
900 #define DMAE_CMD_SRC_ADDR_RESET_SHIFT 5
901 #define DMAE_CMD_DST_ADDR_RESET_MASK 0x1
902 #define DMAE_CMD_DST_ADDR_RESET_SHIFT 6
903 #define DMAE_CMD_COMP_FUNC_MASK 0x1
904 #define DMAE_CMD_COMP_FUNC_SHIFT 7
905 #define DMAE_CMD_COMP_WORD_EN_MASK 0x1
906 #define DMAE_CMD_COMP_WORD_EN_SHIFT 8
907 #define DMAE_CMD_COMP_CRC_EN_MASK 0x1
908 #define DMAE_CMD_COMP_CRC_EN_SHIFT 9
909 #define DMAE_CMD_COMP_CRC_OFFSET_MASK 0x7
910 #define DMAE_CMD_COMP_CRC_OFFSET_SHIFT 10
911 #define DMAE_CMD_RESERVED1_MASK 0x1
912 #define DMAE_CMD_RESERVED1_SHIFT 13
913 #define DMAE_CMD_ENDIANITY_MODE_MASK 0x3
914 #define DMAE_CMD_ENDIANITY_MODE_SHIFT 14
915 #define DMAE_CMD_ERR_HANDLING_MASK 0x3
916 #define DMAE_CMD_ERR_HANDLING_SHIFT 16
917 #define DMAE_CMD_PORT_ID_MASK 0x3
918 #define DMAE_CMD_PORT_ID_SHIFT 18
919 #define DMAE_CMD_SRC_PF_ID_MASK 0xF
920 #define DMAE_CMD_SRC_PF_ID_SHIFT 20
921 #define DMAE_CMD_DST_PF_ID_MASK 0xF
922 #define DMAE_CMD_DST_PF_ID_SHIFT 24
923 #define DMAE_CMD_SRC_VF_ID_VALID_MASK 0x1
924 #define DMAE_CMD_SRC_VF_ID_VALID_SHIFT 28
925 #define DMAE_CMD_DST_VF_ID_VALID_MASK 0x1
926 #define DMAE_CMD_DST_VF_ID_VALID_SHIFT 29
927 #define DMAE_CMD_RESERVED2_MASK 0x3
928 #define DMAE_CMD_RESERVED2_SHIFT 30
935 #define DMAE_CMD_SRC_VF_ID_MASK 0xFF
936 #define DMAE_CMD_SRC_VF_ID_SHIFT 0
937 #define DMAE_CMD_DST_VF_ID_MASK 0xFF
938 #define DMAE_CMD_DST_VF_ID_SHIFT 8
952 enum dmae_cmd_comp_crc_en_enum {
953 dmae_cmd_comp_crc_disabled,
954 dmae_cmd_comp_crc_enabled,
955 MAX_DMAE_CMD_COMP_CRC_EN_ENUM
958 enum dmae_cmd_comp_func_enum {
959 dmae_cmd_comp_func_to_src,
960 dmae_cmd_comp_func_to_dst,
961 MAX_DMAE_CMD_COMP_FUNC_ENUM
964 enum dmae_cmd_comp_word_en_enum {
965 dmae_cmd_comp_word_disabled,
966 dmae_cmd_comp_word_enabled,
967 MAX_DMAE_CMD_COMP_WORD_EN_ENUM
970 enum dmae_cmd_c_dst_enum {
973 MAX_DMAE_CMD_C_DST_ENUM
976 enum dmae_cmd_dst_enum {
981 MAX_DMAE_CMD_DST_ENUM
984 enum dmae_cmd_error_handling_enum {
985 dmae_cmd_error_handling_send_regular_comp,
986 dmae_cmd_error_handling_send_comp_with_err,
987 dmae_cmd_error_handling_dont_send_comp,
988 MAX_DMAE_CMD_ERROR_HANDLING_ENUM
991 enum dmae_cmd_src_enum {
994 MAX_DMAE_CMD_SRC_ENUM
997 /* IGU cleanup command */
999 __le32 sb_id_and_flags;
1000 #define IGU_CLEANUP_RESERVED0_MASK 0x7FFFFFF
1001 #define IGU_CLEANUP_RESERVED0_SHIFT 0
1002 #define IGU_CLEANUP_CLEANUP_SET_MASK 0x1
1003 #define IGU_CLEANUP_CLEANUP_SET_SHIFT 27
1004 #define IGU_CLEANUP_CLEANUP_TYPE_MASK 0x7
1005 #define IGU_CLEANUP_CLEANUP_TYPE_SHIFT 28
1006 #define IGU_CLEANUP_COMMAND_TYPE_MASK 0x1
1007 #define IGU_CLEANUP_COMMAND_TYPE_SHIFT 31
1011 /* IGU firmware driver command */
1013 struct igu_prod_cons_update prod_cons_update;
1014 struct igu_cleanup cleanup;
1017 /* IGU firmware driver command */
1018 struct igu_command_reg_ctrl {
1020 __le16 igu_command_reg_ctrl_fields;
1021 #define IGU_COMMAND_REG_CTRL_PXP_BAR_ADDR_MASK 0xFFF
1022 #define IGU_COMMAND_REG_CTRL_PXP_BAR_ADDR_SHIFT 0
1023 #define IGU_COMMAND_REG_CTRL_RESERVED_MASK 0x7
1024 #define IGU_COMMAND_REG_CTRL_RESERVED_SHIFT 12
1025 #define IGU_COMMAND_REG_CTRL_COMMAND_TYPE_MASK 0x1
1026 #define IGU_COMMAND_REG_CTRL_COMMAND_TYPE_SHIFT 15
1029 /* IGU mapping line structure */
1030 struct igu_mapping_line {
1031 __le32 igu_mapping_line_fields;
1032 #define IGU_MAPPING_LINE_VALID_MASK 0x1
1033 #define IGU_MAPPING_LINE_VALID_SHIFT 0
1034 #define IGU_MAPPING_LINE_VECTOR_NUMBER_MASK 0xFF
1035 #define IGU_MAPPING_LINE_VECTOR_NUMBER_SHIFT 1
1036 #define IGU_MAPPING_LINE_FUNCTION_NUMBER_MASK 0xFF
1037 #define IGU_MAPPING_LINE_FUNCTION_NUMBER_SHIFT 9
1038 #define IGU_MAPPING_LINE_PF_VALID_MASK 0x1
1039 #define IGU_MAPPING_LINE_PF_VALID_SHIFT 17
1040 #define IGU_MAPPING_LINE_IPS_GROUP_MASK 0x3F
1041 #define IGU_MAPPING_LINE_IPS_GROUP_SHIFT 18
1042 #define IGU_MAPPING_LINE_RESERVED_MASK 0xFF
1043 #define IGU_MAPPING_LINE_RESERVED_SHIFT 24
1046 /* IGU MSIX line structure */
1047 struct igu_msix_vector {
1048 struct regpair address;
1050 __le32 msix_vector_fields;
1051 #define IGU_MSIX_VECTOR_MASK_BIT_MASK 0x1
1052 #define IGU_MSIX_VECTOR_MASK_BIT_SHIFT 0
1053 #define IGU_MSIX_VECTOR_RESERVED0_MASK 0x7FFF
1054 #define IGU_MSIX_VECTOR_RESERVED0_SHIFT 1
1055 #define IGU_MSIX_VECTOR_STEERING_TAG_MASK 0xFF
1056 #define IGU_MSIX_VECTOR_STEERING_TAG_SHIFT 16
1057 #define IGU_MSIX_VECTOR_RESERVED1_MASK 0xFF
1058 #define IGU_MSIX_VECTOR_RESERVED1_SHIFT 24
1061 struct mstorm_core_conn_ag_ctx {
1065 #define MSTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x1
1066 #define MSTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 0
1067 #define MSTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x1
1068 #define MSTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 1
1069 #define MSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3
1070 #define MSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 2
1071 #define MSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3
1072 #define MSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 4
1073 #define MSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3
1074 #define MSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 6
1076 #define MSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1
1077 #define MSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 0
1078 #define MSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1
1079 #define MSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 1
1080 #define MSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1
1081 #define MSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 2
1082 #define MSTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x1
1083 #define MSTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 3
1084 #define MSTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x1
1085 #define MSTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 4
1086 #define MSTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x1
1087 #define MSTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 5
1088 #define MSTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x1
1089 #define MSTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 6
1090 #define MSTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x1
1091 #define MSTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 7
1098 /* per encapsulation type enabling flags */
1099 struct prs_reg_encapsulation_type_en {
1101 #define PRS_REG_ENCAPSULATION_TYPE_EN_ETH_OVER_GRE_ENABLE_MASK 0x1
1102 #define PRS_REG_ENCAPSULATION_TYPE_EN_ETH_OVER_GRE_ENABLE_SHIFT 0
1103 #define PRS_REG_ENCAPSULATION_TYPE_EN_IP_OVER_GRE_ENABLE_MASK 0x1
1104 #define PRS_REG_ENCAPSULATION_TYPE_EN_IP_OVER_GRE_ENABLE_SHIFT 1
1105 #define PRS_REG_ENCAPSULATION_TYPE_EN_VXLAN_ENABLE_MASK 0x1
1106 #define PRS_REG_ENCAPSULATION_TYPE_EN_VXLAN_ENABLE_SHIFT 2
1107 #define PRS_REG_ENCAPSULATION_TYPE_EN_T_TAG_ENABLE_MASK 0x1
1108 #define PRS_REG_ENCAPSULATION_TYPE_EN_T_TAG_ENABLE_SHIFT 3
1109 #define PRS_REG_ENCAPSULATION_TYPE_EN_ETH_OVER_GENEVE_ENABLE_MASK 0x1
1110 #define PRS_REG_ENCAPSULATION_TYPE_EN_ETH_OVER_GENEVE_ENABLE_SHIFT 4
1111 #define PRS_REG_ENCAPSULATION_TYPE_EN_IP_OVER_GENEVE_ENABLE_MASK 0x1
1112 #define PRS_REG_ENCAPSULATION_TYPE_EN_IP_OVER_GENEVE_ENABLE_SHIFT 5
1113 #define PRS_REG_ENCAPSULATION_TYPE_EN_RESERVED_MASK 0x3
1114 #define PRS_REG_ENCAPSULATION_TYPE_EN_RESERVED_SHIFT 6
1117 enum pxp_tph_st_hint {
1119 TPH_ST_HINT_REQUESTER,
1121 TPH_ST_HINT_TARGET_PRIO,
1125 /* QM hardware structure of enable bypass credit mask */
1126 struct qm_rf_bypass_mask {
1128 #define QM_RF_BYPASS_MASK_LINEVOQ_MASK 0x1
1129 #define QM_RF_BYPASS_MASK_LINEVOQ_SHIFT 0
1130 #define QM_RF_BYPASS_MASK_RESERVED0_MASK 0x1
1131 #define QM_RF_BYPASS_MASK_RESERVED0_SHIFT 1
1132 #define QM_RF_BYPASS_MASK_PFWFQ_MASK 0x1
1133 #define QM_RF_BYPASS_MASK_PFWFQ_SHIFT 2
1134 #define QM_RF_BYPASS_MASK_VPWFQ_MASK 0x1
1135 #define QM_RF_BYPASS_MASK_VPWFQ_SHIFT 3
1136 #define QM_RF_BYPASS_MASK_PFRL_MASK 0x1
1137 #define QM_RF_BYPASS_MASK_PFRL_SHIFT 4
1138 #define QM_RF_BYPASS_MASK_VPQCNRL_MASK 0x1
1139 #define QM_RF_BYPASS_MASK_VPQCNRL_SHIFT 5
1140 #define QM_RF_BYPASS_MASK_FWPAUSE_MASK 0x1
1141 #define QM_RF_BYPASS_MASK_FWPAUSE_SHIFT 6
1142 #define QM_RF_BYPASS_MASK_RESERVED1_MASK 0x1
1143 #define QM_RF_BYPASS_MASK_RESERVED1_SHIFT 7
1146 /* QM hardware structure of opportunistic credit mask */
1147 struct qm_rf_opportunistic_mask {
1149 #define QM_RF_OPPORTUNISTIC_MASK_LINEVOQ_MASK 0x1
1150 #define QM_RF_OPPORTUNISTIC_MASK_LINEVOQ_SHIFT 0
1151 #define QM_RF_OPPORTUNISTIC_MASK_BYTEVOQ_MASK 0x1
1152 #define QM_RF_OPPORTUNISTIC_MASK_BYTEVOQ_SHIFT 1
1153 #define QM_RF_OPPORTUNISTIC_MASK_PFWFQ_MASK 0x1
1154 #define QM_RF_OPPORTUNISTIC_MASK_PFWFQ_SHIFT 2
1155 #define QM_RF_OPPORTUNISTIC_MASK_VPWFQ_MASK 0x1
1156 #define QM_RF_OPPORTUNISTIC_MASK_VPWFQ_SHIFT 3
1157 #define QM_RF_OPPORTUNISTIC_MASK_PFRL_MASK 0x1
1158 #define QM_RF_OPPORTUNISTIC_MASK_PFRL_SHIFT 4
1159 #define QM_RF_OPPORTUNISTIC_MASK_VPQCNRL_MASK 0x1
1160 #define QM_RF_OPPORTUNISTIC_MASK_VPQCNRL_SHIFT 5
1161 #define QM_RF_OPPORTUNISTIC_MASK_FWPAUSE_MASK 0x1
1162 #define QM_RF_OPPORTUNISTIC_MASK_FWPAUSE_SHIFT 6
1163 #define QM_RF_OPPORTUNISTIC_MASK_RESERVED0_MASK 0x1
1164 #define QM_RF_OPPORTUNISTIC_MASK_RESERVED0_SHIFT 7
1165 #define QM_RF_OPPORTUNISTIC_MASK_QUEUEEMPTY_MASK 0x1
1166 #define QM_RF_OPPORTUNISTIC_MASK_QUEUEEMPTY_SHIFT 8
1167 #define QM_RF_OPPORTUNISTIC_MASK_RESERVED1_MASK 0x7F
1168 #define QM_RF_OPPORTUNISTIC_MASK_RESERVED1_SHIFT 9
1171 /* QM hardware structure of QM map memory */
1172 struct qm_rf_pq_map {
1174 #define QM_RF_PQ_MAP_PQ_VALID_MASK 0x1
1175 #define QM_RF_PQ_MAP_PQ_VALID_SHIFT 0
1176 #define QM_RF_PQ_MAP_RL_ID_MASK 0xFF
1177 #define QM_RF_PQ_MAP_RL_ID_SHIFT 1
1178 #define QM_RF_PQ_MAP_VP_PQ_ID_MASK 0x1FF
1179 #define QM_RF_PQ_MAP_VP_PQ_ID_SHIFT 9
1180 #define QM_RF_PQ_MAP_VOQ_MASK 0x1F
1181 #define QM_RF_PQ_MAP_VOQ_SHIFT 18
1182 #define QM_RF_PQ_MAP_WRR_WEIGHT_GROUP_MASK 0x3
1183 #define QM_RF_PQ_MAP_WRR_WEIGHT_GROUP_SHIFT 23
1184 #define QM_RF_PQ_MAP_RL_VALID_MASK 0x1
1185 #define QM_RF_PQ_MAP_RL_VALID_SHIFT 25
1186 #define QM_RF_PQ_MAP_RESERVED_MASK 0x3F
1187 #define QM_RF_PQ_MAP_RESERVED_SHIFT 26
1190 /* Completion params for aggregated interrupt completion */
1191 struct sdm_agg_int_comp_params {
1193 #define SDM_AGG_INT_COMP_PARAMS_AGG_INT_INDEX_MASK 0x3F
1194 #define SDM_AGG_INT_COMP_PARAMS_AGG_INT_INDEX_SHIFT 0
1195 #define SDM_AGG_INT_COMP_PARAMS_AGG_VECTOR_ENABLE_MASK 0x1
1196 #define SDM_AGG_INT_COMP_PARAMS_AGG_VECTOR_ENABLE_SHIFT 6
1197 #define SDM_AGG_INT_COMP_PARAMS_AGG_VECTOR_BIT_MASK 0x1FF
1198 #define SDM_AGG_INT_COMP_PARAMS_AGG_VECTOR_BIT_SHIFT 7
1201 /* SDM operation gen command (generate aggregative interrupt) */
1204 #define SDM_OP_GEN_COMP_PARAM_MASK 0xFFFF
1205 #define SDM_OP_GEN_COMP_PARAM_SHIFT 0
1206 #define SDM_OP_GEN_COMP_TYPE_MASK 0xF
1207 #define SDM_OP_GEN_COMP_TYPE_SHIFT 16
1208 #define SDM_OP_GEN_RESERVED_MASK 0xFFF
1209 #define SDM_OP_GEN_RESERVED_SHIFT 20
1212 struct ystorm_core_conn_ag_ctx {
1216 #define YSTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x1
1217 #define YSTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 0
1218 #define YSTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x1
1219 #define YSTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 1
1220 #define YSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3
1221 #define YSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 2
1222 #define YSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3
1223 #define YSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 4
1224 #define YSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3
1225 #define YSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 6
1227 #define YSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1
1228 #define YSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 0
1229 #define YSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1
1230 #define YSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 1
1231 #define YSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1
1232 #define YSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 2
1233 #define YSTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x1
1234 #define YSTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 3
1235 #define YSTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x1
1236 #define YSTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 4
1237 #define YSTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x1
1238 #define YSTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 5
1239 #define YSTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x1
1240 #define YSTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 6
1241 #define YSTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x1
1242 #define YSTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 7
1256 /****************************************/
1257 /* Debug Tools HSI constants and macros */
1258 /****************************************/
1261 GRCBASE_GRC = 0x50000,
1262 GRCBASE_MISCS = 0x9000,
1263 GRCBASE_MISC = 0x8000,
1264 GRCBASE_DBU = 0xa000,
1265 GRCBASE_PGLUE_B = 0x2a8000,
1266 GRCBASE_CNIG = 0x218000,
1267 GRCBASE_CPMU = 0x30000,
1268 GRCBASE_NCSI = 0x40000,
1269 GRCBASE_OPTE = 0x53000,
1270 GRCBASE_BMB = 0x540000,
1271 GRCBASE_PCIE = 0x54000,
1272 GRCBASE_MCP = 0xe00000,
1273 GRCBASE_MCP2 = 0x52000,
1274 GRCBASE_PSWHST = 0x2a0000,
1275 GRCBASE_PSWHST2 = 0x29e000,
1276 GRCBASE_PSWRD = 0x29c000,
1277 GRCBASE_PSWRD2 = 0x29d000,
1278 GRCBASE_PSWWR = 0x29a000,
1279 GRCBASE_PSWWR2 = 0x29b000,
1280 GRCBASE_PSWRQ = 0x280000,
1281 GRCBASE_PSWRQ2 = 0x240000,
1282 GRCBASE_PGLCS = 0x0,
1283 GRCBASE_DMAE = 0xc000,
1284 GRCBASE_PTU = 0x560000,
1285 GRCBASE_TCM = 0x1180000,
1286 GRCBASE_MCM = 0x1200000,
1287 GRCBASE_UCM = 0x1280000,
1288 GRCBASE_XCM = 0x1000000,
1289 GRCBASE_YCM = 0x1080000,
1290 GRCBASE_PCM = 0x1100000,
1291 GRCBASE_QM = 0x2f0000,
1292 GRCBASE_TM = 0x2c0000,
1293 GRCBASE_DORQ = 0x100000,
1294 GRCBASE_BRB = 0x340000,
1295 GRCBASE_SRC = 0x238000,
1296 GRCBASE_PRS = 0x1f0000,
1297 GRCBASE_TSDM = 0xfb0000,
1298 GRCBASE_MSDM = 0xfc0000,
1299 GRCBASE_USDM = 0xfd0000,
1300 GRCBASE_XSDM = 0xf80000,
1301 GRCBASE_YSDM = 0xf90000,
1302 GRCBASE_PSDM = 0xfa0000,
1303 GRCBASE_TSEM = 0x1700000,
1304 GRCBASE_MSEM = 0x1800000,
1305 GRCBASE_USEM = 0x1900000,
1306 GRCBASE_XSEM = 0x1400000,
1307 GRCBASE_YSEM = 0x1500000,
1308 GRCBASE_PSEM = 0x1600000,
1309 GRCBASE_RSS = 0x238800,
1310 GRCBASE_TMLD = 0x4d0000,
1311 GRCBASE_MULD = 0x4e0000,
1312 GRCBASE_YULD = 0x4c8000,
1313 GRCBASE_XYLD = 0x4c0000,
1314 GRCBASE_PRM = 0x230000,
1315 GRCBASE_PBF_PB1 = 0xda0000,
1316 GRCBASE_PBF_PB2 = 0xda4000,
1317 GRCBASE_RPB = 0x23c000,
1318 GRCBASE_BTB = 0xdb0000,
1319 GRCBASE_PBF = 0xd80000,
1320 GRCBASE_RDIF = 0x300000,
1321 GRCBASE_TDIF = 0x310000,
1322 GRCBASE_CDU = 0x580000,
1323 GRCBASE_CCFC = 0x2e0000,
1324 GRCBASE_TCFC = 0x2d0000,
1325 GRCBASE_IGU = 0x180000,
1326 GRCBASE_CAU = 0x1c0000,
1327 GRCBASE_UMAC = 0x51000,
1328 GRCBASE_XMAC = 0x210000,
1329 GRCBASE_DBG = 0x10000,
1330 GRCBASE_NIG = 0x500000,
1331 GRCBASE_WOL = 0x600000,
1332 GRCBASE_BMBN = 0x610000,
1333 GRCBASE_IPC = 0x20000,
1334 GRCBASE_NWM = 0x800000,
1335 GRCBASE_NWS = 0x700000,
1336 GRCBASE_MS = 0x6a0000,
1337 GRCBASE_PHY_PCIE = 0x620000,
1338 GRCBASE_LED = 0x6b8000,
1339 GRCBASE_MISC_AEU = 0x8000,
1340 GRCBASE_BAR0_MAP = 0x1c00000,
1428 /* binary debug buffer types */
1429 enum bin_dbg_buffer_type {
1430 BIN_BUF_DBG_MODE_TREE,
1431 BIN_BUF_DBG_DUMP_REG,
1432 BIN_BUF_DBG_DUMP_MEM,
1433 BIN_BUF_DBG_IDLE_CHK_REGS,
1434 BIN_BUF_DBG_IDLE_CHK_IMMS,
1435 BIN_BUF_DBG_IDLE_CHK_RULES,
1436 BIN_BUF_DBG_IDLE_CHK_PARSING_DATA,
1437 BIN_BUF_DBG_ATTN_BLOCKS,
1438 BIN_BUF_DBG_ATTN_REGS,
1439 BIN_BUF_DBG_ATTN_INDEXES,
1440 BIN_BUF_DBG_ATTN_NAME_OFFSETS,
1441 BIN_BUF_DBG_PARSING_STRINGS,
1442 MAX_BIN_DBG_BUFFER_TYPE
1453 /* Attention bit mapping */
1454 struct dbg_attn_bit_mapping {
1456 #define DBG_ATTN_BIT_MAPPING_VAL_MASK 0x7FFF
1457 #define DBG_ATTN_BIT_MAPPING_VAL_SHIFT 0
1458 #define DBG_ATTN_BIT_MAPPING_IS_UNUSED_BIT_CNT_MASK 0x1
1459 #define DBG_ATTN_BIT_MAPPING_IS_UNUSED_BIT_CNT_SHIFT 15
1462 /* Attention block per-type data */
1463 struct dbg_attn_block_type_data {
1464 __le16 names_offset;
1471 /* Block attentions */
1472 struct dbg_attn_block {
1473 struct dbg_attn_block_type_data per_type_data[2];
1476 /* Attention register result */
1477 struct dbg_attn_reg_result {
1479 #define DBG_ATTN_REG_RESULT_STS_ADDRESS_MASK 0xFFFFFF
1480 #define DBG_ATTN_REG_RESULT_STS_ADDRESS_SHIFT 0
1481 #define DBG_ATTN_REG_RESULT_NUM_ATTN_IDX_MASK 0xFF
1482 #define DBG_ATTN_REG_RESULT_NUM_ATTN_IDX_SHIFT 24
1483 __le16 attn_idx_offset;
1489 /* Attention block result */
1490 struct dbg_attn_block_result {
1493 #define DBG_ATTN_BLOCK_RESULT_ATTN_TYPE_MASK 0x3
1494 #define DBG_ATTN_BLOCK_RESULT_ATTN_TYPE_SHIFT 0
1495 #define DBG_ATTN_BLOCK_RESULT_NUM_REGS_MASK 0x3F
1496 #define DBG_ATTN_BLOCK_RESULT_NUM_REGS_SHIFT 2
1497 __le16 names_offset;
1498 struct dbg_attn_reg_result reg_results[15];
1502 struct dbg_mode_hdr {
1504 #define DBG_MODE_HDR_EVAL_MODE_MASK 0x1
1505 #define DBG_MODE_HDR_EVAL_MODE_SHIFT 0
1506 #define DBG_MODE_HDR_MODES_BUF_OFFSET_MASK 0x7FFF
1507 #define DBG_MODE_HDR_MODES_BUF_OFFSET_SHIFT 1
1510 /* Attention register */
1511 struct dbg_attn_reg {
1512 struct dbg_mode_hdr mode;
1513 __le16 attn_idx_offset;
1515 #define DBG_ATTN_REG_STS_ADDRESS_MASK 0xFFFFFF
1516 #define DBG_ATTN_REG_STS_ADDRESS_SHIFT 0
1517 #define DBG_ATTN_REG_NUM_ATTN_IDX_MASK 0xFF
1518 #define DBG_ATTN_REG_NUM_ATTN_IDX_SHIFT 24
1519 __le32 sts_clr_address;
1520 __le32 mask_address;
1523 /* attention types */
1524 enum dbg_attn_type {
1525 ATTN_TYPE_INTERRUPT,
1530 /* Debug status codes */
1533 DBG_STATUS_APP_VERSION_NOT_SET,
1534 DBG_STATUS_UNSUPPORTED_APP_VERSION,
1535 DBG_STATUS_DBG_BLOCK_NOT_RESET,
1536 DBG_STATUS_INVALID_ARGS,
1537 DBG_STATUS_OUTPUT_ALREADY_SET,
1538 DBG_STATUS_INVALID_PCI_BUF_SIZE,
1539 DBG_STATUS_PCI_BUF_ALLOC_FAILED,
1540 DBG_STATUS_PCI_BUF_NOT_ALLOCATED,
1541 DBG_STATUS_TOO_MANY_INPUTS,
1542 DBG_STATUS_INPUT_OVERLAP,
1543 DBG_STATUS_HW_ONLY_RECORDING,
1544 DBG_STATUS_STORM_ALREADY_ENABLED,
1545 DBG_STATUS_STORM_NOT_ENABLED,
1546 DBG_STATUS_BLOCK_ALREADY_ENABLED,
1547 DBG_STATUS_BLOCK_NOT_ENABLED,
1548 DBG_STATUS_NO_INPUT_ENABLED,
1549 DBG_STATUS_NO_FILTER_TRIGGER_64B,
1550 DBG_STATUS_FILTER_ALREADY_ENABLED,
1551 DBG_STATUS_TRIGGER_ALREADY_ENABLED,
1552 DBG_STATUS_TRIGGER_NOT_ENABLED,
1553 DBG_STATUS_CANT_ADD_CONSTRAINT,
1554 DBG_STATUS_TOO_MANY_TRIGGER_STATES,
1555 DBG_STATUS_TOO_MANY_CONSTRAINTS,
1556 DBG_STATUS_RECORDING_NOT_STARTED,
1557 DBG_STATUS_DATA_DIDNT_TRIGGER,
1558 DBG_STATUS_NO_DATA_RECORDED,
1559 DBG_STATUS_DUMP_BUF_TOO_SMALL,
1560 DBG_STATUS_DUMP_NOT_CHUNK_ALIGNED,
1561 DBG_STATUS_UNKNOWN_CHIP,
1562 DBG_STATUS_VIRT_MEM_ALLOC_FAILED,
1563 DBG_STATUS_BLOCK_IN_RESET,
1564 DBG_STATUS_INVALID_TRACE_SIGNATURE,
1565 DBG_STATUS_INVALID_NVRAM_BUNDLE,
1566 DBG_STATUS_NVRAM_GET_IMAGE_FAILED,
1567 DBG_STATUS_NON_ALIGNED_NVRAM_IMAGE,
1568 DBG_STATUS_NVRAM_READ_FAILED,
1569 DBG_STATUS_IDLE_CHK_PARSE_FAILED,
1570 DBG_STATUS_MCP_TRACE_BAD_DATA,
1571 DBG_STATUS_MCP_TRACE_NO_META,
1572 DBG_STATUS_MCP_COULD_NOT_HALT,
1573 DBG_STATUS_MCP_COULD_NOT_RESUME,
1574 DBG_STATUS_DMAE_FAILED,
1575 DBG_STATUS_SEMI_FIFO_NOT_EMPTY,
1576 DBG_STATUS_IGU_FIFO_BAD_DATA,
1577 DBG_STATUS_MCP_COULD_NOT_MASK_PRTY,
1578 DBG_STATUS_FW_ASSERTS_PARSE_FAILED,
1579 DBG_STATUS_REG_FIFO_BAD_DATA,
1580 DBG_STATUS_PROTECTION_OVERRIDE_BAD_DATA,
1581 DBG_STATUS_DBG_ARRAY_NOT_SET,
1585 /********************************/
1586 /* HSI Init Functions constants */
1587 /********************************/
1589 /* Number of VLAN priorities */
1590 #define NUM_OF_VLAN_PRIORITIES 8
1592 /* QM per-port init parameters */
1593 struct init_qm_port_params {
1596 __le16 num_pbf_cmd_lines;
1597 __le16 num_btb_blocks;
1601 /* QM per-PQ init parameters */
1602 struct init_qm_pq_params {
1609 /* QM per-vport init parameters */
1610 struct init_qm_vport_params {
1613 __le16 first_tx_pq_id[NUM_OF_TCS];
1616 /**************************************/
1617 /* Init Tool HSI constants and macros */
1618 /**************************************/
1620 /* Width of GRC address in bits (addresses are specified in dwords) */
1621 #define GRC_ADDR_BITS 23
1622 #define MAX_GRC_ADDR ((1 << GRC_ADDR_BITS) - 1)
1624 /* indicates an init that should be applied to any phase ID */
1625 #define ANY_PHASE_ID 0xffff
1627 /* Max size in dwords of a zipped array */
1628 #define MAX_ZIPPED_SIZE 8192
1642 MODE_PORTS_PER_ENG_1,
1643 MODE_PORTS_PER_ENG_2,
1644 MODE_PORTS_PER_ENG_4,
1660 enum init_split_types {
1666 MAX_INIT_SPLIT_TYPES
1669 /* Binary buffer header */
1670 struct bin_buffer_hdr {
1675 /* binary init buffer types */
1676 enum bin_init_buffer_type {
1677 BIN_BUF_FW_VER_INFO,
1680 BIN_BUF_INIT_MODE_TREE,
1682 MAX_BIN_INIT_BUFFER_TYPE
1685 /* init array header: raw */
1686 struct init_array_raw_hdr {
1688 #define INIT_ARRAY_RAW_HDR_TYPE_MASK 0xF
1689 #define INIT_ARRAY_RAW_HDR_TYPE_SHIFT 0
1690 #define INIT_ARRAY_RAW_HDR_PARAMS_MASK 0xFFFFFFF
1691 #define INIT_ARRAY_RAW_HDR_PARAMS_SHIFT 4
1694 /* init array header: standard */
1695 struct init_array_standard_hdr {
1697 #define INIT_ARRAY_STANDARD_HDR_TYPE_MASK 0xF
1698 #define INIT_ARRAY_STANDARD_HDR_TYPE_SHIFT 0
1699 #define INIT_ARRAY_STANDARD_HDR_SIZE_MASK 0xFFFFFFF
1700 #define INIT_ARRAY_STANDARD_HDR_SIZE_SHIFT 4
1703 /* init array header: zipped */
1704 struct init_array_zipped_hdr {
1706 #define INIT_ARRAY_ZIPPED_HDR_TYPE_MASK 0xF
1707 #define INIT_ARRAY_ZIPPED_HDR_TYPE_SHIFT 0
1708 #define INIT_ARRAY_ZIPPED_HDR_ZIPPED_SIZE_MASK 0xFFFFFFF
1709 #define INIT_ARRAY_ZIPPED_HDR_ZIPPED_SIZE_SHIFT 4
1712 /* init array header: pattern */
1713 struct init_array_pattern_hdr {
1715 #define INIT_ARRAY_PATTERN_HDR_TYPE_MASK 0xF
1716 #define INIT_ARRAY_PATTERN_HDR_TYPE_SHIFT 0
1717 #define INIT_ARRAY_PATTERN_HDR_PATTERN_SIZE_MASK 0xF
1718 #define INIT_ARRAY_PATTERN_HDR_PATTERN_SIZE_SHIFT 4
1719 #define INIT_ARRAY_PATTERN_HDR_REPETITIONS_MASK 0xFFFFFF
1720 #define INIT_ARRAY_PATTERN_HDR_REPETITIONS_SHIFT 8
1723 /* init array header union */
1724 union init_array_hdr {
1725 struct init_array_raw_hdr raw;
1726 struct init_array_standard_hdr standard;
1727 struct init_array_zipped_hdr zipped;
1728 struct init_array_pattern_hdr pattern;
1731 /* init array types */
1732 enum init_array_types {
1736 MAX_INIT_ARRAY_TYPES
1739 /* init operation: callback */
1740 struct init_callback_op {
1742 #define INIT_CALLBACK_OP_OP_MASK 0xF
1743 #define INIT_CALLBACK_OP_OP_SHIFT 0
1744 #define INIT_CALLBACK_OP_RESERVED_MASK 0xFFFFFFF
1745 #define INIT_CALLBACK_OP_RESERVED_SHIFT 4
1750 /* init operation: delay */
1751 struct init_delay_op {
1753 #define INIT_DELAY_OP_OP_MASK 0xF
1754 #define INIT_DELAY_OP_OP_SHIFT 0
1755 #define INIT_DELAY_OP_RESERVED_MASK 0xFFFFFFF
1756 #define INIT_DELAY_OP_RESERVED_SHIFT 4
1760 /* init operation: if_mode */
1761 struct init_if_mode_op {
1763 #define INIT_IF_MODE_OP_OP_MASK 0xF
1764 #define INIT_IF_MODE_OP_OP_SHIFT 0
1765 #define INIT_IF_MODE_OP_RESERVED1_MASK 0xFFF
1766 #define INIT_IF_MODE_OP_RESERVED1_SHIFT 4
1767 #define INIT_IF_MODE_OP_CMD_OFFSET_MASK 0xFFFF
1768 #define INIT_IF_MODE_OP_CMD_OFFSET_SHIFT 16
1770 __le16 modes_buf_offset;
1773 /* init operation: if_phase */
1774 struct init_if_phase_op {
1776 #define INIT_IF_PHASE_OP_OP_MASK 0xF
1777 #define INIT_IF_PHASE_OP_OP_SHIFT 0
1778 #define INIT_IF_PHASE_OP_DMAE_ENABLE_MASK 0x1
1779 #define INIT_IF_PHASE_OP_DMAE_ENABLE_SHIFT 4
1780 #define INIT_IF_PHASE_OP_RESERVED1_MASK 0x7FF
1781 #define INIT_IF_PHASE_OP_RESERVED1_SHIFT 5
1782 #define INIT_IF_PHASE_OP_CMD_OFFSET_MASK 0xFFFF
1783 #define INIT_IF_PHASE_OP_CMD_OFFSET_SHIFT 16
1785 #define INIT_IF_PHASE_OP_PHASE_MASK 0xFF
1786 #define INIT_IF_PHASE_OP_PHASE_SHIFT 0
1787 #define INIT_IF_PHASE_OP_RESERVED2_MASK 0xFF
1788 #define INIT_IF_PHASE_OP_RESERVED2_SHIFT 8
1789 #define INIT_IF_PHASE_OP_PHASE_ID_MASK 0xFFFF
1790 #define INIT_IF_PHASE_OP_PHASE_ID_SHIFT 16
1793 /* init mode operators */
1794 enum init_mode_ops {
1801 /* init operation: raw */
1802 struct init_raw_op {
1804 #define INIT_RAW_OP_OP_MASK 0xF
1805 #define INIT_RAW_OP_OP_SHIFT 0
1806 #define INIT_RAW_OP_PARAM1_MASK 0xFFFFFFF
1807 #define INIT_RAW_OP_PARAM1_SHIFT 4
1811 /* init array params */
1812 struct init_op_array_params {
1817 /* Write init operation arguments */
1818 union init_write_args {
1821 __le32 array_offset;
1822 struct init_op_array_params runtime;
1825 /* init operation: write */
1826 struct init_write_op {
1828 #define INIT_WRITE_OP_OP_MASK 0xF
1829 #define INIT_WRITE_OP_OP_SHIFT 0
1830 #define INIT_WRITE_OP_SOURCE_MASK 0x7
1831 #define INIT_WRITE_OP_SOURCE_SHIFT 4
1832 #define INIT_WRITE_OP_RESERVED_MASK 0x1
1833 #define INIT_WRITE_OP_RESERVED_SHIFT 7
1834 #define INIT_WRITE_OP_WIDE_BUS_MASK 0x1
1835 #define INIT_WRITE_OP_WIDE_BUS_SHIFT 8
1836 #define INIT_WRITE_OP_ADDRESS_MASK 0x7FFFFF
1837 #define INIT_WRITE_OP_ADDRESS_SHIFT 9
1838 union init_write_args args;
1841 /* init operation: read */
1842 struct init_read_op {
1844 #define INIT_READ_OP_OP_MASK 0xF
1845 #define INIT_READ_OP_OP_SHIFT 0
1846 #define INIT_READ_OP_POLL_TYPE_MASK 0xF
1847 #define INIT_READ_OP_POLL_TYPE_SHIFT 4
1848 #define INIT_READ_OP_RESERVED_MASK 0x1
1849 #define INIT_READ_OP_RESERVED_SHIFT 8
1850 #define INIT_READ_OP_ADDRESS_MASK 0x7FFFFF
1851 #define INIT_READ_OP_ADDRESS_SHIFT 9
1852 __le32 expected_val;
1856 /* Init operations union */
1858 struct init_raw_op raw;
1859 struct init_write_op write;
1860 struct init_read_op read;
1861 struct init_if_mode_op if_mode;
1862 struct init_if_phase_op if_phase;
1863 struct init_callback_op callback;
1864 struct init_delay_op delay;
1867 /* Init command operation types */
1868 enum init_op_types {
1878 /* init polling types */
1879 enum init_poll_types {
1887 /* init source types */
1888 enum init_source_types {
1893 MAX_INIT_SOURCE_TYPES
1896 /* Internal RAM Offsets macro data */
1906 * @brief qed_dbg_print_attn - Prints attention registers values in the specified results struct.
1909 * @param results - Pointer to the attention read results
1911 * @return error if one of the following holds:
1912 * - the version wasn't set
1913 * Otherwise, returns ok.
1915 enum dbg_status qed_dbg_print_attn(struct qed_hwfn *p_hwfn,
1916 struct dbg_attn_block_result *results);
1918 #define MAX_NAME_LEN 16
1921 #define GTT_BAR0_MAP_REG_IGU_CMD \
1925 #define GTT_BAR0_MAP_REG_TSDM_RAM \
1929 #define GTT_BAR0_MAP_REG_MSDM_RAM \
1933 #define GTT_BAR0_MAP_REG_MSDM_RAM_1024 \
1937 #define GTT_BAR0_MAP_REG_USDM_RAM \
1941 #define GTT_BAR0_MAP_REG_USDM_RAM_1024 \
1945 #define GTT_BAR0_MAP_REG_USDM_RAM_2048 \
1949 #define GTT_BAR0_MAP_REG_XSDM_RAM \
1953 #define GTT_BAR0_MAP_REG_YSDM_RAM \
1957 #define GTT_BAR0_MAP_REG_PSDM_RAM \
1961 * @brief qed_qm_pf_mem_size - prepare QM ILT sizes
1963 * Returns the required host memory size in 4KB units.
1964 * Must be called before all QM init HSI functions.
1966 * @param pf_id - physical function ID
1967 * @param num_pf_cids - number of connections used by this PF
1968 * @param num_vf_cids - number of connections used by VFs of this PF
1969 * @param num_tids - number of tasks used by this PF
1970 * @param num_pf_pqs - number of PQs used by this PF
1971 * @param num_vf_pqs - number of PQs used by VFs of this PF
1973 * @return The required host memory size in 4KB units.
1975 u32 qed_qm_pf_mem_size(u8 pf_id,
1978 u32 num_tids, u16 num_pf_pqs, u16 num_vf_pqs);
1980 struct qed_qm_common_rt_init_params {
1981 u8 max_ports_per_engine;
1982 u8 max_phys_tcs_per_port;
1987 struct init_qm_port_params *port_params;
1990 int qed_qm_common_rt_init(struct qed_hwfn *p_hwfn,
1991 struct qed_qm_common_rt_init_params *p_params);
1993 struct qed_qm_pf_rt_init_params {
1996 u8 max_phys_tcs_per_port;
2008 struct init_qm_pq_params *pq_params;
2009 struct init_qm_vport_params *vport_params;
2012 int qed_qm_pf_rt_init(struct qed_hwfn *p_hwfn,
2013 struct qed_ptt *p_ptt,
2014 struct qed_qm_pf_rt_init_params *p_params);
2017 * @brief qed_init_pf_wfq - Initializes the WFQ weight of the specified PF
2020 * @param p_ptt - ptt window used for writing the registers
2021 * @param pf_id - PF ID
2022 * @param pf_wfq - WFQ weight. Must be non-zero.
2024 * @return 0 on success, -1 on error.
2026 int qed_init_pf_wfq(struct qed_hwfn *p_hwfn,
2027 struct qed_ptt *p_ptt, u8 pf_id, u16 pf_wfq);
2030 * @brief qed_init_pf_rl - Initializes the rate limit of the specified PF
2033 * @param p_ptt - ptt window used for writing the registers
2034 * @param pf_id - PF ID
2035 * @param pf_rl - rate limit in Mb/sec units
2037 * @return 0 on success, -1 on error.
2039 int qed_init_pf_rl(struct qed_hwfn *p_hwfn,
2040 struct qed_ptt *p_ptt, u8 pf_id, u32 pf_rl);
2043 * @brief qed_init_vport_wfq Initializes the WFQ weight of the specified VPORT
2046 * @param p_ptt - ptt window used for writing the registers
2047 * @param first_tx_pq_id- An array containing the first Tx PQ ID associated
2048 * with the VPORT for each TC. This array is filled by
2050 * @param vport_wfq - WFQ weight. Must be non-zero.
2052 * @return 0 on success, -1 on error.
2054 int qed_init_vport_wfq(struct qed_hwfn *p_hwfn,
2055 struct qed_ptt *p_ptt,
2056 u16 first_tx_pq_id[NUM_OF_TCS], u16 vport_wfq);
2059 * @brief qed_init_vport_rl - Initializes the rate limit of the specified VPORT
2062 * @param p_ptt - ptt window used for writing the registers
2063 * @param vport_id - VPORT ID
2064 * @param vport_rl - rate limit in Mb/sec units
2066 * @return 0 on success, -1 on error.
2068 int qed_init_vport_rl(struct qed_hwfn *p_hwfn,
2069 struct qed_ptt *p_ptt, u8 vport_id, u32 vport_rl);
2071 * @brief qed_send_qm_stop_cmd Sends a stop command to the QM
2075 * @param is_release_cmd - true for release, false for stop.
2076 * @param is_tx_pq - true for Tx PQs, false for Other PQs.
2077 * @param start_pq - first PQ ID to stop
2078 * @param num_pqs - Number of PQs to stop, starting from start_pq.
2080 * @return bool, true if successful, false if timeout occured while waiting for QM command done.
2082 bool qed_send_qm_stop_cmd(struct qed_hwfn *p_hwfn,
2083 struct qed_ptt *p_ptt,
2084 bool is_release_cmd,
2085 bool is_tx_pq, u16 start_pq, u16 num_pqs);
2088 * @brief qed_set_vxlan_dest_port - initializes vxlan tunnel destination udp port
2090 * @param p_ptt - ptt window used for writing the registers.
2091 * @param dest_port - vxlan destination udp port.
2093 void qed_set_vxlan_dest_port(struct qed_hwfn *p_hwfn,
2094 struct qed_ptt *p_ptt, u16 dest_port);
2097 * @brief qed_set_vxlan_enable - enable or disable VXLAN tunnel in HW
2099 * @param p_ptt - ptt window used for writing the registers.
2100 * @param vxlan_enable - vxlan enable flag.
2102 void qed_set_vxlan_enable(struct qed_hwfn *p_hwfn,
2103 struct qed_ptt *p_ptt, bool vxlan_enable);
2106 * @brief qed_set_gre_enable - enable or disable GRE tunnel in HW
2108 * @param p_ptt - ptt window used for writing the registers.
2109 * @param eth_gre_enable - eth GRE enable enable flag.
2110 * @param ip_gre_enable - IP GRE enable enable flag.
2112 void qed_set_gre_enable(struct qed_hwfn *p_hwfn,
2113 struct qed_ptt *p_ptt,
2114 bool eth_gre_enable, bool ip_gre_enable);
2117 * @brief qed_set_geneve_dest_port - initializes geneve tunnel destination udp port
2119 * @param p_ptt - ptt window used for writing the registers.
2120 * @param dest_port - geneve destination udp port.
2122 void qed_set_geneve_dest_port(struct qed_hwfn *p_hwfn,
2123 struct qed_ptt *p_ptt, u16 dest_port);
2126 * @brief qed_set_gre_enable - enable or disable GRE tunnel in HW
2128 * @param p_ptt - ptt window used for writing the registers.
2129 * @param eth_geneve_enable - eth GENEVE enable enable flag.
2130 * @param ip_geneve_enable - IP GENEVE enable enable flag.
2132 void qed_set_geneve_enable(struct qed_hwfn *p_hwfn,
2133 struct qed_ptt *p_ptt,
2134 bool eth_geneve_enable, bool ip_geneve_enable);
2136 #define YSTORM_FLOW_CONTROL_MODE_OFFSET (IRO[0].base)
2137 #define YSTORM_FLOW_CONTROL_MODE_SIZE (IRO[0].size)
2138 #define TSTORM_PORT_STAT_OFFSET(port_id) \
2139 (IRO[1].base + ((port_id) * IRO[1].m1))
2140 #define TSTORM_PORT_STAT_SIZE (IRO[1].size)
2141 #define USTORM_VF_PF_CHANNEL_READY_OFFSET(vf_id) \
2142 (IRO[3].base + ((vf_id) * IRO[3].m1))
2143 #define USTORM_VF_PF_CHANNEL_READY_SIZE (IRO[3].size)
2144 #define USTORM_FLR_FINAL_ACK_OFFSET(pf_id) \
2145 (IRO[4].base + (pf_id) * IRO[4].m1)
2146 #define USTORM_FLR_FINAL_ACK_SIZE (IRO[4].size)
2147 #define USTORM_EQE_CONS_OFFSET(pf_id) \
2148 (IRO[5].base + ((pf_id) * IRO[5].m1))
2149 #define USTORM_EQE_CONS_SIZE (IRO[5].size)
2150 #define USTORM_ETH_QUEUE_ZONE_OFFSET(queue_zone_id) \
2151 (IRO[6].base + ((queue_zone_id) * IRO[6].m1))
2152 #define USTORM_ETH_QUEUE_ZONE_SIZE (IRO[6].size)
2153 #define USTORM_COMMON_QUEUE_CONS_OFFSET(queue_zone_id) \
2154 (IRO[7].base + ((queue_zone_id) * IRO[7].m1))
2155 #define USTORM_COMMON_QUEUE_CONS_SIZE (IRO[7].size)
2156 #define MSTORM_QUEUE_STAT_OFFSET(stat_counter_id) \
2157 (IRO[18].base + ((stat_counter_id) * IRO[18].m1))
2158 #define MSTORM_QUEUE_STAT_SIZE (IRO[18].size)
2159 #define MSTORM_ETH_PF_PRODS_OFFSET(queue_id) \
2160 (IRO[19].base + ((queue_id) * IRO[19].m1))
2161 #define MSTORM_ETH_PF_PRODS_SIZE (IRO[19].size)
2162 #define MSTORM_TPA_TIMEOUT_US_OFFSET (IRO[20].base)
2163 #define MSTORM_TPA_TIMEOUT_US_SIZE (IRO[20].size)
2164 #define MSTORM_ETH_PF_STAT_OFFSET(pf_id) \
2165 (IRO[21].base + ((pf_id) * IRO[21].m1))
2166 #define MSTORM_ETH_PF_STAT_SIZE (IRO[21].size)
2167 #define USTORM_QUEUE_STAT_OFFSET(stat_counter_id) \
2168 (IRO[22].base + ((stat_counter_id) * IRO[22].m1))
2169 #define USTORM_QUEUE_STAT_SIZE (IRO[22].size)
2170 #define USTORM_ETH_PF_STAT_OFFSET(pf_id) \
2171 (IRO[23].base + ((pf_id) * IRO[23].m1))
2172 #define USTORM_ETH_PF_STAT_SIZE (IRO[23].size)
2173 #define PSTORM_QUEUE_STAT_OFFSET(stat_counter_id) \
2174 (IRO[24].base + ((stat_counter_id) * IRO[24].m1))
2175 #define PSTORM_QUEUE_STAT_SIZE (IRO[24].size)
2176 #define PSTORM_ETH_PF_STAT_OFFSET(pf_id) \
2177 (IRO[25].base + ((pf_id) * IRO[25].m1))
2178 #define PSTORM_ETH_PF_STAT_SIZE (IRO[25].size)
2179 #define PSTORM_CTL_FRAME_ETHTYPE_OFFSET(ethtype) \
2180 (IRO[26].base + ((ethtype) * IRO[26].m1))
2181 #define PSTORM_CTL_FRAME_ETHTYPE_SIZE (IRO[26].size)
2182 #define TSTORM_ETH_PRS_INPUT_OFFSET (IRO[27].base)
2183 #define TSTORM_ETH_PRS_INPUT_SIZE (IRO[27].size)
2184 #define ETH_RX_RATE_LIMIT_OFFSET(pf_id) \
2185 (IRO[28].base + ((pf_id) * IRO[28].m1))
2186 #define ETH_RX_RATE_LIMIT_SIZE (IRO[28].size)
2187 #define XSTORM_ETH_QUEUE_ZONE_OFFSET(queue_id) \
2188 (IRO[29].base + ((queue_id) * IRO[29].m1))
2189 #define XSTORM_ETH_QUEUE_ZONE_SIZE (IRO[29].size)
2191 static const struct iro iro_arr[46] = {
2192 {0x0, 0x0, 0x0, 0x0, 0x8},
2193 {0x4cb0, 0x78, 0x0, 0x0, 0x78},
2194 {0x6318, 0x20, 0x0, 0x0, 0x20},
2195 {0xb00, 0x8, 0x0, 0x0, 0x4},
2196 {0xa80, 0x8, 0x0, 0x0, 0x4},
2197 {0x0, 0x8, 0x0, 0x0, 0x2},
2198 {0x80, 0x8, 0x0, 0x0, 0x4},
2199 {0x84, 0x8, 0x0, 0x0, 0x2},
2200 {0x4bc0, 0x0, 0x0, 0x0, 0x78},
2201 {0x3df0, 0x0, 0x0, 0x0, 0x78},
2202 {0x29b0, 0x0, 0x0, 0x0, 0x78},
2203 {0x4c38, 0x0, 0x0, 0x0, 0x78},
2204 {0x4a48, 0x0, 0x0, 0x0, 0x78},
2205 {0x7e48, 0x0, 0x0, 0x0, 0x78},
2206 {0xa28, 0x8, 0x0, 0x0, 0x8},
2207 {0x60f8, 0x10, 0x0, 0x0, 0x10},
2208 {0xb820, 0x30, 0x0, 0x0, 0x30},
2209 {0x95b8, 0x30, 0x0, 0x0, 0x30},
2210 {0x4c18, 0x80, 0x0, 0x0, 0x40},
2211 {0x1f8, 0x4, 0x0, 0x0, 0x4},
2212 {0xc9a8, 0x0, 0x0, 0x0, 0x4},
2213 {0x4c58, 0x80, 0x0, 0x0, 0x20},
2214 {0x8050, 0x40, 0x0, 0x0, 0x30},
2215 {0xe770, 0x60, 0x0, 0x0, 0x60},
2216 {0x2b48, 0x80, 0x0, 0x0, 0x38},
2217 {0xdf88, 0x78, 0x0, 0x0, 0x78},
2218 {0x1f8, 0x4, 0x0, 0x0, 0x4},
2219 {0xacf0, 0x0, 0x0, 0x0, 0xf0},
2220 {0xade0, 0x8, 0x0, 0x0, 0x8},
2221 {0x1f8, 0x8, 0x0, 0x0, 0x8},
2222 {0xac0, 0x8, 0x0, 0x0, 0x8},
2223 {0x2578, 0x8, 0x0, 0x0, 0x8},
2224 {0x24f8, 0x8, 0x0, 0x0, 0x8},
2225 {0x0, 0x8, 0x0, 0x0, 0x8},
2226 {0x200, 0x10, 0x8, 0x0, 0x8},
2227 {0xb78, 0x10, 0x8, 0x0, 0x2},
2228 {0xd888, 0x38, 0x0, 0x0, 0x24},
2229 {0x12120, 0x10, 0x0, 0x0, 0x8},
2230 {0x11b20, 0x38, 0x0, 0x0, 0x18},
2231 {0xa8c0, 0x30, 0x0, 0x0, 0x10},
2232 {0x86f8, 0x28, 0x0, 0x0, 0x18},
2233 {0xeff8, 0x10, 0x0, 0x0, 0x10},
2234 {0xdd08, 0x48, 0x0, 0x0, 0x38},
2235 {0xf460, 0x20, 0x0, 0x0, 0x20},
2236 {0x2b80, 0x80, 0x0, 0x0, 0x10},
2237 {0x5000, 0x10, 0x0, 0x0, 0x10},
2240 /* Runtime array offsets */
2241 #define DORQ_REG_PF_MAX_ICID_0_RT_OFFSET 0
2242 #define DORQ_REG_PF_MAX_ICID_1_RT_OFFSET 1
2243 #define DORQ_REG_PF_MAX_ICID_2_RT_OFFSET 2
2244 #define DORQ_REG_PF_MAX_ICID_3_RT_OFFSET 3
2245 #define DORQ_REG_PF_MAX_ICID_4_RT_OFFSET 4
2246 #define DORQ_REG_PF_MAX_ICID_5_RT_OFFSET 5
2247 #define DORQ_REG_PF_MAX_ICID_6_RT_OFFSET 6
2248 #define DORQ_REG_PF_MAX_ICID_7_RT_OFFSET 7
2249 #define DORQ_REG_VF_MAX_ICID_0_RT_OFFSET 8
2250 #define DORQ_REG_VF_MAX_ICID_1_RT_OFFSET 9
2251 #define DORQ_REG_VF_MAX_ICID_2_RT_OFFSET 10
2252 #define DORQ_REG_VF_MAX_ICID_3_RT_OFFSET 11
2253 #define DORQ_REG_VF_MAX_ICID_4_RT_OFFSET 12
2254 #define DORQ_REG_VF_MAX_ICID_5_RT_OFFSET 13
2255 #define DORQ_REG_VF_MAX_ICID_6_RT_OFFSET 14
2256 #define DORQ_REG_VF_MAX_ICID_7_RT_OFFSET 15
2257 #define DORQ_REG_PF_WAKE_ALL_RT_OFFSET 16
2258 #define DORQ_REG_TAG1_ETHERTYPE_RT_OFFSET 17
2259 #define IGU_REG_PF_CONFIGURATION_RT_OFFSET 18
2260 #define IGU_REG_VF_CONFIGURATION_RT_OFFSET 19
2261 #define IGU_REG_ATTN_MSG_ADDR_L_RT_OFFSET 20
2262 #define IGU_REG_ATTN_MSG_ADDR_H_RT_OFFSET 21
2263 #define IGU_REG_LEADING_EDGE_LATCH_RT_OFFSET 22
2264 #define IGU_REG_TRAILING_EDGE_LATCH_RT_OFFSET 23
2265 #define CAU_REG_CQE_AGG_UNIT_SIZE_RT_OFFSET 24
2266 #define CAU_REG_SB_VAR_MEMORY_RT_OFFSET 761
2267 #define CAU_REG_SB_VAR_MEMORY_RT_SIZE 736
2268 #define CAU_REG_SB_VAR_MEMORY_RT_OFFSET 761
2269 #define CAU_REG_SB_VAR_MEMORY_RT_SIZE 736
2270 #define CAU_REG_SB_ADDR_MEMORY_RT_OFFSET 1497
2271 #define CAU_REG_SB_ADDR_MEMORY_RT_SIZE 736
2272 #define CAU_REG_PI_MEMORY_RT_OFFSET 2233
2273 #define CAU_REG_PI_MEMORY_RT_SIZE 4416
2274 #define PRS_REG_SEARCH_RESP_INITIATOR_TYPE_RT_OFFSET 6649
2275 #define PRS_REG_TASK_ID_MAX_INITIATOR_PF_RT_OFFSET 6650
2276 #define PRS_REG_TASK_ID_MAX_INITIATOR_VF_RT_OFFSET 6651
2277 #define PRS_REG_TASK_ID_MAX_TARGET_PF_RT_OFFSET 6652
2278 #define PRS_REG_TASK_ID_MAX_TARGET_VF_RT_OFFSET 6653
2279 #define PRS_REG_SEARCH_TCP_RT_OFFSET 6654
2280 #define PRS_REG_SEARCH_FCOE_RT_OFFSET 6655
2281 #define PRS_REG_SEARCH_ROCE_RT_OFFSET 6656
2282 #define PRS_REG_ROCE_DEST_QP_MAX_VF_RT_OFFSET 6657
2283 #define PRS_REG_ROCE_DEST_QP_MAX_PF_RT_OFFSET 6658
2284 #define PRS_REG_SEARCH_OPENFLOW_RT_OFFSET 6659
2285 #define PRS_REG_SEARCH_NON_IP_AS_OPENFLOW_RT_OFFSET 6660
2286 #define PRS_REG_OPENFLOW_SUPPORT_ONLY_KNOWN_OVER_IP_RT_OFFSET 6661
2287 #define PRS_REG_OPENFLOW_SEARCH_KEY_MASK_RT_OFFSET 6662
2288 #define PRS_REG_TAG_ETHERTYPE_0_RT_OFFSET 6663
2289 #define PRS_REG_LIGHT_L2_ETHERTYPE_EN_RT_OFFSET 6664
2290 #define SRC_REG_FIRSTFREE_RT_OFFSET 6665
2291 #define SRC_REG_FIRSTFREE_RT_SIZE 2
2292 #define SRC_REG_LASTFREE_RT_OFFSET 6667
2293 #define SRC_REG_LASTFREE_RT_SIZE 2
2294 #define SRC_REG_COUNTFREE_RT_OFFSET 6669
2295 #define SRC_REG_NUMBER_HASH_BITS_RT_OFFSET 6670
2296 #define PSWRQ2_REG_CDUT_P_SIZE_RT_OFFSET 6671
2297 #define PSWRQ2_REG_CDUC_P_SIZE_RT_OFFSET 6672
2298 #define PSWRQ2_REG_TM_P_SIZE_RT_OFFSET 6673
2299 #define PSWRQ2_REG_QM_P_SIZE_RT_OFFSET 6674
2300 #define PSWRQ2_REG_SRC_P_SIZE_RT_OFFSET 6675
2301 #define PSWRQ2_REG_TSDM_P_SIZE_RT_OFFSET 6676
2302 #define PSWRQ2_REG_TM_FIRST_ILT_RT_OFFSET 6677
2303 #define PSWRQ2_REG_TM_LAST_ILT_RT_OFFSET 6678
2304 #define PSWRQ2_REG_QM_FIRST_ILT_RT_OFFSET 6679
2305 #define PSWRQ2_REG_QM_LAST_ILT_RT_OFFSET 6680
2306 #define PSWRQ2_REG_SRC_FIRST_ILT_RT_OFFSET 6681
2307 #define PSWRQ2_REG_SRC_LAST_ILT_RT_OFFSET 6682
2308 #define PSWRQ2_REG_CDUC_FIRST_ILT_RT_OFFSET 6683
2309 #define PSWRQ2_REG_CDUC_LAST_ILT_RT_OFFSET 6684
2310 #define PSWRQ2_REG_CDUT_FIRST_ILT_RT_OFFSET 6685
2311 #define PSWRQ2_REG_CDUT_LAST_ILT_RT_OFFSET 6686
2312 #define PSWRQ2_REG_TSDM_FIRST_ILT_RT_OFFSET 6687
2313 #define PSWRQ2_REG_TSDM_LAST_ILT_RT_OFFSET 6688
2314 #define PSWRQ2_REG_TM_NUMBER_OF_PF_BLOCKS_RT_OFFSET 6689
2315 #define PSWRQ2_REG_CDUT_NUMBER_OF_PF_BLOCKS_RT_OFFSET 6690
2316 #define PSWRQ2_REG_CDUC_NUMBER_OF_PF_BLOCKS_RT_OFFSET 6691
2317 #define PSWRQ2_REG_TM_VF_BLOCKS_RT_OFFSET 6692
2318 #define PSWRQ2_REG_CDUT_VF_BLOCKS_RT_OFFSET 6693
2319 #define PSWRQ2_REG_CDUC_VF_BLOCKS_RT_OFFSET 6694
2320 #define PSWRQ2_REG_TM_BLOCKS_FACTOR_RT_OFFSET 6695
2321 #define PSWRQ2_REG_CDUT_BLOCKS_FACTOR_RT_OFFSET 6696
2322 #define PSWRQ2_REG_CDUC_BLOCKS_FACTOR_RT_OFFSET 6697
2323 #define PSWRQ2_REG_VF_BASE_RT_OFFSET 6698
2324 #define PSWRQ2_REG_VF_LAST_ILT_RT_OFFSET 6699
2325 #define PSWRQ2_REG_WR_MBS0_RT_OFFSET 6700
2326 #define PSWRQ2_REG_RD_MBS0_RT_OFFSET 6701
2327 #define PSWRQ2_REG_DRAM_ALIGN_WR_RT_OFFSET 6702
2328 #define PSWRQ2_REG_DRAM_ALIGN_RD_RT_OFFSET 6703
2329 #define PSWRQ2_REG_ILT_MEMORY_RT_OFFSET 6704
2330 #define PSWRQ2_REG_ILT_MEMORY_RT_SIZE 22000
2331 #define PGLUE_REG_B_VF_BASE_RT_OFFSET 28704
2332 #define PGLUE_REG_B_CACHE_LINE_SIZE_RT_OFFSET 28705
2333 #define PGLUE_REG_B_PF_BAR0_SIZE_RT_OFFSET 28706
2334 #define PGLUE_REG_B_PF_BAR1_SIZE_RT_OFFSET 28707
2335 #define PGLUE_REG_B_VF_BAR1_SIZE_RT_OFFSET 28708
2336 #define TM_REG_VF_ENABLE_CONN_RT_OFFSET 28709
2337 #define TM_REG_PF_ENABLE_CONN_RT_OFFSET 28710
2338 #define TM_REG_PF_ENABLE_TASK_RT_OFFSET 28711
2339 #define TM_REG_GROUP_SIZE_RESOLUTION_CONN_RT_OFFSET 28712
2340 #define TM_REG_GROUP_SIZE_RESOLUTION_TASK_RT_OFFSET 28713
2341 #define TM_REG_CONFIG_CONN_MEM_RT_OFFSET 28714
2342 #define TM_REG_CONFIG_CONN_MEM_RT_SIZE 416
2343 #define TM_REG_CONFIG_TASK_MEM_RT_OFFSET 29130
2344 #define TM_REG_CONFIG_TASK_MEM_RT_SIZE 512
2345 #define QM_REG_MAXPQSIZE_0_RT_OFFSET 29642
2346 #define QM_REG_MAXPQSIZE_1_RT_OFFSET 29643
2347 #define QM_REG_MAXPQSIZE_2_RT_OFFSET 29644
2348 #define QM_REG_MAXPQSIZETXSEL_0_RT_OFFSET 29645
2349 #define QM_REG_MAXPQSIZETXSEL_1_RT_OFFSET 29646
2350 #define QM_REG_MAXPQSIZETXSEL_2_RT_OFFSET 29647
2351 #define QM_REG_MAXPQSIZETXSEL_3_RT_OFFSET 29648
2352 #define QM_REG_MAXPQSIZETXSEL_4_RT_OFFSET 29649
2353 #define QM_REG_MAXPQSIZETXSEL_5_RT_OFFSET 29650
2354 #define QM_REG_MAXPQSIZETXSEL_6_RT_OFFSET 29651
2355 #define QM_REG_MAXPQSIZETXSEL_7_RT_OFFSET 29652
2356 #define QM_REG_MAXPQSIZETXSEL_8_RT_OFFSET 29653
2357 #define QM_REG_MAXPQSIZETXSEL_9_RT_OFFSET 29654
2358 #define QM_REG_MAXPQSIZETXSEL_10_RT_OFFSET 29655
2359 #define QM_REG_MAXPQSIZETXSEL_11_RT_OFFSET 29656
2360 #define QM_REG_MAXPQSIZETXSEL_12_RT_OFFSET 29657
2361 #define QM_REG_MAXPQSIZETXSEL_13_RT_OFFSET 29658
2362 #define QM_REG_MAXPQSIZETXSEL_14_RT_OFFSET 29659
2363 #define QM_REG_MAXPQSIZETXSEL_15_RT_OFFSET 29660
2364 #define QM_REG_MAXPQSIZETXSEL_16_RT_OFFSET 29661
2365 #define QM_REG_MAXPQSIZETXSEL_17_RT_OFFSET 29662
2366 #define QM_REG_MAXPQSIZETXSEL_18_RT_OFFSET 29663
2367 #define QM_REG_MAXPQSIZETXSEL_19_RT_OFFSET 29664
2368 #define QM_REG_MAXPQSIZETXSEL_20_RT_OFFSET 29665
2369 #define QM_REG_MAXPQSIZETXSEL_21_RT_OFFSET 29666
2370 #define QM_REG_MAXPQSIZETXSEL_22_RT_OFFSET 29667
2371 #define QM_REG_MAXPQSIZETXSEL_23_RT_OFFSET 29668
2372 #define QM_REG_MAXPQSIZETXSEL_24_RT_OFFSET 29669
2373 #define QM_REG_MAXPQSIZETXSEL_25_RT_OFFSET 29670
2374 #define QM_REG_MAXPQSIZETXSEL_26_RT_OFFSET 29671
2375 #define QM_REG_MAXPQSIZETXSEL_27_RT_OFFSET 29672
2376 #define QM_REG_MAXPQSIZETXSEL_28_RT_OFFSET 29673
2377 #define QM_REG_MAXPQSIZETXSEL_29_RT_OFFSET 29674
2378 #define QM_REG_MAXPQSIZETXSEL_30_RT_OFFSET 29675
2379 #define QM_REG_MAXPQSIZETXSEL_31_RT_OFFSET 29676
2380 #define QM_REG_MAXPQSIZETXSEL_32_RT_OFFSET 29677
2381 #define QM_REG_MAXPQSIZETXSEL_33_RT_OFFSET 29678
2382 #define QM_REG_MAXPQSIZETXSEL_34_RT_OFFSET 29679
2383 #define QM_REG_MAXPQSIZETXSEL_35_RT_OFFSET 29680
2384 #define QM_REG_MAXPQSIZETXSEL_36_RT_OFFSET 29681
2385 #define QM_REG_MAXPQSIZETXSEL_37_RT_OFFSET 29682
2386 #define QM_REG_MAXPQSIZETXSEL_38_RT_OFFSET 29683
2387 #define QM_REG_MAXPQSIZETXSEL_39_RT_OFFSET 29684
2388 #define QM_REG_MAXPQSIZETXSEL_40_RT_OFFSET 29685
2389 #define QM_REG_MAXPQSIZETXSEL_41_RT_OFFSET 29686
2390 #define QM_REG_MAXPQSIZETXSEL_42_RT_OFFSET 29687
2391 #define QM_REG_MAXPQSIZETXSEL_43_RT_OFFSET 29688
2392 #define QM_REG_MAXPQSIZETXSEL_44_RT_OFFSET 29689
2393 #define QM_REG_MAXPQSIZETXSEL_45_RT_OFFSET 29690
2394 #define QM_REG_MAXPQSIZETXSEL_46_RT_OFFSET 29691
2395 #define QM_REG_MAXPQSIZETXSEL_47_RT_OFFSET 29692
2396 #define QM_REG_MAXPQSIZETXSEL_48_RT_OFFSET 29693
2397 #define QM_REG_MAXPQSIZETXSEL_49_RT_OFFSET 29694
2398 #define QM_REG_MAXPQSIZETXSEL_50_RT_OFFSET 29695
2399 #define QM_REG_MAXPQSIZETXSEL_51_RT_OFFSET 29696
2400 #define QM_REG_MAXPQSIZETXSEL_52_RT_OFFSET 29697
2401 #define QM_REG_MAXPQSIZETXSEL_53_RT_OFFSET 29698
2402 #define QM_REG_MAXPQSIZETXSEL_54_RT_OFFSET 29699
2403 #define QM_REG_MAXPQSIZETXSEL_55_RT_OFFSET 29700
2404 #define QM_REG_MAXPQSIZETXSEL_56_RT_OFFSET 29701
2405 #define QM_REG_MAXPQSIZETXSEL_57_RT_OFFSET 29702
2406 #define QM_REG_MAXPQSIZETXSEL_58_RT_OFFSET 29703
2407 #define QM_REG_MAXPQSIZETXSEL_59_RT_OFFSET 29704
2408 #define QM_REG_MAXPQSIZETXSEL_60_RT_OFFSET 29705
2409 #define QM_REG_MAXPQSIZETXSEL_61_RT_OFFSET 29706
2410 #define QM_REG_MAXPQSIZETXSEL_62_RT_OFFSET 29707
2411 #define QM_REG_MAXPQSIZETXSEL_63_RT_OFFSET 29708
2412 #define QM_REG_BASEADDROTHERPQ_RT_OFFSET 29709
2413 #define QM_REG_BASEADDROTHERPQ_RT_SIZE 128
2414 #define QM_REG_VOQCRDLINE_RT_OFFSET 29837
2415 #define QM_REG_VOQCRDLINE_RT_SIZE 20
2416 #define QM_REG_VOQINITCRDLINE_RT_OFFSET 29857
2417 #define QM_REG_VOQINITCRDLINE_RT_SIZE 20
2418 #define QM_REG_AFULLQMBYPTHRPFWFQ_RT_OFFSET 29877
2419 #define QM_REG_AFULLQMBYPTHRVPWFQ_RT_OFFSET 29878
2420 #define QM_REG_AFULLQMBYPTHRPFRL_RT_OFFSET 29879
2421 #define QM_REG_AFULLQMBYPTHRGLBLRL_RT_OFFSET 29880
2422 #define QM_REG_AFULLOPRTNSTCCRDMASK_RT_OFFSET 29881
2423 #define QM_REG_WRROTHERPQGRP_0_RT_OFFSET 29882
2424 #define QM_REG_WRROTHERPQGRP_1_RT_OFFSET 29883
2425 #define QM_REG_WRROTHERPQGRP_2_RT_OFFSET 29884
2426 #define QM_REG_WRROTHERPQGRP_3_RT_OFFSET 29885
2427 #define QM_REG_WRROTHERPQGRP_4_RT_OFFSET 29886
2428 #define QM_REG_WRROTHERPQGRP_5_RT_OFFSET 29887
2429 #define QM_REG_WRROTHERPQGRP_6_RT_OFFSET 29888
2430 #define QM_REG_WRROTHERPQGRP_7_RT_OFFSET 29889
2431 #define QM_REG_WRROTHERPQGRP_8_RT_OFFSET 29890
2432 #define QM_REG_WRROTHERPQGRP_9_RT_OFFSET 29891
2433 #define QM_REG_WRROTHERPQGRP_10_RT_OFFSET 29892
2434 #define QM_REG_WRROTHERPQGRP_11_RT_OFFSET 29893
2435 #define QM_REG_WRROTHERPQGRP_12_RT_OFFSET 29894
2436 #define QM_REG_WRROTHERPQGRP_13_RT_OFFSET 29895
2437 #define QM_REG_WRROTHERPQGRP_14_RT_OFFSET 29896
2438 #define QM_REG_WRROTHERPQGRP_15_RT_OFFSET 29897
2439 #define QM_REG_WRROTHERGRPWEIGHT_0_RT_OFFSET 29898
2440 #define QM_REG_WRROTHERGRPWEIGHT_1_RT_OFFSET 29899
2441 #define QM_REG_WRROTHERGRPWEIGHT_2_RT_OFFSET 29900
2442 #define QM_REG_WRROTHERGRPWEIGHT_3_RT_OFFSET 29901
2443 #define QM_REG_WRRTXGRPWEIGHT_0_RT_OFFSET 29902
2444 #define QM_REG_WRRTXGRPWEIGHT_1_RT_OFFSET 29903
2445 #define QM_REG_PQTX2PF_0_RT_OFFSET 29904
2446 #define QM_REG_PQTX2PF_1_RT_OFFSET 29905
2447 #define QM_REG_PQTX2PF_2_RT_OFFSET 29906
2448 #define QM_REG_PQTX2PF_3_RT_OFFSET 29907
2449 #define QM_REG_PQTX2PF_4_RT_OFFSET 29908
2450 #define QM_REG_PQTX2PF_5_RT_OFFSET 29909
2451 #define QM_REG_PQTX2PF_6_RT_OFFSET 29910
2452 #define QM_REG_PQTX2PF_7_RT_OFFSET 29911
2453 #define QM_REG_PQTX2PF_8_RT_OFFSET 29912
2454 #define QM_REG_PQTX2PF_9_RT_OFFSET 29913
2455 #define QM_REG_PQTX2PF_10_RT_OFFSET 29914
2456 #define QM_REG_PQTX2PF_11_RT_OFFSET 29915
2457 #define QM_REG_PQTX2PF_12_RT_OFFSET 29916
2458 #define QM_REG_PQTX2PF_13_RT_OFFSET 29917
2459 #define QM_REG_PQTX2PF_14_RT_OFFSET 29918
2460 #define QM_REG_PQTX2PF_15_RT_OFFSET 29919
2461 #define QM_REG_PQTX2PF_16_RT_OFFSET 29920
2462 #define QM_REG_PQTX2PF_17_RT_OFFSET 29921
2463 #define QM_REG_PQTX2PF_18_RT_OFFSET 29922
2464 #define QM_REG_PQTX2PF_19_RT_OFFSET 29923
2465 #define QM_REG_PQTX2PF_20_RT_OFFSET 29924
2466 #define QM_REG_PQTX2PF_21_RT_OFFSET 29925
2467 #define QM_REG_PQTX2PF_22_RT_OFFSET 29926
2468 #define QM_REG_PQTX2PF_23_RT_OFFSET 29927
2469 #define QM_REG_PQTX2PF_24_RT_OFFSET 29928
2470 #define QM_REG_PQTX2PF_25_RT_OFFSET 29929
2471 #define QM_REG_PQTX2PF_26_RT_OFFSET 29930
2472 #define QM_REG_PQTX2PF_27_RT_OFFSET 29931
2473 #define QM_REG_PQTX2PF_28_RT_OFFSET 29932
2474 #define QM_REG_PQTX2PF_29_RT_OFFSET 29933
2475 #define QM_REG_PQTX2PF_30_RT_OFFSET 29934
2476 #define QM_REG_PQTX2PF_31_RT_OFFSET 29935
2477 #define QM_REG_PQTX2PF_32_RT_OFFSET 29936
2478 #define QM_REG_PQTX2PF_33_RT_OFFSET 29937
2479 #define QM_REG_PQTX2PF_34_RT_OFFSET 29938
2480 #define QM_REG_PQTX2PF_35_RT_OFFSET 29939
2481 #define QM_REG_PQTX2PF_36_RT_OFFSET 29940
2482 #define QM_REG_PQTX2PF_37_RT_OFFSET 29941
2483 #define QM_REG_PQTX2PF_38_RT_OFFSET 29942
2484 #define QM_REG_PQTX2PF_39_RT_OFFSET 29943
2485 #define QM_REG_PQTX2PF_40_RT_OFFSET 29944
2486 #define QM_REG_PQTX2PF_41_RT_OFFSET 29945
2487 #define QM_REG_PQTX2PF_42_RT_OFFSET 29946
2488 #define QM_REG_PQTX2PF_43_RT_OFFSET 29947
2489 #define QM_REG_PQTX2PF_44_RT_OFFSET 29948
2490 #define QM_REG_PQTX2PF_45_RT_OFFSET 29949
2491 #define QM_REG_PQTX2PF_46_RT_OFFSET 29950
2492 #define QM_REG_PQTX2PF_47_RT_OFFSET 29951
2493 #define QM_REG_PQTX2PF_48_RT_OFFSET 29952
2494 #define QM_REG_PQTX2PF_49_RT_OFFSET 29953
2495 #define QM_REG_PQTX2PF_50_RT_OFFSET 29954
2496 #define QM_REG_PQTX2PF_51_RT_OFFSET 29955
2497 #define QM_REG_PQTX2PF_52_RT_OFFSET 29956
2498 #define QM_REG_PQTX2PF_53_RT_OFFSET 29957
2499 #define QM_REG_PQTX2PF_54_RT_OFFSET 29958
2500 #define QM_REG_PQTX2PF_55_RT_OFFSET 29959
2501 #define QM_REG_PQTX2PF_56_RT_OFFSET 29960
2502 #define QM_REG_PQTX2PF_57_RT_OFFSET 29961
2503 #define QM_REG_PQTX2PF_58_RT_OFFSET 29962
2504 #define QM_REG_PQTX2PF_59_RT_OFFSET 29963
2505 #define QM_REG_PQTX2PF_60_RT_OFFSET 29964
2506 #define QM_REG_PQTX2PF_61_RT_OFFSET 29965
2507 #define QM_REG_PQTX2PF_62_RT_OFFSET 29966
2508 #define QM_REG_PQTX2PF_63_RT_OFFSET 29967
2509 #define QM_REG_PQOTHER2PF_0_RT_OFFSET 29968
2510 #define QM_REG_PQOTHER2PF_1_RT_OFFSET 29969
2511 #define QM_REG_PQOTHER2PF_2_RT_OFFSET 29970
2512 #define QM_REG_PQOTHER2PF_3_RT_OFFSET 29971
2513 #define QM_REG_PQOTHER2PF_4_RT_OFFSET 29972
2514 #define QM_REG_PQOTHER2PF_5_RT_OFFSET 29973
2515 #define QM_REG_PQOTHER2PF_6_RT_OFFSET 29974
2516 #define QM_REG_PQOTHER2PF_7_RT_OFFSET 29975
2517 #define QM_REG_PQOTHER2PF_8_RT_OFFSET 29976
2518 #define QM_REG_PQOTHER2PF_9_RT_OFFSET 29977
2519 #define QM_REG_PQOTHER2PF_10_RT_OFFSET 29978
2520 #define QM_REG_PQOTHER2PF_11_RT_OFFSET 29979
2521 #define QM_REG_PQOTHER2PF_12_RT_OFFSET 29980
2522 #define QM_REG_PQOTHER2PF_13_RT_OFFSET 29981
2523 #define QM_REG_PQOTHER2PF_14_RT_OFFSET 29982
2524 #define QM_REG_PQOTHER2PF_15_RT_OFFSET 29983
2525 #define QM_REG_RLGLBLPERIOD_0_RT_OFFSET 29984
2526 #define QM_REG_RLGLBLPERIOD_1_RT_OFFSET 29985
2527 #define QM_REG_RLGLBLPERIODTIMER_0_RT_OFFSET 29986
2528 #define QM_REG_RLGLBLPERIODTIMER_1_RT_OFFSET 29987
2529 #define QM_REG_RLGLBLPERIODSEL_0_RT_OFFSET 29988
2530 #define QM_REG_RLGLBLPERIODSEL_1_RT_OFFSET 29989
2531 #define QM_REG_RLGLBLPERIODSEL_2_RT_OFFSET 29990
2532 #define QM_REG_RLGLBLPERIODSEL_3_RT_OFFSET 29991
2533 #define QM_REG_RLGLBLPERIODSEL_4_RT_OFFSET 29992
2534 #define QM_REG_RLGLBLPERIODSEL_5_RT_OFFSET 29993
2535 #define QM_REG_RLGLBLPERIODSEL_6_RT_OFFSET 29994
2536 #define QM_REG_RLGLBLPERIODSEL_7_RT_OFFSET 29995
2537 #define QM_REG_RLGLBLINCVAL_RT_OFFSET 29996
2538 #define QM_REG_RLGLBLINCVAL_RT_SIZE 256
2539 #define QM_REG_RLGLBLUPPERBOUND_RT_OFFSET 30252
2540 #define QM_REG_RLGLBLUPPERBOUND_RT_SIZE 256
2541 #define QM_REG_RLGLBLCRD_RT_OFFSET 30508
2542 #define QM_REG_RLGLBLCRD_RT_SIZE 256
2543 #define QM_REG_RLGLBLENABLE_RT_OFFSET 30764
2544 #define QM_REG_RLPFPERIOD_RT_OFFSET 30765
2545 #define QM_REG_RLPFPERIODTIMER_RT_OFFSET 30766
2546 #define QM_REG_RLPFINCVAL_RT_OFFSET 30767
2547 #define QM_REG_RLPFINCVAL_RT_SIZE 16
2548 #define QM_REG_RLPFUPPERBOUND_RT_OFFSET 30783
2549 #define QM_REG_RLPFUPPERBOUND_RT_SIZE 16
2550 #define QM_REG_RLPFCRD_RT_OFFSET 30799
2551 #define QM_REG_RLPFCRD_RT_SIZE 16
2552 #define QM_REG_RLPFENABLE_RT_OFFSET 30815
2553 #define QM_REG_RLPFVOQENABLE_RT_OFFSET 30816
2554 #define QM_REG_WFQPFWEIGHT_RT_OFFSET 30817
2555 #define QM_REG_WFQPFWEIGHT_RT_SIZE 16
2556 #define QM_REG_WFQPFUPPERBOUND_RT_OFFSET 30833
2557 #define QM_REG_WFQPFUPPERBOUND_RT_SIZE 16
2558 #define QM_REG_WFQPFCRD_RT_OFFSET 30849
2559 #define QM_REG_WFQPFCRD_RT_SIZE 160
2560 #define QM_REG_WFQPFENABLE_RT_OFFSET 31009
2561 #define QM_REG_WFQVPENABLE_RT_OFFSET 31010
2562 #define QM_REG_BASEADDRTXPQ_RT_OFFSET 31011
2563 #define QM_REG_BASEADDRTXPQ_RT_SIZE 512
2564 #define QM_REG_TXPQMAP_RT_OFFSET 31523
2565 #define QM_REG_TXPQMAP_RT_SIZE 512
2566 #define QM_REG_WFQVPWEIGHT_RT_OFFSET 32035
2567 #define QM_REG_WFQVPWEIGHT_RT_SIZE 512
2568 #define QM_REG_WFQVPCRD_RT_OFFSET 32547
2569 #define QM_REG_WFQVPCRD_RT_SIZE 512
2570 #define QM_REG_WFQVPMAP_RT_OFFSET 33059
2571 #define QM_REG_WFQVPMAP_RT_SIZE 512
2572 #define QM_REG_WFQPFCRD_MSB_RT_OFFSET 33571
2573 #define QM_REG_WFQPFCRD_MSB_RT_SIZE 160
2574 #define NIG_REG_TAG_ETHERTYPE_0_RT_OFFSET 33731
2575 #define NIG_REG_OUTER_TAG_VALUE_LIST0_RT_OFFSET 33732
2576 #define NIG_REG_OUTER_TAG_VALUE_LIST1_RT_OFFSET 33733
2577 #define NIG_REG_OUTER_TAG_VALUE_LIST2_RT_OFFSET 33734
2578 #define NIG_REG_OUTER_TAG_VALUE_LIST3_RT_OFFSET 33735
2579 #define NIG_REG_OUTER_TAG_VALUE_MASK_RT_OFFSET 33736
2580 #define NIG_REG_LLH_FUNC_TAGMAC_CLS_TYPE_RT_OFFSET 33737
2581 #define NIG_REG_LLH_FUNC_TAG_EN_RT_OFFSET 33738
2582 #define NIG_REG_LLH_FUNC_TAG_EN_RT_SIZE 4
2583 #define NIG_REG_LLH_FUNC_TAG_HDR_SEL_RT_OFFSET 33742
2584 #define NIG_REG_LLH_FUNC_TAG_HDR_SEL_RT_SIZE 4
2585 #define NIG_REG_LLH_FUNC_TAG_VALUE_RT_OFFSET 33746
2586 #define NIG_REG_LLH_FUNC_TAG_VALUE_RT_SIZE 4
2587 #define NIG_REG_LLH_FUNC_NO_TAG_RT_OFFSET 33750
2588 #define NIG_REG_LLH_FUNC_FILTER_VALUE_RT_OFFSET 33751
2589 #define NIG_REG_LLH_FUNC_FILTER_VALUE_RT_SIZE 32
2590 #define NIG_REG_LLH_FUNC_FILTER_EN_RT_OFFSET 33783
2591 #define NIG_REG_LLH_FUNC_FILTER_EN_RT_SIZE 16
2592 #define NIG_REG_LLH_FUNC_FILTER_MODE_RT_OFFSET 33799
2593 #define NIG_REG_LLH_FUNC_FILTER_MODE_RT_SIZE 16
2594 #define NIG_REG_LLH_FUNC_FILTER_PROTOCOL_TYPE_RT_OFFSET 33815
2595 #define NIG_REG_LLH_FUNC_FILTER_PROTOCOL_TYPE_RT_SIZE 16
2596 #define NIG_REG_LLH_FUNC_FILTER_HDR_SEL_RT_OFFSET 33831
2597 #define NIG_REG_LLH_FUNC_FILTER_HDR_SEL_RT_SIZE 16
2598 #define NIG_REG_TX_EDPM_CTRL_RT_OFFSET 33847
2599 #define NIG_REG_ROCE_DUPLICATE_TO_HOST_RT_OFFSET 33848
2600 #define CDU_REG_CID_ADDR_PARAMS_RT_OFFSET 33849
2601 #define CDU_REG_SEGMENT0_PARAMS_RT_OFFSET 33850
2602 #define CDU_REG_SEGMENT1_PARAMS_RT_OFFSET 33851
2603 #define CDU_REG_PF_SEG0_TYPE_OFFSET_RT_OFFSET 33852
2604 #define CDU_REG_PF_SEG1_TYPE_OFFSET_RT_OFFSET 33853
2605 #define CDU_REG_PF_SEG2_TYPE_OFFSET_RT_OFFSET 33854
2606 #define CDU_REG_PF_SEG3_TYPE_OFFSET_RT_OFFSET 33855
2607 #define CDU_REG_PF_FL_SEG0_TYPE_OFFSET_RT_OFFSET 33856
2608 #define CDU_REG_PF_FL_SEG1_TYPE_OFFSET_RT_OFFSET 33857
2609 #define CDU_REG_PF_FL_SEG2_TYPE_OFFSET_RT_OFFSET 33858
2610 #define CDU_REG_PF_FL_SEG3_TYPE_OFFSET_RT_OFFSET 33859
2611 #define CDU_REG_VF_SEG_TYPE_OFFSET_RT_OFFSET 33860
2612 #define CDU_REG_VF_FL_SEG_TYPE_OFFSET_RT_OFFSET 33861
2613 #define PBF_REG_TAG_ETHERTYPE_0_RT_OFFSET 33862
2614 #define PBF_REG_BTB_SHARED_AREA_SIZE_RT_OFFSET 33863
2615 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ0_RT_OFFSET 33864
2616 #define PBF_REG_BTB_GUARANTEED_VOQ0_RT_OFFSET 33865
2617 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ0_RT_OFFSET 33866
2618 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ1_RT_OFFSET 33867
2619 #define PBF_REG_BTB_GUARANTEED_VOQ1_RT_OFFSET 33868
2620 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ1_RT_OFFSET 33869
2621 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ2_RT_OFFSET 33870
2622 #define PBF_REG_BTB_GUARANTEED_VOQ2_RT_OFFSET 33871
2623 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ2_RT_OFFSET 33872
2624 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ3_RT_OFFSET 33873
2625 #define PBF_REG_BTB_GUARANTEED_VOQ3_RT_OFFSET 33874
2626 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ3_RT_OFFSET 33875
2627 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ4_RT_OFFSET 33876
2628 #define PBF_REG_BTB_GUARANTEED_VOQ4_RT_OFFSET 33877
2629 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ4_RT_OFFSET 33878
2630 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ5_RT_OFFSET 33879
2631 #define PBF_REG_BTB_GUARANTEED_VOQ5_RT_OFFSET 33880
2632 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ5_RT_OFFSET 33881
2633 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ6_RT_OFFSET 33882
2634 #define PBF_REG_BTB_GUARANTEED_VOQ6_RT_OFFSET 33883
2635 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ6_RT_OFFSET 33884
2636 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ7_RT_OFFSET 33885
2637 #define PBF_REG_BTB_GUARANTEED_VOQ7_RT_OFFSET 33886
2638 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ7_RT_OFFSET 33887
2639 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ8_RT_OFFSET 33888
2640 #define PBF_REG_BTB_GUARANTEED_VOQ8_RT_OFFSET 33889
2641 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ8_RT_OFFSET 33890
2642 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ9_RT_OFFSET 33891
2643 #define PBF_REG_BTB_GUARANTEED_VOQ9_RT_OFFSET 33892
2644 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ9_RT_OFFSET 33893
2645 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ10_RT_OFFSET 33894
2646 #define PBF_REG_BTB_GUARANTEED_VOQ10_RT_OFFSET 33895
2647 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ10_RT_OFFSET 33896
2648 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ11_RT_OFFSET 33897
2649 #define PBF_REG_BTB_GUARANTEED_VOQ11_RT_OFFSET 33898
2650 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ11_RT_OFFSET 33899
2651 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ12_RT_OFFSET 33900
2652 #define PBF_REG_BTB_GUARANTEED_VOQ12_RT_OFFSET 33901
2653 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ12_RT_OFFSET 33902
2654 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ13_RT_OFFSET 33903
2655 #define PBF_REG_BTB_GUARANTEED_VOQ13_RT_OFFSET 33904
2656 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ13_RT_OFFSET 33905
2657 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ14_RT_OFFSET 33906
2658 #define PBF_REG_BTB_GUARANTEED_VOQ14_RT_OFFSET 33907
2659 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ14_RT_OFFSET 33908
2660 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ15_RT_OFFSET 33909
2661 #define PBF_REG_BTB_GUARANTEED_VOQ15_RT_OFFSET 33910
2662 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ15_RT_OFFSET 33911
2663 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ16_RT_OFFSET 33912
2664 #define PBF_REG_BTB_GUARANTEED_VOQ16_RT_OFFSET 33913
2665 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ16_RT_OFFSET 33914
2666 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ17_RT_OFFSET 33915
2667 #define PBF_REG_BTB_GUARANTEED_VOQ17_RT_OFFSET 33916
2668 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ17_RT_OFFSET 33917
2669 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ18_RT_OFFSET 33918
2670 #define PBF_REG_BTB_GUARANTEED_VOQ18_RT_OFFSET 33919
2671 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ18_RT_OFFSET 33920
2672 #define PBF_REG_YCMD_QS_NUM_LINES_VOQ19_RT_OFFSET 33921
2673 #define PBF_REG_BTB_GUARANTEED_VOQ19_RT_OFFSET 33922
2674 #define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ19_RT_OFFSET 33923
2675 #define XCM_REG_CON_PHY_Q3_RT_OFFSET 33924
2677 #define RUNTIME_ARRAY_SIZE 33925
2679 /* The eth storm context for the Tstorm */
2680 struct tstorm_eth_conn_st_ctx {
2684 /* The eth storm context for the Pstorm */
2685 struct pstorm_eth_conn_st_ctx {
2689 /* The eth storm context for the Xstorm */
2690 struct xstorm_eth_conn_st_ctx {
2691 __le32 reserved[60];
2694 struct xstorm_eth_conn_ag_ctx {
2698 #define XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
2699 #define XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
2700 #define XSTORM_ETH_CONN_AG_CTX_RESERVED1_MASK 0x1
2701 #define XSTORM_ETH_CONN_AG_CTX_RESERVED1_SHIFT 1
2702 #define XSTORM_ETH_CONN_AG_CTX_RESERVED2_MASK 0x1
2703 #define XSTORM_ETH_CONN_AG_CTX_RESERVED2_SHIFT 2
2704 #define XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1
2705 #define XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
2706 #define XSTORM_ETH_CONN_AG_CTX_RESERVED3_MASK 0x1
2707 #define XSTORM_ETH_CONN_AG_CTX_RESERVED3_SHIFT 4
2708 #define XSTORM_ETH_CONN_AG_CTX_RESERVED4_MASK 0x1
2709 #define XSTORM_ETH_CONN_AG_CTX_RESERVED4_SHIFT 5
2710 #define XSTORM_ETH_CONN_AG_CTX_RESERVED5_MASK 0x1
2711 #define XSTORM_ETH_CONN_AG_CTX_RESERVED5_SHIFT 6
2712 #define XSTORM_ETH_CONN_AG_CTX_RESERVED6_MASK 0x1
2713 #define XSTORM_ETH_CONN_AG_CTX_RESERVED6_SHIFT 7
2715 #define XSTORM_ETH_CONN_AG_CTX_RESERVED7_MASK 0x1
2716 #define XSTORM_ETH_CONN_AG_CTX_RESERVED7_SHIFT 0
2717 #define XSTORM_ETH_CONN_AG_CTX_RESERVED8_MASK 0x1
2718 #define XSTORM_ETH_CONN_AG_CTX_RESERVED8_SHIFT 1
2719 #define XSTORM_ETH_CONN_AG_CTX_RESERVED9_MASK 0x1
2720 #define XSTORM_ETH_CONN_AG_CTX_RESERVED9_SHIFT 2
2721 #define XSTORM_ETH_CONN_AG_CTX_BIT11_MASK 0x1
2722 #define XSTORM_ETH_CONN_AG_CTX_BIT11_SHIFT 3
2723 #define XSTORM_ETH_CONN_AG_CTX_BIT12_MASK 0x1
2724 #define XSTORM_ETH_CONN_AG_CTX_BIT12_SHIFT 4
2725 #define XSTORM_ETH_CONN_AG_CTX_BIT13_MASK 0x1
2726 #define XSTORM_ETH_CONN_AG_CTX_BIT13_SHIFT 5
2727 #define XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x1
2728 #define XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 6
2729 #define XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x1
2730 #define XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT 7
2732 #define XSTORM_ETH_CONN_AG_CTX_CF0_MASK 0x3
2733 #define XSTORM_ETH_CONN_AG_CTX_CF0_SHIFT 0
2734 #define XSTORM_ETH_CONN_AG_CTX_CF1_MASK 0x3
2735 #define XSTORM_ETH_CONN_AG_CTX_CF1_SHIFT 2
2736 #define XSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3
2737 #define XSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 4
2738 #define XSTORM_ETH_CONN_AG_CTX_CF3_MASK 0x3
2739 #define XSTORM_ETH_CONN_AG_CTX_CF3_SHIFT 6
2741 #define XSTORM_ETH_CONN_AG_CTX_CF4_MASK 0x3
2742 #define XSTORM_ETH_CONN_AG_CTX_CF4_SHIFT 0
2743 #define XSTORM_ETH_CONN_AG_CTX_CF5_MASK 0x3
2744 #define XSTORM_ETH_CONN_AG_CTX_CF5_SHIFT 2
2745 #define XSTORM_ETH_CONN_AG_CTX_CF6_MASK 0x3
2746 #define XSTORM_ETH_CONN_AG_CTX_CF6_SHIFT 4
2747 #define XSTORM_ETH_CONN_AG_CTX_CF7_MASK 0x3
2748 #define XSTORM_ETH_CONN_AG_CTX_CF7_SHIFT 6
2750 #define XSTORM_ETH_CONN_AG_CTX_CF8_MASK 0x3
2751 #define XSTORM_ETH_CONN_AG_CTX_CF8_SHIFT 0
2752 #define XSTORM_ETH_CONN_AG_CTX_CF9_MASK 0x3
2753 #define XSTORM_ETH_CONN_AG_CTX_CF9_SHIFT 2
2754 #define XSTORM_ETH_CONN_AG_CTX_CF10_MASK 0x3
2755 #define XSTORM_ETH_CONN_AG_CTX_CF10_SHIFT 4
2756 #define XSTORM_ETH_CONN_AG_CTX_CF11_MASK 0x3
2757 #define XSTORM_ETH_CONN_AG_CTX_CF11_SHIFT 6
2759 #define XSTORM_ETH_CONN_AG_CTX_CF12_MASK 0x3
2760 #define XSTORM_ETH_CONN_AG_CTX_CF12_SHIFT 0
2761 #define XSTORM_ETH_CONN_AG_CTX_CF13_MASK 0x3
2762 #define XSTORM_ETH_CONN_AG_CTX_CF13_SHIFT 2
2763 #define XSTORM_ETH_CONN_AG_CTX_CF14_MASK 0x3
2764 #define XSTORM_ETH_CONN_AG_CTX_CF14_SHIFT 4
2765 #define XSTORM_ETH_CONN_AG_CTX_CF15_MASK 0x3
2766 #define XSTORM_ETH_CONN_AG_CTX_CF15_SHIFT 6
2768 #define XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK 0x3
2769 #define XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT 0
2770 #define XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_MASK 0x3
2771 #define XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT 2
2772 #define XSTORM_ETH_CONN_AG_CTX_DQ_CF_MASK 0x3
2773 #define XSTORM_ETH_CONN_AG_CTX_DQ_CF_SHIFT 4
2774 #define XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_MASK 0x3
2775 #define XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_SHIFT 6
2777 #define XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_MASK 0x3
2778 #define XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
2779 #define XSTORM_ETH_CONN_AG_CTX_RESERVED10_MASK 0x3
2780 #define XSTORM_ETH_CONN_AG_CTX_RESERVED10_SHIFT 2
2781 #define XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_MASK 0x3
2782 #define XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_SHIFT 4
2783 #define XSTORM_ETH_CONN_AG_CTX_CF0EN_MASK 0x1
2784 #define XSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT 6
2785 #define XSTORM_ETH_CONN_AG_CTX_CF1EN_MASK 0x1
2786 #define XSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT 7
2788 #define XSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1
2789 #define XSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 0
2790 #define XSTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x1
2791 #define XSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 1
2792 #define XSTORM_ETH_CONN_AG_CTX_CF4EN_MASK 0x1
2793 #define XSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT 2
2794 #define XSTORM_ETH_CONN_AG_CTX_CF5EN_MASK 0x1
2795 #define XSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT 3
2796 #define XSTORM_ETH_CONN_AG_CTX_CF6EN_MASK 0x1
2797 #define XSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT 4
2798 #define XSTORM_ETH_CONN_AG_CTX_CF7EN_MASK 0x1
2799 #define XSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT 5
2800 #define XSTORM_ETH_CONN_AG_CTX_CF8EN_MASK 0x1
2801 #define XSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT 6
2802 #define XSTORM_ETH_CONN_AG_CTX_CF9EN_MASK 0x1
2803 #define XSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT 7
2805 #define XSTORM_ETH_CONN_AG_CTX_CF10EN_MASK 0x1
2806 #define XSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT 0
2807 #define XSTORM_ETH_CONN_AG_CTX_CF11EN_MASK 0x1
2808 #define XSTORM_ETH_CONN_AG_CTX_CF11EN_SHIFT 1
2809 #define XSTORM_ETH_CONN_AG_CTX_CF12EN_MASK 0x1
2810 #define XSTORM_ETH_CONN_AG_CTX_CF12EN_SHIFT 2
2811 #define XSTORM_ETH_CONN_AG_CTX_CF13EN_MASK 0x1
2812 #define XSTORM_ETH_CONN_AG_CTX_CF13EN_SHIFT 3
2813 #define XSTORM_ETH_CONN_AG_CTX_CF14EN_MASK 0x1
2814 #define XSTORM_ETH_CONN_AG_CTX_CF14EN_SHIFT 4
2815 #define XSTORM_ETH_CONN_AG_CTX_CF15EN_MASK 0x1
2816 #define XSTORM_ETH_CONN_AG_CTX_CF15EN_SHIFT 5
2817 #define XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK 0x1
2818 #define XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT 6
2819 #define XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK 0x1
2820 #define XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT 7
2822 #define XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_MASK 0x1
2823 #define XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_SHIFT 0
2824 #define XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_MASK 0x1
2825 #define XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT 1
2826 #define XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1
2827 #define XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 2
2828 #define XSTORM_ETH_CONN_AG_CTX_RESERVED11_MASK 0x1
2829 #define XSTORM_ETH_CONN_AG_CTX_RESERVED11_SHIFT 3
2830 #define XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1
2831 #define XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
2832 #define XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK 0x1
2833 #define XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 5
2834 #define XSTORM_ETH_CONN_AG_CTX_RESERVED12_MASK 0x1
2835 #define XSTORM_ETH_CONN_AG_CTX_RESERVED12_SHIFT 6
2836 #define XSTORM_ETH_CONN_AG_CTX_RESERVED13_MASK 0x1
2837 #define XSTORM_ETH_CONN_AG_CTX_RESERVED13_SHIFT 7
2839 #define XSTORM_ETH_CONN_AG_CTX_RESERVED14_MASK 0x1
2840 #define XSTORM_ETH_CONN_AG_CTX_RESERVED14_SHIFT 0
2841 #define XSTORM_ETH_CONN_AG_CTX_RESERVED15_MASK 0x1
2842 #define XSTORM_ETH_CONN_AG_CTX_RESERVED15_SHIFT 1
2843 #define XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_MASK 0x1
2844 #define XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT 2
2845 #define XSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x1
2846 #define XSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 3
2847 #define XSTORM_ETH_CONN_AG_CTX_RULE6EN_MASK 0x1
2848 #define XSTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT 4
2849 #define XSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x1
2850 #define XSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 5
2851 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_MASK 0x1
2852 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
2853 #define XSTORM_ETH_CONN_AG_CTX_RULE9EN_MASK 0x1
2854 #define XSTORM_ETH_CONN_AG_CTX_RULE9EN_SHIFT 7
2856 #define XSTORM_ETH_CONN_AG_CTX_RULE10EN_MASK 0x1
2857 #define XSTORM_ETH_CONN_AG_CTX_RULE10EN_SHIFT 0
2858 #define XSTORM_ETH_CONN_AG_CTX_RULE11EN_MASK 0x1
2859 #define XSTORM_ETH_CONN_AG_CTX_RULE11EN_SHIFT 1
2860 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_MASK 0x1
2861 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
2862 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_MASK 0x1
2863 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
2864 #define XSTORM_ETH_CONN_AG_CTX_RULE14EN_MASK 0x1
2865 #define XSTORM_ETH_CONN_AG_CTX_RULE14EN_SHIFT 4
2866 #define XSTORM_ETH_CONN_AG_CTX_RULE15EN_MASK 0x1
2867 #define XSTORM_ETH_CONN_AG_CTX_RULE15EN_SHIFT 5
2868 #define XSTORM_ETH_CONN_AG_CTX_RULE16EN_MASK 0x1
2869 #define XSTORM_ETH_CONN_AG_CTX_RULE16EN_SHIFT 6
2870 #define XSTORM_ETH_CONN_AG_CTX_RULE17EN_MASK 0x1
2871 #define XSTORM_ETH_CONN_AG_CTX_RULE17EN_SHIFT 7
2873 #define XSTORM_ETH_CONN_AG_CTX_RULE18EN_MASK 0x1
2874 #define XSTORM_ETH_CONN_AG_CTX_RULE18EN_SHIFT 0
2875 #define XSTORM_ETH_CONN_AG_CTX_RULE19EN_MASK 0x1
2876 #define XSTORM_ETH_CONN_AG_CTX_RULE19EN_SHIFT 1
2877 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_MASK 0x1
2878 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_SHIFT 2
2879 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_MASK 0x1
2880 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_SHIFT 3
2881 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_MASK 0x1
2882 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
2883 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_MASK 0x1
2884 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_SHIFT 5
2885 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_MASK 0x1
2886 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
2887 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_MASK 0x1
2888 #define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
2890 #define XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK 0x1
2891 #define XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT 0
2892 #define XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK 0x1
2893 #define XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT 1
2894 #define XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK 0x1
2895 #define XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT 2
2896 #define XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK 0x1
2897 #define XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT 3
2898 #define XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_MASK 0x1
2899 #define XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT 4
2900 #define XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK 0x1
2901 #define XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT 5
2902 #define XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_MASK 0x3
2903 #define XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_SHIFT 6
2907 __le16 edpm_num_bds;
2957 /* The eth storm context for the Ystorm */
2958 struct ystorm_eth_conn_st_ctx {
2962 struct ystorm_eth_conn_ag_ctx {
2966 #define YSTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x1
2967 #define YSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 0
2968 #define YSTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x1
2969 #define YSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 1
2970 #define YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK 0x3
2971 #define YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT 2
2972 #define YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_MASK 0x3
2973 #define YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_SHIFT 4
2974 #define YSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3
2975 #define YSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 6
2977 #define YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK 0x1
2978 #define YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 0
2979 #define YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_MASK 0x1
2980 #define YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_SHIFT 1
2981 #define YSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1
2982 #define YSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 2
2983 #define YSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x1
2984 #define YSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 3
2985 #define YSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x1
2986 #define YSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 4
2987 #define YSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x1
2988 #define YSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 5
2989 #define YSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x1
2990 #define YSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 6
2991 #define YSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x1
2992 #define YSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 7
2993 u8 tx_q0_int_coallecing_timeset;
2996 __le32 terminate_spqe;
2998 __le16 tx_bd_cons_upd;
3006 struct tstorm_eth_conn_ag_ctx {
3010 #define TSTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x1
3011 #define TSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 0
3012 #define TSTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x1
3013 #define TSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 1
3014 #define TSTORM_ETH_CONN_AG_CTX_BIT2_MASK 0x1
3015 #define TSTORM_ETH_CONN_AG_CTX_BIT2_SHIFT 2
3016 #define TSTORM_ETH_CONN_AG_CTX_BIT3_MASK 0x1
3017 #define TSTORM_ETH_CONN_AG_CTX_BIT3_SHIFT 3
3018 #define TSTORM_ETH_CONN_AG_CTX_BIT4_MASK 0x1
3019 #define TSTORM_ETH_CONN_AG_CTX_BIT4_SHIFT 4
3020 #define TSTORM_ETH_CONN_AG_CTX_BIT5_MASK 0x1
3021 #define TSTORM_ETH_CONN_AG_CTX_BIT5_SHIFT 5
3022 #define TSTORM_ETH_CONN_AG_CTX_CF0_MASK 0x3
3023 #define TSTORM_ETH_CONN_AG_CTX_CF0_SHIFT 6
3025 #define TSTORM_ETH_CONN_AG_CTX_CF1_MASK 0x3
3026 #define TSTORM_ETH_CONN_AG_CTX_CF1_SHIFT 0
3027 #define TSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3
3028 #define TSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 2
3029 #define TSTORM_ETH_CONN_AG_CTX_CF3_MASK 0x3
3030 #define TSTORM_ETH_CONN_AG_CTX_CF3_SHIFT 4
3031 #define TSTORM_ETH_CONN_AG_CTX_CF4_MASK 0x3
3032 #define TSTORM_ETH_CONN_AG_CTX_CF4_SHIFT 6
3034 #define TSTORM_ETH_CONN_AG_CTX_CF5_MASK 0x3
3035 #define TSTORM_ETH_CONN_AG_CTX_CF5_SHIFT 0
3036 #define TSTORM_ETH_CONN_AG_CTX_CF6_MASK 0x3
3037 #define TSTORM_ETH_CONN_AG_CTX_CF6_SHIFT 2
3038 #define TSTORM_ETH_CONN_AG_CTX_CF7_MASK 0x3
3039 #define TSTORM_ETH_CONN_AG_CTX_CF7_SHIFT 4
3040 #define TSTORM_ETH_CONN_AG_CTX_CF8_MASK 0x3
3041 #define TSTORM_ETH_CONN_AG_CTX_CF8_SHIFT 6
3043 #define TSTORM_ETH_CONN_AG_CTX_CF9_MASK 0x3
3044 #define TSTORM_ETH_CONN_AG_CTX_CF9_SHIFT 0
3045 #define TSTORM_ETH_CONN_AG_CTX_CF10_MASK 0x3
3046 #define TSTORM_ETH_CONN_AG_CTX_CF10_SHIFT 2
3047 #define TSTORM_ETH_CONN_AG_CTX_CF0EN_MASK 0x1
3048 #define TSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT 4
3049 #define TSTORM_ETH_CONN_AG_CTX_CF1EN_MASK 0x1
3050 #define TSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT 5
3051 #define TSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1
3052 #define TSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 6
3053 #define TSTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x1
3054 #define TSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 7
3056 #define TSTORM_ETH_CONN_AG_CTX_CF4EN_MASK 0x1
3057 #define TSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT 0
3058 #define TSTORM_ETH_CONN_AG_CTX_CF5EN_MASK 0x1
3059 #define TSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT 1
3060 #define TSTORM_ETH_CONN_AG_CTX_CF6EN_MASK 0x1
3061 #define TSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT 2
3062 #define TSTORM_ETH_CONN_AG_CTX_CF7EN_MASK 0x1
3063 #define TSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT 3
3064 #define TSTORM_ETH_CONN_AG_CTX_CF8EN_MASK 0x1
3065 #define TSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT 4
3066 #define TSTORM_ETH_CONN_AG_CTX_CF9EN_MASK 0x1
3067 #define TSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT 5
3068 #define TSTORM_ETH_CONN_AG_CTX_CF10EN_MASK 0x1
3069 #define TSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT 6
3070 #define TSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x1
3071 #define TSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 7
3073 #define TSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x1
3074 #define TSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 0
3075 #define TSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x1
3076 #define TSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 1
3077 #define TSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x1
3078 #define TSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 2
3079 #define TSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x1
3080 #define TSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 3
3081 #define TSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x1
3082 #define TSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 4
3083 #define TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_MASK 0x1
3084 #define TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_SHIFT 5
3085 #define TSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x1
3086 #define TSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 6
3087 #define TSTORM_ETH_CONN_AG_CTX_RULE8EN_MASK 0x1
3088 #define TSTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT 7
3110 struct ustorm_eth_conn_ag_ctx {
3114 #define USTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x1
3115 #define USTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 0
3116 #define USTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x1
3117 #define USTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 1
3118 #define USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_MASK 0x3
3119 #define USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_SHIFT 2
3120 #define USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_MASK 0x3
3121 #define USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_SHIFT 4
3122 #define USTORM_ETH_CONN_AG_CTX_CF2_MASK 0x3
3123 #define USTORM_ETH_CONN_AG_CTX_CF2_SHIFT 6
3125 #define USTORM_ETH_CONN_AG_CTX_CF3_MASK 0x3
3126 #define USTORM_ETH_CONN_AG_CTX_CF3_SHIFT 0
3127 #define USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_MASK 0x3
3128 #define USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_SHIFT 2
3129 #define USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_MASK 0x3
3130 #define USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_SHIFT 4
3131 #define USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK 0x3
3132 #define USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT 6
3134 #define USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_MASK 0x1
3135 #define USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_SHIFT 0
3136 #define USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_MASK 0x1
3137 #define USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_SHIFT 1
3138 #define USTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x1
3139 #define USTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 2
3140 #define USTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x1
3141 #define USTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 3
3142 #define USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_MASK 0x1
3143 #define USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_SHIFT 4
3144 #define USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_MASK 0x1
3145 #define USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_SHIFT 5
3146 #define USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK 0x1
3147 #define USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 6
3148 #define USTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x1
3149 #define USTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 7
3151 #define USTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x1
3152 #define USTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 0
3153 #define USTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x1
3154 #define USTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 1
3155 #define USTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x1
3156 #define USTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 2
3157 #define USTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x1
3158 #define USTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 3
3159 #define USTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x1
3160 #define USTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 4
3161 #define USTORM_ETH_CONN_AG_CTX_RULE6EN_MASK 0x1
3162 #define USTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT 5
3163 #define USTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x1
3164 #define USTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 6
3165 #define USTORM_ETH_CONN_AG_CTX_RULE8EN_MASK 0x1
3166 #define USTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT 7
3174 __le32 tx_int_coallecing_timeset;
3175 __le16 tx_drv_bd_cons;
3176 __le16 rx_drv_cqe_cons;
3179 /* The eth storm context for the Ustorm */
3180 struct ustorm_eth_conn_st_ctx {
3181 __le32 reserved[40];
3184 /* The eth storm context for the Mstorm */
3185 struct mstorm_eth_conn_st_ctx {
3189 /* eth connection context */
3190 struct eth_conn_context {
3191 struct tstorm_eth_conn_st_ctx tstorm_st_context;
3192 struct regpair tstorm_st_padding[2];
3193 struct pstorm_eth_conn_st_ctx pstorm_st_context;
3194 struct xstorm_eth_conn_st_ctx xstorm_st_context;
3195 struct xstorm_eth_conn_ag_ctx xstorm_ag_context;
3196 struct ystorm_eth_conn_st_ctx ystorm_st_context;
3197 struct ystorm_eth_conn_ag_ctx ystorm_ag_context;
3198 struct tstorm_eth_conn_ag_ctx tstorm_ag_context;
3199 struct ustorm_eth_conn_ag_ctx ustorm_ag_context;
3200 struct ustorm_eth_conn_st_ctx ustorm_st_context;
3201 struct mstorm_eth_conn_st_ctx mstorm_st_context;
3204 /* opcodes for the event ring */
3205 enum eth_event_opcode {
3207 ETH_EVENT_VPORT_START,
3208 ETH_EVENT_VPORT_UPDATE,
3209 ETH_EVENT_VPORT_STOP,
3210 ETH_EVENT_TX_QUEUE_START,
3211 ETH_EVENT_TX_QUEUE_STOP,
3212 ETH_EVENT_RX_QUEUE_START,
3213 ETH_EVENT_RX_QUEUE_UPDATE,
3214 ETH_EVENT_RX_QUEUE_STOP,
3215 ETH_EVENT_FILTERS_UPDATE,
3217 ETH_EVENT_RESERVED2,
3218 ETH_EVENT_RESERVED3,
3219 ETH_EVENT_RX_ADD_UDP_FILTER,
3220 ETH_EVENT_RX_DELETE_UDP_FILTER,
3221 ETH_EVENT_RESERVED4,
3222 ETH_EVENT_RESERVED5,
3223 MAX_ETH_EVENT_OPCODE
3226 /* Classify rule types in E2/E3 */
3227 enum eth_filter_action {
3228 ETH_FILTER_ACTION_UNUSED,
3229 ETH_FILTER_ACTION_REMOVE,
3230 ETH_FILTER_ACTION_ADD,
3231 ETH_FILTER_ACTION_REMOVE_ALL,
3232 MAX_ETH_FILTER_ACTION
3235 /* Command for adding/removing a classification rule $$KEEP_ENDIANNESS$$ */
3236 struct eth_filter_cmd {
3248 /* $$KEEP_ENDIANNESS$$ */
3249 struct eth_filter_cmd_header {
3257 /* Ethernet filter types: mac/vlan/pair */
3258 enum eth_filter_type {
3259 ETH_FILTER_TYPE_UNUSED,
3260 ETH_FILTER_TYPE_MAC,
3261 ETH_FILTER_TYPE_VLAN,
3262 ETH_FILTER_TYPE_PAIR,
3263 ETH_FILTER_TYPE_INNER_MAC,
3264 ETH_FILTER_TYPE_INNER_VLAN,
3265 ETH_FILTER_TYPE_INNER_PAIR,
3266 ETH_FILTER_TYPE_INNER_MAC_VNI_PAIR,
3267 ETH_FILTER_TYPE_MAC_VNI_PAIR,
3268 ETH_FILTER_TYPE_VNI,
3272 /* Ethernet Ramrod Command IDs */
3273 enum eth_ramrod_cmd_id {
3275 ETH_RAMROD_VPORT_START,
3276 ETH_RAMROD_VPORT_UPDATE,
3277 ETH_RAMROD_VPORT_STOP,
3278 ETH_RAMROD_RX_QUEUE_START,
3279 ETH_RAMROD_RX_QUEUE_STOP,
3280 ETH_RAMROD_TX_QUEUE_START,
3281 ETH_RAMROD_TX_QUEUE_STOP,
3282 ETH_RAMROD_FILTERS_UPDATE,
3283 ETH_RAMROD_RX_QUEUE_UPDATE,
3284 ETH_RAMROD_RX_CREATE_OPENFLOW_ACTION,
3285 ETH_RAMROD_RX_ADD_OPENFLOW_FILTER,
3286 ETH_RAMROD_RX_DELETE_OPENFLOW_FILTER,
3287 ETH_RAMROD_RX_ADD_UDP_FILTER,
3288 ETH_RAMROD_RX_DELETE_UDP_FILTER,
3289 ETH_RAMROD_RX_CREATE_GFT_ACTION,
3290 ETH_RAMROD_GFT_UPDATE_FILTER,
3291 MAX_ETH_RAMROD_CMD_ID
3294 /* return code from eth sp ramrods */
3295 struct eth_return_code {
3297 #define ETH_RETURN_CODE_ERR_CODE_MASK 0x1F
3298 #define ETH_RETURN_CODE_ERR_CODE_SHIFT 0
3299 #define ETH_RETURN_CODE_RESERVED_MASK 0x3
3300 #define ETH_RETURN_CODE_RESERVED_SHIFT 5
3301 #define ETH_RETURN_CODE_RX_TX_MASK 0x1
3302 #define ETH_RETURN_CODE_RX_TX_SHIFT 7
3305 /* What to do in case an error occurs */
3308 ETH_TX_ERR_ASSERT_MALICIOUS,
3312 /* Array of the different error type behaviors */
3313 struct eth_tx_err_vals {
3315 #define ETH_TX_ERR_VALS_ILLEGAL_VLAN_MODE_MASK 0x1
3316 #define ETH_TX_ERR_VALS_ILLEGAL_VLAN_MODE_SHIFT 0
3317 #define ETH_TX_ERR_VALS_PACKET_TOO_SMALL_MASK 0x1
3318 #define ETH_TX_ERR_VALS_PACKET_TOO_SMALL_SHIFT 1
3319 #define ETH_TX_ERR_VALS_ANTI_SPOOFING_ERR_MASK 0x1
3320 #define ETH_TX_ERR_VALS_ANTI_SPOOFING_ERR_SHIFT 2
3321 #define ETH_TX_ERR_VALS_ILLEGAL_INBAND_TAGS_MASK 0x1
3322 #define ETH_TX_ERR_VALS_ILLEGAL_INBAND_TAGS_SHIFT 3
3323 #define ETH_TX_ERR_VALS_VLAN_INSERTION_W_INBAND_TAG_MASK 0x1
3324 #define ETH_TX_ERR_VALS_VLAN_INSERTION_W_INBAND_TAG_SHIFT 4
3325 #define ETH_TX_ERR_VALS_MTU_VIOLATION_MASK 0x1
3326 #define ETH_TX_ERR_VALS_MTU_VIOLATION_SHIFT 5
3327 #define ETH_TX_ERR_VALS_ILLEGAL_CONTROL_FRAME_MASK 0x1
3328 #define ETH_TX_ERR_VALS_ILLEGAL_CONTROL_FRAME_SHIFT 6
3329 #define ETH_TX_ERR_VALS_RESERVED_MASK 0x1FF
3330 #define ETH_TX_ERR_VALS_RESERVED_SHIFT 7
3333 /* vport rss configuration data */
3334 struct eth_vport_rss_config {
3335 __le16 capabilities;
3336 #define ETH_VPORT_RSS_CONFIG_IPV4_CAPABILITY_MASK 0x1
3337 #define ETH_VPORT_RSS_CONFIG_IPV4_CAPABILITY_SHIFT 0
3338 #define ETH_VPORT_RSS_CONFIG_IPV6_CAPABILITY_MASK 0x1
3339 #define ETH_VPORT_RSS_CONFIG_IPV6_CAPABILITY_SHIFT 1
3340 #define ETH_VPORT_RSS_CONFIG_IPV4_TCP_CAPABILITY_MASK 0x1
3341 #define ETH_VPORT_RSS_CONFIG_IPV4_TCP_CAPABILITY_SHIFT 2
3342 #define ETH_VPORT_RSS_CONFIG_IPV6_TCP_CAPABILITY_MASK 0x1
3343 #define ETH_VPORT_RSS_CONFIG_IPV6_TCP_CAPABILITY_SHIFT 3
3344 #define ETH_VPORT_RSS_CONFIG_IPV4_UDP_CAPABILITY_MASK 0x1
3345 #define ETH_VPORT_RSS_CONFIG_IPV4_UDP_CAPABILITY_SHIFT 4
3346 #define ETH_VPORT_RSS_CONFIG_IPV6_UDP_CAPABILITY_MASK 0x1
3347 #define ETH_VPORT_RSS_CONFIG_IPV6_UDP_CAPABILITY_SHIFT 5
3348 #define ETH_VPORT_RSS_CONFIG_EN_5_TUPLE_CAPABILITY_MASK 0x1
3349 #define ETH_VPORT_RSS_CONFIG_EN_5_TUPLE_CAPABILITY_SHIFT 6
3350 #define ETH_VPORT_RSS_CONFIG_RESERVED0_MASK 0x1FF
3351 #define ETH_VPORT_RSS_CONFIG_RESERVED0_SHIFT 7
3355 u8 update_rss_ind_table;
3356 u8 update_rss_capabilities;
3358 __le32 reserved2[2];
3359 __le16 indirection_table[ETH_RSS_IND_TABLE_ENTRIES_NUM];
3361 __le32 rss_key[ETH_RSS_KEY_SIZE_REGS];
3362 __le32 reserved3[2];
3365 /* eth vport RSS mode */
3366 enum eth_vport_rss_mode {
3367 ETH_VPORT_RSS_MODE_DISABLED,
3368 ETH_VPORT_RSS_MODE_REGULAR,
3369 MAX_ETH_VPORT_RSS_MODE
3372 /* Command for setting classification flags for a vport $$KEEP_ENDIANNESS$$ */
3373 struct eth_vport_rx_mode {
3375 #define ETH_VPORT_RX_MODE_UCAST_DROP_ALL_MASK 0x1
3376 #define ETH_VPORT_RX_MODE_UCAST_DROP_ALL_SHIFT 0
3377 #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_ALL_MASK 0x1
3378 #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_ALL_SHIFT 1
3379 #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_UNMATCHED_MASK 0x1
3380 #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_UNMATCHED_SHIFT 2
3381 #define ETH_VPORT_RX_MODE_MCAST_DROP_ALL_MASK 0x1
3382 #define ETH_VPORT_RX_MODE_MCAST_DROP_ALL_SHIFT 3
3383 #define ETH_VPORT_RX_MODE_MCAST_ACCEPT_ALL_MASK 0x1
3384 #define ETH_VPORT_RX_MODE_MCAST_ACCEPT_ALL_SHIFT 4
3385 #define ETH_VPORT_RX_MODE_BCAST_ACCEPT_ALL_MASK 0x1
3386 #define ETH_VPORT_RX_MODE_BCAST_ACCEPT_ALL_SHIFT 5
3387 #define ETH_VPORT_RX_MODE_RESERVED1_MASK 0x3FF
3388 #define ETH_VPORT_RX_MODE_RESERVED1_SHIFT 6
3389 __le16 reserved2[3];
3392 /* Command for setting tpa parameters */
3393 struct eth_vport_tpa_param {
3396 u8 tpa_ipv4_tunn_en_flg;
3397 u8 tpa_ipv6_tunn_en_flg;
3398 u8 tpa_pkt_split_flg;
3399 u8 tpa_hdr_data_split_flg;
3400 u8 tpa_gro_consistent_flg;
3402 u8 tpa_max_aggs_num;
3404 __le16 tpa_max_size;
3405 __le16 tpa_min_size_to_start;
3407 __le16 tpa_min_size_to_cont;
3412 /* Command for setting classification flags for a vport $$KEEP_ENDIANNESS$$ */
3413 struct eth_vport_tx_mode {
3415 #define ETH_VPORT_TX_MODE_UCAST_DROP_ALL_MASK 0x1
3416 #define ETH_VPORT_TX_MODE_UCAST_DROP_ALL_SHIFT 0
3417 #define ETH_VPORT_TX_MODE_UCAST_ACCEPT_ALL_MASK 0x1
3418 #define ETH_VPORT_TX_MODE_UCAST_ACCEPT_ALL_SHIFT 1
3419 #define ETH_VPORT_TX_MODE_MCAST_DROP_ALL_MASK 0x1
3420 #define ETH_VPORT_TX_MODE_MCAST_DROP_ALL_SHIFT 2
3421 #define ETH_VPORT_TX_MODE_MCAST_ACCEPT_ALL_MASK 0x1
3422 #define ETH_VPORT_TX_MODE_MCAST_ACCEPT_ALL_SHIFT 3
3423 #define ETH_VPORT_TX_MODE_BCAST_ACCEPT_ALL_MASK 0x1
3424 #define ETH_VPORT_TX_MODE_BCAST_ACCEPT_ALL_SHIFT 4
3425 #define ETH_VPORT_TX_MODE_RESERVED1_MASK 0x7FF
3426 #define ETH_VPORT_TX_MODE_RESERVED1_SHIFT 5
3427 __le16 reserved2[3];
3430 /* Ramrod data for rx queue start ramrod */
3431 struct rx_queue_start_ramrod_data {
3433 __le16 num_of_pbl_pages;
3434 __le16 bd_max_bytes;
3438 u8 default_rss_queue_flg;
3439 u8 complete_cqe_flg;
3440 u8 complete_event_flg;
3441 u8 stats_counter_id;
3443 u8 pxp_tph_valid_bd;
3444 u8 pxp_tph_valid_pkt;
3447 __le16 pxp_st_index;
3453 u8 vf_rx_prod_index;
3457 struct regpair cqe_pbl_addr;
3458 struct regpair bd_base;
3459 struct regpair reserved2;
3462 /* Ramrod data for rx queue start ramrod */
3463 struct rx_queue_stop_ramrod_data {
3465 u8 complete_cqe_flg;
3466 u8 complete_event_flg;
3471 /* Ramrod data for rx queue update ramrod */
3472 struct rx_queue_update_ramrod_data {
3474 u8 complete_cqe_flg;
3475 u8 complete_event_flg;
3483 struct regpair reserved6;
3486 /* Ramrod data for rx Add UDP Filter */
3487 struct rx_udp_filter_data {
3491 u8 tenant_id_exists;
3493 __le32 ip_dst_addr[4];
3494 __le32 ip_src_addr[4];
3495 __le16 udp_dst_port;
3496 __le16 udp_src_port;
3500 /* Ramrod data for rx queue start ramrod */
3501 struct tx_queue_start_ramrod_data {
3506 u8 stats_counter_id;
3509 #define TX_QUEUE_START_RAMROD_DATA_DISABLE_OPPORTUNISTIC_MASK 0x1
3510 #define TX_QUEUE_START_RAMROD_DATA_DISABLE_OPPORTUNISTIC_SHIFT 0
3511 #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_PKT_DUP_MASK 0x1
3512 #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_PKT_DUP_SHIFT 1
3513 #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_TX_DEST_MASK 0x1
3514 #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_TX_DEST_SHIFT 2
3515 #define TX_QUEUE_START_RAMROD_DATA_PMD_MODE_MASK 0x1
3516 #define TX_QUEUE_START_RAMROD_DATA_PMD_MODE_SHIFT 3
3517 #define TX_QUEUE_START_RAMROD_DATA_NOTIFY_EN_MASK 0x1
3518 #define TX_QUEUE_START_RAMROD_DATA_NOTIFY_EN_SHIFT 4
3519 #define TX_QUEUE_START_RAMROD_DATA_PIN_CONTEXT_MASK 0x1
3520 #define TX_QUEUE_START_RAMROD_DATA_PIN_CONTEXT_SHIFT 5
3521 #define TX_QUEUE_START_RAMROD_DATA_RESERVED1_MASK 0x3
3522 #define TX_QUEUE_START_RAMROD_DATA_RESERVED1_SHIFT 6
3524 u8 pxp_tph_valid_bd;
3525 u8 pxp_tph_valid_pkt;
3526 __le16 pxp_st_index;
3527 __le16 comp_agg_size;
3528 __le16 queue_zone_id;
3529 __le16 test_dup_count;
3533 struct regpair pbl_base_addr;
3534 struct regpair bd_cons_address;
3537 /* Ramrod data for tx queue stop ramrod */
3538 struct tx_queue_stop_ramrod_data {
3542 /* Ramrod data for vport update ramrod */
3543 struct vport_filter_update_ramrod_data {
3544 struct eth_filter_cmd_header filter_cmd_hdr;
3545 struct eth_filter_cmd filter_cmds[ETH_FILTER_RULES_COUNT];
3548 /* Ramrod data for vport start ramrod */
3549 struct vport_start_ramrod_data {
3554 u8 inner_vlan_removal_en;
3555 struct eth_vport_rx_mode rx_mode;
3556 struct eth_vport_tx_mode tx_mode;
3557 struct eth_vport_tpa_param tpa_param;
3558 __le16 default_vlan;
3560 u8 anti_spoofing_en;
3565 u8 silent_vlan_removal_en;
3567 struct eth_tx_err_vals tx_err_behav;
3569 u8 zero_placement_offset;
3570 u8 ctl_frame_mac_check_en;
3571 u8 ctl_frame_ethtype_check_en;
3575 /* Ramrod data for vport stop ramrod */
3576 struct vport_stop_ramrod_data {
3581 /* Ramrod data for vport update ramrod */
3582 struct vport_update_ramrod_data_cmn {
3584 u8 update_rx_active_flg;
3586 u8 update_tx_active_flg;
3588 u8 update_rx_mode_flg;
3589 u8 update_tx_mode_flg;
3590 u8 update_approx_mcast_flg;
3593 u8 update_inner_vlan_removal_en_flg;
3595 u8 inner_vlan_removal_en;
3596 u8 update_tpa_param_flg;
3597 u8 update_tpa_en_flg;
3598 u8 update_tx_switching_en_flg;
3601 u8 update_anti_spoofing_en_flg;
3603 u8 anti_spoofing_en;
3604 u8 update_handle_ptp_pkts;
3607 u8 update_default_vlan_en_flg;
3611 u8 update_default_vlan_flg;
3613 __le16 default_vlan;
3614 u8 update_accept_any_vlan_flg;
3617 u8 silent_vlan_removal_en;
3624 struct vport_update_ramrod_mcast {
3625 __le32 bins[ETH_MULTICAST_MAC_BINS_IN_REGS];
3628 /* Ramrod data for vport update ramrod */
3629 struct vport_update_ramrod_data {
3630 struct vport_update_ramrod_data_cmn common;
3632 struct eth_vport_rx_mode rx_mode;
3633 struct eth_vport_tx_mode tx_mode;
3634 struct eth_vport_tpa_param tpa_param;
3635 struct vport_update_ramrod_mcast approx_mcast;
3636 struct eth_vport_rss_config rss_config;
3639 struct mstorm_rdma_task_st_ctx {
3640 struct regpair temp[4];
3643 struct rdma_close_func_ramrod_data {
3644 u8 cnq_start_offset;
3651 struct rdma_cnq_params {
3656 struct regpair pbl_base_addr;
3657 __le16 queue_zone_num;
3661 struct rdma_create_cq_ramrod_data {
3662 struct regpair cq_handle;
3663 struct regpair pbl_addr;
3665 __le16 pbl_num_pages;
3667 u8 is_two_level_pbl;
3669 u8 pbl_log_page_size;
3675 struct rdma_deregister_tid_ramrod_data {
3680 struct rdma_destroy_cq_output_params {
3686 struct rdma_destroy_cq_ramrod_data {
3687 struct regpair output_params_addr;
3690 enum rdma_event_opcode {
3692 RDMA_EVENT_FUNC_INIT,
3693 RDMA_EVENT_FUNC_CLOSE,
3694 RDMA_EVENT_REGISTER_MR,
3695 RDMA_EVENT_DEREGISTER_MR,
3696 RDMA_EVENT_CREATE_CQ,
3697 RDMA_EVENT_RESIZE_CQ,
3698 RDMA_EVENT_DESTROY_CQ,
3699 RDMA_EVENT_CREATE_SRQ,
3700 RDMA_EVENT_MODIFY_SRQ,
3701 RDMA_EVENT_DESTROY_SRQ,
3702 MAX_RDMA_EVENT_OPCODE
3705 enum rdma_fw_return_code {
3707 RDMA_RETURN_REGISTER_MR_BAD_STATE_ERR,
3708 RDMA_RETURN_DEREGISTER_MR_BAD_STATE_ERR,
3709 RDMA_RETURN_RESIZE_CQ_ERR,
3710 RDMA_RETURN_NIG_DRAIN_REQ,
3711 MAX_RDMA_FW_RETURN_CODE
3714 struct rdma_init_func_hdr {
3715 u8 cnq_start_offset;
3718 u8 cnp_vlan_priority;
3719 __le32 cnp_send_timeout;
3726 struct rdma_init_func_ramrod_data {
3727 struct rdma_init_func_hdr params_header;
3728 struct rdma_cnq_params cnq_params[NUM_OF_GLOBAL_QUEUES];
3731 enum rdma_ramrod_cmd_id {
3733 RDMA_RAMROD_FUNC_INIT,
3734 RDMA_RAMROD_FUNC_CLOSE,
3735 RDMA_RAMROD_REGISTER_MR,
3736 RDMA_RAMROD_DEREGISTER_MR,
3737 RDMA_RAMROD_CREATE_CQ,
3738 RDMA_RAMROD_RESIZE_CQ,
3739 RDMA_RAMROD_DESTROY_CQ,
3740 RDMA_RAMROD_CREATE_SRQ,
3741 RDMA_RAMROD_MODIFY_SRQ,
3742 RDMA_RAMROD_DESTROY_SRQ,
3743 MAX_RDMA_RAMROD_CMD_ID
3746 struct rdma_register_tid_ramrod_data {
3748 #define RDMA_REGISTER_TID_RAMROD_DATA_MAX_ID_MASK 0x3FFFF
3749 #define RDMA_REGISTER_TID_RAMROD_DATA_MAX_ID_SHIFT 0
3750 #define RDMA_REGISTER_TID_RAMROD_DATA_PAGE_SIZE_LOG_MASK 0x1F
3751 #define RDMA_REGISTER_TID_RAMROD_DATA_PAGE_SIZE_LOG_SHIFT 18
3752 #define RDMA_REGISTER_TID_RAMROD_DATA_TWO_LEVEL_PBL_MASK 0x1
3753 #define RDMA_REGISTER_TID_RAMROD_DATA_TWO_LEVEL_PBL_SHIFT 23
3754 #define RDMA_REGISTER_TID_RAMROD_DATA_ZERO_BASED_MASK 0x1
3755 #define RDMA_REGISTER_TID_RAMROD_DATA_ZERO_BASED_SHIFT 24
3756 #define RDMA_REGISTER_TID_RAMROD_DATA_PHY_MR_MASK 0x1
3757 #define RDMA_REGISTER_TID_RAMROD_DATA_PHY_MR_SHIFT 25
3758 #define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_READ_MASK 0x1
3759 #define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_READ_SHIFT 26
3760 #define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_WRITE_MASK 0x1
3761 #define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_WRITE_SHIFT 27
3762 #define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_ATOMIC_MASK 0x1
3763 #define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_ATOMIC_SHIFT 28
3764 #define RDMA_REGISTER_TID_RAMROD_DATA_LOCAL_WRITE_MASK 0x1
3765 #define RDMA_REGISTER_TID_RAMROD_DATA_LOCAL_WRITE_SHIFT 29
3766 #define RDMA_REGISTER_TID_RAMROD_DATA_LOCAL_READ_MASK 0x1
3767 #define RDMA_REGISTER_TID_RAMROD_DATA_LOCAL_READ_SHIFT 30
3768 #define RDMA_REGISTER_TID_RAMROD_DATA_ENABLE_MW_BIND_MASK 0x1
3769 #define RDMA_REGISTER_TID_RAMROD_DATA_ENABLE_MW_BIND_SHIFT 31
3771 #define RDMA_REGISTER_TID_RAMROD_DATA_PBL_PAGE_SIZE_LOG_MASK 0x1F
3772 #define RDMA_REGISTER_TID_RAMROD_DATA_PBL_PAGE_SIZE_LOG_SHIFT 0
3773 #define RDMA_REGISTER_TID_RAMROD_DATA_TID_TYPE_MASK 0x7
3774 #define RDMA_REGISTER_TID_RAMROD_DATA_TID_TYPE_SHIFT 5
3776 #define RDMA_REGISTER_TID_RAMROD_DATA_DMA_MR_MASK 0x1
3777 #define RDMA_REGISTER_TID_RAMROD_DATA_DMA_MR_SHIFT 0
3778 #define RDMA_REGISTER_TID_RAMROD_DATA_DIF_ON_HOST_FLG_MASK 0x1
3779 #define RDMA_REGISTER_TID_RAMROD_DATA_DIF_ON_HOST_FLG_SHIFT 1
3780 #define RDMA_REGISTER_TID_RAMROD_DATA_RESERVED1_MASK 0x3F
3781 #define RDMA_REGISTER_TID_RAMROD_DATA_RESERVED1_SHIFT 2
3791 struct regpair pbl_base;
3792 struct regpair dif_error_addr;
3793 struct regpair dif_runt_addr;
3794 __le32 reserved3[2];
3797 struct rdma_resize_cq_output_params {
3802 struct rdma_resize_cq_ramrod_data {
3804 #define RDMA_RESIZE_CQ_RAMROD_DATA_TOGGLE_BIT_MASK 0x1
3805 #define RDMA_RESIZE_CQ_RAMROD_DATA_TOGGLE_BIT_SHIFT 0
3806 #define RDMA_RESIZE_CQ_RAMROD_DATA_IS_TWO_LEVEL_PBL_MASK 0x1
3807 #define RDMA_RESIZE_CQ_RAMROD_DATA_IS_TWO_LEVEL_PBL_SHIFT 1
3808 #define RDMA_RESIZE_CQ_RAMROD_DATA_RESERVED_MASK 0x3F
3809 #define RDMA_RESIZE_CQ_RAMROD_DATA_RESERVED_SHIFT 2
3810 u8 pbl_log_page_size;
3811 __le16 pbl_num_pages;
3813 struct regpair pbl_addr;
3814 struct regpair output_params_addr;
3817 struct rdma_srq_context {
3818 struct regpair temp[8];
3821 struct rdma_srq_create_ramrod_data {
3822 struct regpair pbl_base_addr;
3823 __le16 pages_in_srq_pbl;
3825 struct rdma_srq_id srq_id;
3829 struct regpair producers_addr;
3832 struct rdma_srq_destroy_ramrod_data {
3833 struct rdma_srq_id srq_id;
3837 struct rdma_srq_modify_ramrod_data {
3838 struct rdma_srq_id srq_id;
3842 struct ystorm_rdma_task_st_ctx {
3843 struct regpair temp[4];
3846 struct ystorm_rdma_task_ag_ctx {
3849 __le16 msem_ctx_upd_seq;
3851 #define YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF
3852 #define YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
3853 #define YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1
3854 #define YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
3855 #define YSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1
3856 #define YSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
3857 #define YSTORM_RDMA_TASK_AG_CTX_VALID_MASK 0x1
3858 #define YSTORM_RDMA_TASK_AG_CTX_VALID_SHIFT 6
3859 #define YSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1
3860 #define YSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
3862 #define YSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3
3863 #define YSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 0
3864 #define YSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3
3865 #define YSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 2
3866 #define YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_MASK 0x3
3867 #define YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_SHIFT 4
3868 #define YSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1
3869 #define YSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 6
3870 #define YSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1
3871 #define YSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 7
3873 #define YSTORM_RDMA_TASK_AG_CTX_BIT4_MASK 0x1
3874 #define YSTORM_RDMA_TASK_AG_CTX_BIT4_SHIFT 0
3875 #define YSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1
3876 #define YSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 1
3877 #define YSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1
3878 #define YSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 2
3879 #define YSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1
3880 #define YSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 3
3881 #define YSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1
3882 #define YSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 4
3883 #define YSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1
3884 #define YSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 5
3885 #define YSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1
3886 #define YSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 6
3887 #define YSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1
3888 #define YSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 7
3894 __le16 tx_ref_count;
3895 __le16 last_used_ltid;
3896 __le16 parent_mr_lo;
3897 __le16 parent_mr_hi;
3902 struct mstorm_rdma_task_ag_ctx {
3907 #define MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF
3908 #define MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
3909 #define MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1
3910 #define MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
3911 #define MSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1
3912 #define MSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
3913 #define MSTORM_RDMA_TASK_AG_CTX_BIT2_MASK 0x1
3914 #define MSTORM_RDMA_TASK_AG_CTX_BIT2_SHIFT 6
3915 #define MSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1
3916 #define MSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
3918 #define MSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3
3919 #define MSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 0
3920 #define MSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3
3921 #define MSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 2
3922 #define MSTORM_RDMA_TASK_AG_CTX_CF2_MASK 0x3
3923 #define MSTORM_RDMA_TASK_AG_CTX_CF2_SHIFT 4
3924 #define MSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1
3925 #define MSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 6
3926 #define MSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1
3927 #define MSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 7
3929 #define MSTORM_RDMA_TASK_AG_CTX_CF2EN_MASK 0x1
3930 #define MSTORM_RDMA_TASK_AG_CTX_CF2EN_SHIFT 0
3931 #define MSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1
3932 #define MSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 1
3933 #define MSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1
3934 #define MSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 2
3935 #define MSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1
3936 #define MSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 3
3937 #define MSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1
3938 #define MSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 4
3939 #define MSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1
3940 #define MSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 5
3941 #define MSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1
3942 #define MSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 6
3943 #define MSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1
3944 #define MSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 7
3950 __le16 tx_ref_count;
3951 __le16 last_used_ltid;
3952 __le16 parent_mr_lo;
3953 __le16 parent_mr_hi;
3958 struct ustorm_rdma_task_st_ctx {
3959 struct regpair temp[2];
3962 struct ustorm_rdma_task_ag_ctx {
3967 #define USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF
3968 #define USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 0
3969 #define USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x1
3970 #define USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 4
3971 #define USTORM_RDMA_TASK_AG_CTX_DIF_RUNT_VALID_MASK 0x1
3972 #define USTORM_RDMA_TASK_AG_CTX_DIF_RUNT_VALID_SHIFT 5
3973 #define USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_MASK 0x3
3974 #define USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_SHIFT 6
3976 #define USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_MASK 0x3
3977 #define USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_SHIFT 0
3978 #define USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_MASK 0x3
3979 #define USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_SHIFT 2
3980 #define USTORM_RDMA_TASK_AG_CTX_CF3_MASK 0x3
3981 #define USTORM_RDMA_TASK_AG_CTX_CF3_SHIFT 4
3982 #define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_MASK 0x3
3983 #define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_SHIFT 6
3985 #define USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_MASK 0x1
3986 #define USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_SHIFT 0
3987 #define USTORM_RDMA_TASK_AG_CTX_RESERVED2_MASK 0x1
3988 #define USTORM_RDMA_TASK_AG_CTX_RESERVED2_SHIFT 1
3989 #define USTORM_RDMA_TASK_AG_CTX_RESERVED3_MASK 0x1
3990 #define USTORM_RDMA_TASK_AG_CTX_RESERVED3_SHIFT 2
3991 #define USTORM_RDMA_TASK_AG_CTX_CF3EN_MASK 0x1
3992 #define USTORM_RDMA_TASK_AG_CTX_CF3EN_SHIFT 3
3993 #define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_MASK 0x1
3994 #define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_SHIFT 4
3995 #define USTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1
3996 #define USTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 5
3997 #define USTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1
3998 #define USTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 6
3999 #define USTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1
4000 #define USTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 7
4002 #define USTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1
4003 #define USTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 0
4004 #define USTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1
4005 #define USTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 1
4006 #define USTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1
4007 #define USTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 2
4008 #define USTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x1
4009 #define USTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 3
4010 #define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_MASK 0xF
4011 #define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_SHIFT 4
4012 __le32 dif_err_intervals;
4013 __le32 dif_error_1st_interval;
4015 __le32 dif_runt_value;
4020 struct rdma_task_context {
4021 struct ystorm_rdma_task_st_ctx ystorm_st_context;
4022 struct ystorm_rdma_task_ag_ctx ystorm_ag_context;
4023 struct tdif_task_context tdif_context;
4024 struct mstorm_rdma_task_ag_ctx mstorm_ag_context;
4025 struct mstorm_rdma_task_st_ctx mstorm_st_context;
4026 struct rdif_task_context rdif_context;
4027 struct ustorm_rdma_task_st_ctx ustorm_st_context;
4028 struct regpair ustorm_st_padding[2];
4029 struct ustorm_rdma_task_ag_ctx ustorm_ag_context;
4032 enum rdma_tid_type {
4033 RDMA_TID_REGISTERED_MR,
4040 struct mstorm_rdma_conn_ag_ctx {
4044 #define MSTORM_RDMA_CONN_AG_CTX_BIT0_MASK 0x1
4045 #define MSTORM_RDMA_CONN_AG_CTX_BIT0_SHIFT 0
4046 #define MSTORM_RDMA_CONN_AG_CTX_BIT1_MASK 0x1
4047 #define MSTORM_RDMA_CONN_AG_CTX_BIT1_SHIFT 1
4048 #define MSTORM_RDMA_CONN_AG_CTX_CF0_MASK 0x3
4049 #define MSTORM_RDMA_CONN_AG_CTX_CF0_SHIFT 2
4050 #define MSTORM_RDMA_CONN_AG_CTX_CF1_MASK 0x3
4051 #define MSTORM_RDMA_CONN_AG_CTX_CF1_SHIFT 4
4052 #define MSTORM_RDMA_CONN_AG_CTX_CF2_MASK 0x3
4053 #define MSTORM_RDMA_CONN_AG_CTX_CF2_SHIFT 6
4055 #define MSTORM_RDMA_CONN_AG_CTX_CF0EN_MASK 0x1
4056 #define MSTORM_RDMA_CONN_AG_CTX_CF0EN_SHIFT 0
4057 #define MSTORM_RDMA_CONN_AG_CTX_CF1EN_MASK 0x1
4058 #define MSTORM_RDMA_CONN_AG_CTX_CF1EN_SHIFT 1
4059 #define MSTORM_RDMA_CONN_AG_CTX_CF2EN_MASK 0x1
4060 #define MSTORM_RDMA_CONN_AG_CTX_CF2EN_SHIFT 2
4061 #define MSTORM_RDMA_CONN_AG_CTX_RULE0EN_MASK 0x1
4062 #define MSTORM_RDMA_CONN_AG_CTX_RULE0EN_SHIFT 3
4063 #define MSTORM_RDMA_CONN_AG_CTX_RULE1EN_MASK 0x1
4064 #define MSTORM_RDMA_CONN_AG_CTX_RULE1EN_SHIFT 4
4065 #define MSTORM_RDMA_CONN_AG_CTX_RULE2EN_MASK 0x1
4066 #define MSTORM_RDMA_CONN_AG_CTX_RULE2EN_SHIFT 5
4067 #define MSTORM_RDMA_CONN_AG_CTX_RULE3EN_MASK 0x1
4068 #define MSTORM_RDMA_CONN_AG_CTX_RULE3EN_SHIFT 6
4069 #define MSTORM_RDMA_CONN_AG_CTX_RULE4EN_MASK 0x1
4070 #define MSTORM_RDMA_CONN_AG_CTX_RULE4EN_SHIFT 7
4077 struct tstorm_rdma_conn_ag_ctx {
4081 #define TSTORM_RDMA_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
4082 #define TSTORM_RDMA_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
4083 #define TSTORM_RDMA_CONN_AG_CTX_BIT1_MASK 0x1
4084 #define TSTORM_RDMA_CONN_AG_CTX_BIT1_SHIFT 1
4085 #define TSTORM_RDMA_CONN_AG_CTX_BIT2_MASK 0x1
4086 #define TSTORM_RDMA_CONN_AG_CTX_BIT2_SHIFT 2
4087 #define TSTORM_RDMA_CONN_AG_CTX_BIT3_MASK 0x1
4088 #define TSTORM_RDMA_CONN_AG_CTX_BIT3_SHIFT 3
4089 #define TSTORM_RDMA_CONN_AG_CTX_BIT4_MASK 0x1
4090 #define TSTORM_RDMA_CONN_AG_CTX_BIT4_SHIFT 4
4091 #define TSTORM_RDMA_CONN_AG_CTX_BIT5_MASK 0x1
4092 #define TSTORM_RDMA_CONN_AG_CTX_BIT5_SHIFT 5
4093 #define TSTORM_RDMA_CONN_AG_CTX_CF0_MASK 0x3
4094 #define TSTORM_RDMA_CONN_AG_CTX_CF0_SHIFT 6
4096 #define TSTORM_RDMA_CONN_AG_CTX_CF1_MASK 0x3
4097 #define TSTORM_RDMA_CONN_AG_CTX_CF1_SHIFT 0
4098 #define TSTORM_RDMA_CONN_AG_CTX_CF2_MASK 0x3
4099 #define TSTORM_RDMA_CONN_AG_CTX_CF2_SHIFT 2
4100 #define TSTORM_RDMA_CONN_AG_CTX_TIMER_STOP_ALL_CF_MASK 0x3
4101 #define TSTORM_RDMA_CONN_AG_CTX_TIMER_STOP_ALL_CF_SHIFT 4
4102 #define TSTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x3
4103 #define TSTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 6
4105 #define TSTORM_RDMA_CONN_AG_CTX_MSTORM_FLUSH_CF_MASK 0x3
4106 #define TSTORM_RDMA_CONN_AG_CTX_MSTORM_FLUSH_CF_SHIFT 0
4107 #define TSTORM_RDMA_CONN_AG_CTX_CF6_MASK 0x3
4108 #define TSTORM_RDMA_CONN_AG_CTX_CF6_SHIFT 2
4109 #define TSTORM_RDMA_CONN_AG_CTX_CF7_MASK 0x3
4110 #define TSTORM_RDMA_CONN_AG_CTX_CF7_SHIFT 4
4111 #define TSTORM_RDMA_CONN_AG_CTX_CF8_MASK 0x3
4112 #define TSTORM_RDMA_CONN_AG_CTX_CF8_SHIFT 6
4114 #define TSTORM_RDMA_CONN_AG_CTX_CF9_MASK 0x3
4115 #define TSTORM_RDMA_CONN_AG_CTX_CF9_SHIFT 0
4116 #define TSTORM_RDMA_CONN_AG_CTX_CF10_MASK 0x3
4117 #define TSTORM_RDMA_CONN_AG_CTX_CF10_SHIFT 2
4118 #define TSTORM_RDMA_CONN_AG_CTX_CF0EN_MASK 0x1
4119 #define TSTORM_RDMA_CONN_AG_CTX_CF0EN_SHIFT 4
4120 #define TSTORM_RDMA_CONN_AG_CTX_CF1EN_MASK 0x1
4121 #define TSTORM_RDMA_CONN_AG_CTX_CF1EN_SHIFT 5
4122 #define TSTORM_RDMA_CONN_AG_CTX_CF2EN_MASK 0x1
4123 #define TSTORM_RDMA_CONN_AG_CTX_CF2EN_SHIFT 6
4124 #define TSTORM_RDMA_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_MASK 0x1
4125 #define TSTORM_RDMA_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_SHIFT 7
4127 #define TSTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x1
4128 #define TSTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 0
4129 #define TSTORM_RDMA_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_MASK 0x1
4130 #define TSTORM_RDMA_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_SHIFT 1
4131 #define TSTORM_RDMA_CONN_AG_CTX_CF6EN_MASK 0x1
4132 #define TSTORM_RDMA_CONN_AG_CTX_CF6EN_SHIFT 2
4133 #define TSTORM_RDMA_CONN_AG_CTX_CF7EN_MASK 0x1
4134 #define TSTORM_RDMA_CONN_AG_CTX_CF7EN_SHIFT 3
4135 #define TSTORM_RDMA_CONN_AG_CTX_CF8EN_MASK 0x1
4136 #define TSTORM_RDMA_CONN_AG_CTX_CF8EN_SHIFT 4
4137 #define TSTORM_RDMA_CONN_AG_CTX_CF9EN_MASK 0x1
4138 #define TSTORM_RDMA_CONN_AG_CTX_CF9EN_SHIFT 5
4139 #define TSTORM_RDMA_CONN_AG_CTX_CF10EN_MASK 0x1
4140 #define TSTORM_RDMA_CONN_AG_CTX_CF10EN_SHIFT 6
4141 #define TSTORM_RDMA_CONN_AG_CTX_RULE0EN_MASK 0x1
4142 #define TSTORM_RDMA_CONN_AG_CTX_RULE0EN_SHIFT 7
4144 #define TSTORM_RDMA_CONN_AG_CTX_RULE1EN_MASK 0x1
4145 #define TSTORM_RDMA_CONN_AG_CTX_RULE1EN_SHIFT 0
4146 #define TSTORM_RDMA_CONN_AG_CTX_RULE2EN_MASK 0x1
4147 #define TSTORM_RDMA_CONN_AG_CTX_RULE2EN_SHIFT 1
4148 #define TSTORM_RDMA_CONN_AG_CTX_RULE3EN_MASK 0x1
4149 #define TSTORM_RDMA_CONN_AG_CTX_RULE3EN_SHIFT 2
4150 #define TSTORM_RDMA_CONN_AG_CTX_RULE4EN_MASK 0x1
4151 #define TSTORM_RDMA_CONN_AG_CTX_RULE4EN_SHIFT 3
4152 #define TSTORM_RDMA_CONN_AG_CTX_RULE5EN_MASK 0x1
4153 #define TSTORM_RDMA_CONN_AG_CTX_RULE5EN_SHIFT 4
4154 #define TSTORM_RDMA_CONN_AG_CTX_RULE6EN_MASK 0x1
4155 #define TSTORM_RDMA_CONN_AG_CTX_RULE6EN_SHIFT 5
4156 #define TSTORM_RDMA_CONN_AG_CTX_RULE7EN_MASK 0x1
4157 #define TSTORM_RDMA_CONN_AG_CTX_RULE7EN_SHIFT 6
4158 #define TSTORM_RDMA_CONN_AG_CTX_RULE8EN_MASK 0x1
4159 #define TSTORM_RDMA_CONN_AG_CTX_RULE8EN_SHIFT 7
4181 struct tstorm_rdma_task_ag_ctx {
4186 #define TSTORM_RDMA_TASK_AG_CTX_NIBBLE0_MASK 0xF
4187 #define TSTORM_RDMA_TASK_AG_CTX_NIBBLE0_SHIFT 0
4188 #define TSTORM_RDMA_TASK_AG_CTX_BIT0_MASK 0x1
4189 #define TSTORM_RDMA_TASK_AG_CTX_BIT0_SHIFT 4
4190 #define TSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x1
4191 #define TSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 5
4192 #define TSTORM_RDMA_TASK_AG_CTX_BIT2_MASK 0x1
4193 #define TSTORM_RDMA_TASK_AG_CTX_BIT2_SHIFT 6
4194 #define TSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x1
4195 #define TSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 7
4197 #define TSTORM_RDMA_TASK_AG_CTX_BIT4_MASK 0x1
4198 #define TSTORM_RDMA_TASK_AG_CTX_BIT4_SHIFT 0
4199 #define TSTORM_RDMA_TASK_AG_CTX_BIT5_MASK 0x1
4200 #define TSTORM_RDMA_TASK_AG_CTX_BIT5_SHIFT 1
4201 #define TSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x3
4202 #define TSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 2
4203 #define TSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x3
4204 #define TSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 4
4205 #define TSTORM_RDMA_TASK_AG_CTX_CF2_MASK 0x3
4206 #define TSTORM_RDMA_TASK_AG_CTX_CF2_SHIFT 6
4208 #define TSTORM_RDMA_TASK_AG_CTX_CF3_MASK 0x3
4209 #define TSTORM_RDMA_TASK_AG_CTX_CF3_SHIFT 0
4210 #define TSTORM_RDMA_TASK_AG_CTX_CF4_MASK 0x3
4211 #define TSTORM_RDMA_TASK_AG_CTX_CF4_SHIFT 2
4212 #define TSTORM_RDMA_TASK_AG_CTX_CF5_MASK 0x3
4213 #define TSTORM_RDMA_TASK_AG_CTX_CF5_SHIFT 4
4214 #define TSTORM_RDMA_TASK_AG_CTX_CF6_MASK 0x3
4215 #define TSTORM_RDMA_TASK_AG_CTX_CF6_SHIFT 6
4217 #define TSTORM_RDMA_TASK_AG_CTX_CF7_MASK 0x3
4218 #define TSTORM_RDMA_TASK_AG_CTX_CF7_SHIFT 0
4219 #define TSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x1
4220 #define TSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 2
4221 #define TSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x1
4222 #define TSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 3
4223 #define TSTORM_RDMA_TASK_AG_CTX_CF2EN_MASK 0x1
4224 #define TSTORM_RDMA_TASK_AG_CTX_CF2EN_SHIFT 4
4225 #define TSTORM_RDMA_TASK_AG_CTX_CF3EN_MASK 0x1
4226 #define TSTORM_RDMA_TASK_AG_CTX_CF3EN_SHIFT 5
4227 #define TSTORM_RDMA_TASK_AG_CTX_CF4EN_MASK 0x1
4228 #define TSTORM_RDMA_TASK_AG_CTX_CF4EN_SHIFT 6
4229 #define TSTORM_RDMA_TASK_AG_CTX_CF5EN_MASK 0x1
4230 #define TSTORM_RDMA_TASK_AG_CTX_CF5EN_SHIFT 7
4232 #define TSTORM_RDMA_TASK_AG_CTX_CF6EN_MASK 0x1
4233 #define TSTORM_RDMA_TASK_AG_CTX_CF6EN_SHIFT 0
4234 #define TSTORM_RDMA_TASK_AG_CTX_CF7EN_MASK 0x1
4235 #define TSTORM_RDMA_TASK_AG_CTX_CF7EN_SHIFT 1
4236 #define TSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x1
4237 #define TSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 2
4238 #define TSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x1
4239 #define TSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 3
4240 #define TSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x1
4241 #define TSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 4
4242 #define TSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x1
4243 #define TSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 5
4244 #define TSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x1
4245 #define TSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 6
4246 #define TSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x1
4247 #define TSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 7
4260 struct ustorm_rdma_conn_ag_ctx {
4264 #define USTORM_RDMA_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
4265 #define USTORM_RDMA_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
4266 #define USTORM_RDMA_CONN_AG_CTX_BIT1_MASK 0x1
4267 #define USTORM_RDMA_CONN_AG_CTX_BIT1_SHIFT 1
4268 #define USTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x3
4269 #define USTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 2
4270 #define USTORM_RDMA_CONN_AG_CTX_CF1_MASK 0x3
4271 #define USTORM_RDMA_CONN_AG_CTX_CF1_SHIFT 4
4272 #define USTORM_RDMA_CONN_AG_CTX_CF2_MASK 0x3
4273 #define USTORM_RDMA_CONN_AG_CTX_CF2_SHIFT 6
4275 #define USTORM_RDMA_CONN_AG_CTX_CF3_MASK 0x3
4276 #define USTORM_RDMA_CONN_AG_CTX_CF3_SHIFT 0
4277 #define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_SE_CF_MASK 0x3
4278 #define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_SE_CF_SHIFT 2
4279 #define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_CF_MASK 0x3
4280 #define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_CF_SHIFT 4
4281 #define USTORM_RDMA_CONN_AG_CTX_CF6_MASK 0x3
4282 #define USTORM_RDMA_CONN_AG_CTX_CF6_SHIFT 6
4284 #define USTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x1
4285 #define USTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 0
4286 #define USTORM_RDMA_CONN_AG_CTX_CF1EN_MASK 0x1
4287 #define USTORM_RDMA_CONN_AG_CTX_CF1EN_SHIFT 1
4288 #define USTORM_RDMA_CONN_AG_CTX_CF2EN_MASK 0x1
4289 #define USTORM_RDMA_CONN_AG_CTX_CF2EN_SHIFT 2
4290 #define USTORM_RDMA_CONN_AG_CTX_CF3EN_MASK 0x1
4291 #define USTORM_RDMA_CONN_AG_CTX_CF3EN_SHIFT 3
4292 #define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_SE_CF_EN_MASK 0x1
4293 #define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_SE_CF_EN_SHIFT 4
4294 #define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_CF_EN_MASK 0x1
4295 #define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_CF_EN_SHIFT 5
4296 #define USTORM_RDMA_CONN_AG_CTX_CF6EN_MASK 0x1
4297 #define USTORM_RDMA_CONN_AG_CTX_CF6EN_SHIFT 6
4298 #define USTORM_RDMA_CONN_AG_CTX_CQ_SE_EN_MASK 0x1
4299 #define USTORM_RDMA_CONN_AG_CTX_CQ_SE_EN_SHIFT 7
4301 #define USTORM_RDMA_CONN_AG_CTX_CQ_EN_MASK 0x1
4302 #define USTORM_RDMA_CONN_AG_CTX_CQ_EN_SHIFT 0
4303 #define USTORM_RDMA_CONN_AG_CTX_RULE2EN_MASK 0x1
4304 #define USTORM_RDMA_CONN_AG_CTX_RULE2EN_SHIFT 1
4305 #define USTORM_RDMA_CONN_AG_CTX_RULE3EN_MASK 0x1
4306 #define USTORM_RDMA_CONN_AG_CTX_RULE3EN_SHIFT 2
4307 #define USTORM_RDMA_CONN_AG_CTX_RULE4EN_MASK 0x1
4308 #define USTORM_RDMA_CONN_AG_CTX_RULE4EN_SHIFT 3
4309 #define USTORM_RDMA_CONN_AG_CTX_RULE5EN_MASK 0x1
4310 #define USTORM_RDMA_CONN_AG_CTX_RULE5EN_SHIFT 4
4311 #define USTORM_RDMA_CONN_AG_CTX_RULE6EN_MASK 0x1
4312 #define USTORM_RDMA_CONN_AG_CTX_RULE6EN_SHIFT 5
4313 #define USTORM_RDMA_CONN_AG_CTX_RULE7EN_MASK 0x1
4314 #define USTORM_RDMA_CONN_AG_CTX_RULE7EN_SHIFT 6
4315 #define USTORM_RDMA_CONN_AG_CTX_RULE8EN_MASK 0x1
4316 #define USTORM_RDMA_CONN_AG_CTX_RULE8EN_SHIFT 7
4329 struct xstorm_roce_conn_ag_ctx_dq_ext_ld_part {
4333 #define XSTORMROCECONNAGCTXDQEXTLDPART_EXIST_IN_QM0_MASK 0x1
4334 #define XSTORMROCECONNAGCTXDQEXTLDPART_EXIST_IN_QM0_SHIFT 0
4335 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT1_MASK 0x1
4336 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT1_SHIFT 1
4337 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT2_MASK 0x1
4338 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT2_SHIFT 2
4339 #define XSTORMROCECONNAGCTXDQEXTLDPART_EXIST_IN_QM3_MASK 0x1
4340 #define XSTORMROCECONNAGCTXDQEXTLDPART_EXIST_IN_QM3_SHIFT 3
4341 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT4_MASK 0x1
4342 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT4_SHIFT 4
4343 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT5_MASK 0x1
4344 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT5_SHIFT 5
4345 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT6_MASK 0x1
4346 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT6_SHIFT 6
4347 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT7_MASK 0x1
4348 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT7_SHIFT 7
4350 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT8_MASK 0x1
4351 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT8_SHIFT 0
4352 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT9_MASK 0x1
4353 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT9_SHIFT 1
4354 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT10_MASK 0x1
4355 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT10_SHIFT 2
4356 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT11_MASK 0x1
4357 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT11_SHIFT 3
4358 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT12_MASK 0x1
4359 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT12_SHIFT 4
4360 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT13_MASK 0x1
4361 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT13_SHIFT 5
4362 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT14_MASK 0x1
4363 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT14_SHIFT 6
4364 #define XSTORMROCECONNAGCTXDQEXTLDPART_YSTORM_FLUSH_MASK 0x1
4365 #define XSTORMROCECONNAGCTXDQEXTLDPART_YSTORM_FLUSH_SHIFT 7
4367 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF0_MASK 0x3
4368 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF0_SHIFT 0
4369 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF1_MASK 0x3
4370 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF1_SHIFT 2
4371 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF2_MASK 0x3
4372 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF2_SHIFT 4
4373 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF3_MASK 0x3
4374 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF3_SHIFT 6
4376 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF4_MASK 0x3
4377 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF4_SHIFT 0
4378 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF5_MASK 0x3
4379 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF5_SHIFT 2
4380 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF6_MASK 0x3
4381 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF6_SHIFT 4
4382 #define XSTORMROCECONNAGCTXDQEXTLDPART_FLUSH_Q0_CF_MASK 0x3
4383 #define XSTORMROCECONNAGCTXDQEXTLDPART_FLUSH_Q0_CF_SHIFT 6
4385 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF8_MASK 0x3
4386 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF8_SHIFT 0
4387 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF9_MASK 0x3
4388 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF9_SHIFT 2
4389 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF10_MASK 0x3
4390 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF10_SHIFT 4
4391 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF11_MASK 0x3
4392 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF11_SHIFT 6
4394 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF12_MASK 0x3
4395 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF12_SHIFT 0
4396 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF13_MASK 0x3
4397 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF13_SHIFT 2
4398 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF14_MASK 0x3
4399 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF14_SHIFT 4
4400 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF15_MASK 0x3
4401 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF15_SHIFT 6
4403 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF16_MASK 0x3
4404 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF16_SHIFT 0
4405 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF17_MASK 0x3
4406 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF17_SHIFT 2
4407 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF18_MASK 0x3
4408 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF18_SHIFT 4
4409 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF19_MASK 0x3
4410 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF19_SHIFT 6
4412 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF20_MASK 0x3
4413 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF20_SHIFT 0
4414 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF21_MASK 0x3
4415 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF21_SHIFT 2
4416 #define XSTORMROCECONNAGCTXDQEXTLDPART_SLOW_PATH_MASK 0x3
4417 #define XSTORMROCECONNAGCTXDQEXTLDPART_SLOW_PATH_SHIFT 4
4418 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF0EN_MASK 0x1
4419 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF0EN_SHIFT 6
4420 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF1EN_MASK 0x1
4421 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF1EN_SHIFT 7
4423 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF2EN_MASK 0x1
4424 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF2EN_SHIFT 0
4425 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF3EN_MASK 0x1
4426 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF3EN_SHIFT 1
4427 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF4EN_MASK 0x1
4428 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF4EN_SHIFT 2
4429 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF5EN_MASK 0x1
4430 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF5EN_SHIFT 3
4431 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF6EN_MASK 0x1
4432 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF6EN_SHIFT 4
4433 #define XSTORMROCECONNAGCTXDQEXTLDPART_FLUSH_Q0_CF_EN_MASK 0x1
4434 #define XSTORMROCECONNAGCTXDQEXTLDPART_FLUSH_Q0_CF_EN_SHIFT 5
4435 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF8EN_MASK 0x1
4436 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF8EN_SHIFT 6
4437 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF9EN_MASK 0x1
4438 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF9EN_SHIFT 7
4440 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF10EN_MASK 0x1
4441 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF10EN_SHIFT 0
4442 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF11EN_MASK 0x1
4443 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF11EN_SHIFT 1
4444 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF12EN_MASK 0x1
4445 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF12EN_SHIFT 2
4446 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF13EN_MASK 0x1
4447 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF13EN_SHIFT 3
4448 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF14EN_MASK 0x1
4449 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF14EN_SHIFT 4
4450 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF15EN_MASK 0x1
4451 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF15EN_SHIFT 5
4452 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF16EN_MASK 0x1
4453 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF16EN_SHIFT 6
4454 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF17EN_MASK 0x1
4455 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF17EN_SHIFT 7
4457 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF18EN_MASK 0x1
4458 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF18EN_SHIFT 0
4459 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF19EN_MASK 0x1
4460 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF19EN_SHIFT 1
4461 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF20EN_MASK 0x1
4462 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF20EN_SHIFT 2
4463 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF21EN_MASK 0x1
4464 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF21EN_SHIFT 3
4465 #define XSTORMROCECONNAGCTXDQEXTLDPART_SLOW_PATH_EN_MASK 0x1
4466 #define XSTORMROCECONNAGCTXDQEXTLDPART_SLOW_PATH_EN_SHIFT 4
4467 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF23EN_MASK 0x1
4468 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF23EN_SHIFT 5
4469 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE0EN_MASK 0x1
4470 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE0EN_SHIFT 6
4471 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE1EN_MASK 0x1
4472 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE1EN_SHIFT 7
4474 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE2EN_MASK 0x1
4475 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE2EN_SHIFT 0
4476 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE3EN_MASK 0x1
4477 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE3EN_SHIFT 1
4478 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE4EN_MASK 0x1
4479 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE4EN_SHIFT 2
4480 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE5EN_MASK 0x1
4481 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE5EN_SHIFT 3
4482 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE6EN_MASK 0x1
4483 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE6EN_SHIFT 4
4484 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE7EN_MASK 0x1
4485 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE7EN_SHIFT 5
4486 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED1_MASK 0x1
4487 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED1_SHIFT 6
4488 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE9EN_MASK 0x1
4489 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE9EN_SHIFT 7
4491 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE10EN_MASK 0x1
4492 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE10EN_SHIFT 0
4493 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE11EN_MASK 0x1
4494 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE11EN_SHIFT 1
4495 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED2_MASK 0x1
4496 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED2_SHIFT 2
4497 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED3_MASK 0x1
4498 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED3_SHIFT 3
4499 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE14EN_MASK 0x1
4500 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE14EN_SHIFT 4
4501 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE15EN_MASK 0x1
4502 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE15EN_SHIFT 5
4503 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE16EN_MASK 0x1
4504 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE16EN_SHIFT 6
4505 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE17EN_MASK 0x1
4506 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE17EN_SHIFT 7
4508 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE18EN_MASK 0x1
4509 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE18EN_SHIFT 0
4510 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE19EN_MASK 0x1
4511 #define XSTORMROCECONNAGCTXDQEXTLDPART_RULE19EN_SHIFT 1
4512 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED4_MASK 0x1
4513 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED4_SHIFT 2
4514 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED5_MASK 0x1
4515 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED5_SHIFT 3
4516 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED6_MASK 0x1
4517 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED6_SHIFT 4
4518 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED7_MASK 0x1
4519 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED7_SHIFT 5
4520 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED8_MASK 0x1
4521 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED8_SHIFT 6
4522 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED9_MASK 0x1
4523 #define XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED9_SHIFT 7
4525 #define XSTORMROCECONNAGCTXDQEXTLDPART_MIGRATION_MASK 0x1
4526 #define XSTORMROCECONNAGCTXDQEXTLDPART_MIGRATION_SHIFT 0
4527 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT17_MASK 0x1
4528 #define XSTORMROCECONNAGCTXDQEXTLDPART_BIT17_SHIFT 1
4529 #define XSTORMROCECONNAGCTXDQEXTLDPART_DPM_PORT_NUM_MASK 0x3
4530 #define XSTORMROCECONNAGCTXDQEXTLDPART_DPM_PORT_NUM_SHIFT 2
4531 #define XSTORMROCECONNAGCTXDQEXTLDPART_RESERVED_MASK 0x1
4532 #define XSTORMROCECONNAGCTXDQEXTLDPART_RESERVED_SHIFT 4
4533 #define XSTORMROCECONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_MASK 0x1
4534 #define XSTORMROCECONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_SHIFT 5
4535 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF23_MASK 0x3
4536 #define XSTORMROCECONNAGCTXDQEXTLDPART_CF23_SHIFT 6
4556 struct xstorm_rdma_conn_ag_ctx {
4560 #define XSTORM_RDMA_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
4561 #define XSTORM_RDMA_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
4562 #define XSTORM_RDMA_CONN_AG_CTX_BIT1_MASK 0x1
4563 #define XSTORM_RDMA_CONN_AG_CTX_BIT1_SHIFT 1
4564 #define XSTORM_RDMA_CONN_AG_CTX_BIT2_MASK 0x1
4565 #define XSTORM_RDMA_CONN_AG_CTX_BIT2_SHIFT 2
4566 #define XSTORM_RDMA_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1
4567 #define XSTORM_RDMA_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
4568 #define XSTORM_RDMA_CONN_AG_CTX_BIT4_MASK 0x1
4569 #define XSTORM_RDMA_CONN_AG_CTX_BIT4_SHIFT 4
4570 #define XSTORM_RDMA_CONN_AG_CTX_BIT5_MASK 0x1
4571 #define XSTORM_RDMA_CONN_AG_CTX_BIT5_SHIFT 5
4572 #define XSTORM_RDMA_CONN_AG_CTX_BIT6_MASK 0x1
4573 #define XSTORM_RDMA_CONN_AG_CTX_BIT6_SHIFT 6
4574 #define XSTORM_RDMA_CONN_AG_CTX_BIT7_MASK 0x1
4575 #define XSTORM_RDMA_CONN_AG_CTX_BIT7_SHIFT 7
4577 #define XSTORM_RDMA_CONN_AG_CTX_BIT8_MASK 0x1
4578 #define XSTORM_RDMA_CONN_AG_CTX_BIT8_SHIFT 0
4579 #define XSTORM_RDMA_CONN_AG_CTX_BIT9_MASK 0x1
4580 #define XSTORM_RDMA_CONN_AG_CTX_BIT9_SHIFT 1
4581 #define XSTORM_RDMA_CONN_AG_CTX_BIT10_MASK 0x1
4582 #define XSTORM_RDMA_CONN_AG_CTX_BIT10_SHIFT 2
4583 #define XSTORM_RDMA_CONN_AG_CTX_BIT11_MASK 0x1
4584 #define XSTORM_RDMA_CONN_AG_CTX_BIT11_SHIFT 3
4585 #define XSTORM_RDMA_CONN_AG_CTX_BIT12_MASK 0x1
4586 #define XSTORM_RDMA_CONN_AG_CTX_BIT12_SHIFT 4
4587 #define XSTORM_RDMA_CONN_AG_CTX_BIT13_MASK 0x1
4588 #define XSTORM_RDMA_CONN_AG_CTX_BIT13_SHIFT 5
4589 #define XSTORM_RDMA_CONN_AG_CTX_BIT14_MASK 0x1
4590 #define XSTORM_RDMA_CONN_AG_CTX_BIT14_SHIFT 6
4591 #define XSTORM_RDMA_CONN_AG_CTX_YSTORM_FLUSH_MASK 0x1
4592 #define XSTORM_RDMA_CONN_AG_CTX_YSTORM_FLUSH_SHIFT 7
4594 #define XSTORM_RDMA_CONN_AG_CTX_CF0_MASK 0x3
4595 #define XSTORM_RDMA_CONN_AG_CTX_CF0_SHIFT 0
4596 #define XSTORM_RDMA_CONN_AG_CTX_CF1_MASK 0x3
4597 #define XSTORM_RDMA_CONN_AG_CTX_CF1_SHIFT 2
4598 #define XSTORM_RDMA_CONN_AG_CTX_CF2_MASK 0x3
4599 #define XSTORM_RDMA_CONN_AG_CTX_CF2_SHIFT 4
4600 #define XSTORM_RDMA_CONN_AG_CTX_CF3_MASK 0x3
4601 #define XSTORM_RDMA_CONN_AG_CTX_CF3_SHIFT 6
4603 #define XSTORM_RDMA_CONN_AG_CTX_CF4_MASK 0x3
4604 #define XSTORM_RDMA_CONN_AG_CTX_CF4_SHIFT 0
4605 #define XSTORM_RDMA_CONN_AG_CTX_CF5_MASK 0x3
4606 #define XSTORM_RDMA_CONN_AG_CTX_CF5_SHIFT 2
4607 #define XSTORM_RDMA_CONN_AG_CTX_CF6_MASK 0x3
4608 #define XSTORM_RDMA_CONN_AG_CTX_CF6_SHIFT 4
4609 #define XSTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x3
4610 #define XSTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 6
4612 #define XSTORM_RDMA_CONN_AG_CTX_CF8_MASK 0x3
4613 #define XSTORM_RDMA_CONN_AG_CTX_CF8_SHIFT 0
4614 #define XSTORM_RDMA_CONN_AG_CTX_CF9_MASK 0x3
4615 #define XSTORM_RDMA_CONN_AG_CTX_CF9_SHIFT 2
4616 #define XSTORM_RDMA_CONN_AG_CTX_CF10_MASK 0x3
4617 #define XSTORM_RDMA_CONN_AG_CTX_CF10_SHIFT 4
4618 #define XSTORM_RDMA_CONN_AG_CTX_CF11_MASK 0x3
4619 #define XSTORM_RDMA_CONN_AG_CTX_CF11_SHIFT 6
4621 #define XSTORM_RDMA_CONN_AG_CTX_CF12_MASK 0x3
4622 #define XSTORM_RDMA_CONN_AG_CTX_CF12_SHIFT 0
4623 #define XSTORM_RDMA_CONN_AG_CTX_CF13_MASK 0x3
4624 #define XSTORM_RDMA_CONN_AG_CTX_CF13_SHIFT 2
4625 #define XSTORM_RDMA_CONN_AG_CTX_CF14_MASK 0x3
4626 #define XSTORM_RDMA_CONN_AG_CTX_CF14_SHIFT 4
4627 #define XSTORM_RDMA_CONN_AG_CTX_CF15_MASK 0x3
4628 #define XSTORM_RDMA_CONN_AG_CTX_CF15_SHIFT 6
4630 #define XSTORM_RDMA_CONN_AG_CTX_CF16_MASK 0x3
4631 #define XSTORM_RDMA_CONN_AG_CTX_CF16_SHIFT 0
4632 #define XSTORM_RDMA_CONN_AG_CTX_CF17_MASK 0x3
4633 #define XSTORM_RDMA_CONN_AG_CTX_CF17_SHIFT 2
4634 #define XSTORM_RDMA_CONN_AG_CTX_CF18_MASK 0x3
4635 #define XSTORM_RDMA_CONN_AG_CTX_CF18_SHIFT 4
4636 #define XSTORM_RDMA_CONN_AG_CTX_CF19_MASK 0x3
4637 #define XSTORM_RDMA_CONN_AG_CTX_CF19_SHIFT 6
4639 #define XSTORM_RDMA_CONN_AG_CTX_CF20_MASK 0x3
4640 #define XSTORM_RDMA_CONN_AG_CTX_CF20_SHIFT 0
4641 #define XSTORM_RDMA_CONN_AG_CTX_CF21_MASK 0x3
4642 #define XSTORM_RDMA_CONN_AG_CTX_CF21_SHIFT 2
4643 #define XSTORM_RDMA_CONN_AG_CTX_SLOW_PATH_MASK 0x3
4644 #define XSTORM_RDMA_CONN_AG_CTX_SLOW_PATH_SHIFT 4
4645 #define XSTORM_RDMA_CONN_AG_CTX_CF0EN_MASK 0x1
4646 #define XSTORM_RDMA_CONN_AG_CTX_CF0EN_SHIFT 6
4647 #define XSTORM_RDMA_CONN_AG_CTX_CF1EN_MASK 0x1
4648 #define XSTORM_RDMA_CONN_AG_CTX_CF1EN_SHIFT 7
4650 #define XSTORM_RDMA_CONN_AG_CTX_CF2EN_MASK 0x1
4651 #define XSTORM_RDMA_CONN_AG_CTX_CF2EN_SHIFT 0
4652 #define XSTORM_RDMA_CONN_AG_CTX_CF3EN_MASK 0x1
4653 #define XSTORM_RDMA_CONN_AG_CTX_CF3EN_SHIFT 1
4654 #define XSTORM_RDMA_CONN_AG_CTX_CF4EN_MASK 0x1
4655 #define XSTORM_RDMA_CONN_AG_CTX_CF4EN_SHIFT 2
4656 #define XSTORM_RDMA_CONN_AG_CTX_CF5EN_MASK 0x1
4657 #define XSTORM_RDMA_CONN_AG_CTX_CF5EN_SHIFT 3
4658 #define XSTORM_RDMA_CONN_AG_CTX_CF6EN_MASK 0x1
4659 #define XSTORM_RDMA_CONN_AG_CTX_CF6EN_SHIFT 4
4660 #define XSTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x1
4661 #define XSTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 5
4662 #define XSTORM_RDMA_CONN_AG_CTX_CF8EN_MASK 0x1
4663 #define XSTORM_RDMA_CONN_AG_CTX_CF8EN_SHIFT 6
4664 #define XSTORM_RDMA_CONN_AG_CTX_CF9EN_MASK 0x1
4665 #define XSTORM_RDMA_CONN_AG_CTX_CF9EN_SHIFT 7
4667 #define XSTORM_RDMA_CONN_AG_CTX_CF10EN_MASK 0x1
4668 #define XSTORM_RDMA_CONN_AG_CTX_CF10EN_SHIFT 0
4669 #define XSTORM_RDMA_CONN_AG_CTX_CF11EN_MASK 0x1
4670 #define XSTORM_RDMA_CONN_AG_CTX_CF11EN_SHIFT 1
4671 #define XSTORM_RDMA_CONN_AG_CTX_CF12EN_MASK 0x1
4672 #define XSTORM_RDMA_CONN_AG_CTX_CF12EN_SHIFT 2
4673 #define XSTORM_RDMA_CONN_AG_CTX_CF13EN_MASK 0x1
4674 #define XSTORM_RDMA_CONN_AG_CTX_CF13EN_SHIFT 3
4675 #define XSTORM_RDMA_CONN_AG_CTX_CF14EN_MASK 0x1
4676 #define XSTORM_RDMA_CONN_AG_CTX_CF14EN_SHIFT 4
4677 #define XSTORM_RDMA_CONN_AG_CTX_CF15EN_MASK 0x1
4678 #define XSTORM_RDMA_CONN_AG_CTX_CF15EN_SHIFT 5
4679 #define XSTORM_RDMA_CONN_AG_CTX_CF16EN_MASK 0x1
4680 #define XSTORM_RDMA_CONN_AG_CTX_CF16EN_SHIFT 6
4681 #define XSTORM_RDMA_CONN_AG_CTX_CF17EN_MASK 0x1
4682 #define XSTORM_RDMA_CONN_AG_CTX_CF17EN_SHIFT 7
4684 #define XSTORM_RDMA_CONN_AG_CTX_CF18EN_MASK 0x1
4685 #define XSTORM_RDMA_CONN_AG_CTX_CF18EN_SHIFT 0
4686 #define XSTORM_RDMA_CONN_AG_CTX_CF19EN_MASK 0x1
4687 #define XSTORM_RDMA_CONN_AG_CTX_CF19EN_SHIFT 1
4688 #define XSTORM_RDMA_CONN_AG_CTX_CF20EN_MASK 0x1
4689 #define XSTORM_RDMA_CONN_AG_CTX_CF20EN_SHIFT 2
4690 #define XSTORM_RDMA_CONN_AG_CTX_CF21EN_MASK 0x1
4691 #define XSTORM_RDMA_CONN_AG_CTX_CF21EN_SHIFT 3
4692 #define XSTORM_RDMA_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1
4693 #define XSTORM_RDMA_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
4694 #define XSTORM_RDMA_CONN_AG_CTX_CF23EN_MASK 0x1
4695 #define XSTORM_RDMA_CONN_AG_CTX_CF23EN_SHIFT 5
4696 #define XSTORM_RDMA_CONN_AG_CTX_RULE0EN_MASK 0x1
4697 #define XSTORM_RDMA_CONN_AG_CTX_RULE0EN_SHIFT 6
4698 #define XSTORM_RDMA_CONN_AG_CTX_RULE1EN_MASK 0x1
4699 #define XSTORM_RDMA_CONN_AG_CTX_RULE1EN_SHIFT 7
4701 #define XSTORM_RDMA_CONN_AG_CTX_RULE2EN_MASK 0x1
4702 #define XSTORM_RDMA_CONN_AG_CTX_RULE2EN_SHIFT 0
4703 #define XSTORM_RDMA_CONN_AG_CTX_RULE3EN_MASK 0x1
4704 #define XSTORM_RDMA_CONN_AG_CTX_RULE3EN_SHIFT 1
4705 #define XSTORM_RDMA_CONN_AG_CTX_RULE4EN_MASK 0x1
4706 #define XSTORM_RDMA_CONN_AG_CTX_RULE4EN_SHIFT 2
4707 #define XSTORM_RDMA_CONN_AG_CTX_RULE5EN_MASK 0x1
4708 #define XSTORM_RDMA_CONN_AG_CTX_RULE5EN_SHIFT 3
4709 #define XSTORM_RDMA_CONN_AG_CTX_RULE6EN_MASK 0x1
4710 #define XSTORM_RDMA_CONN_AG_CTX_RULE6EN_SHIFT 4
4711 #define XSTORM_RDMA_CONN_AG_CTX_RULE7EN_MASK 0x1
4712 #define XSTORM_RDMA_CONN_AG_CTX_RULE7EN_SHIFT 5
4713 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED1_MASK 0x1
4714 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
4715 #define XSTORM_RDMA_CONN_AG_CTX_RULE9EN_MASK 0x1
4716 #define XSTORM_RDMA_CONN_AG_CTX_RULE9EN_SHIFT 7
4718 #define XSTORM_RDMA_CONN_AG_CTX_RULE10EN_MASK 0x1
4719 #define XSTORM_RDMA_CONN_AG_CTX_RULE10EN_SHIFT 0
4720 #define XSTORM_RDMA_CONN_AG_CTX_RULE11EN_MASK 0x1
4721 #define XSTORM_RDMA_CONN_AG_CTX_RULE11EN_SHIFT 1
4722 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED2_MASK 0x1
4723 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
4724 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED3_MASK 0x1
4725 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
4726 #define XSTORM_RDMA_CONN_AG_CTX_RULE14EN_MASK 0x1
4727 #define XSTORM_RDMA_CONN_AG_CTX_RULE14EN_SHIFT 4
4728 #define XSTORM_RDMA_CONN_AG_CTX_RULE15EN_MASK 0x1
4729 #define XSTORM_RDMA_CONN_AG_CTX_RULE15EN_SHIFT 5
4730 #define XSTORM_RDMA_CONN_AG_CTX_RULE16EN_MASK 0x1
4731 #define XSTORM_RDMA_CONN_AG_CTX_RULE16EN_SHIFT 6
4732 #define XSTORM_RDMA_CONN_AG_CTX_RULE17EN_MASK 0x1
4733 #define XSTORM_RDMA_CONN_AG_CTX_RULE17EN_SHIFT 7
4735 #define XSTORM_RDMA_CONN_AG_CTX_RULE18EN_MASK 0x1
4736 #define XSTORM_RDMA_CONN_AG_CTX_RULE18EN_SHIFT 0
4737 #define XSTORM_RDMA_CONN_AG_CTX_RULE19EN_MASK 0x1
4738 #define XSTORM_RDMA_CONN_AG_CTX_RULE19EN_SHIFT 1
4739 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED4_MASK 0x1
4740 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED4_SHIFT 2
4741 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED5_MASK 0x1
4742 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED5_SHIFT 3
4743 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED6_MASK 0x1
4744 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
4745 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED7_MASK 0x1
4746 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED7_SHIFT 5
4747 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED8_MASK 0x1
4748 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
4749 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED9_MASK 0x1
4750 #define XSTORM_RDMA_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
4752 #define XSTORM_RDMA_CONN_AG_CTX_MIGRATION_MASK 0x1
4753 #define XSTORM_RDMA_CONN_AG_CTX_MIGRATION_SHIFT 0
4754 #define XSTORM_RDMA_CONN_AG_CTX_BIT17_MASK 0x1
4755 #define XSTORM_RDMA_CONN_AG_CTX_BIT17_SHIFT 1
4756 #define XSTORM_RDMA_CONN_AG_CTX_DPM_PORT_NUM_MASK 0x3
4757 #define XSTORM_RDMA_CONN_AG_CTX_DPM_PORT_NUM_SHIFT 2
4758 #define XSTORM_RDMA_CONN_AG_CTX_RESERVED_MASK 0x1
4759 #define XSTORM_RDMA_CONN_AG_CTX_RESERVED_SHIFT 4
4760 #define XSTORM_RDMA_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK 0x1
4761 #define XSTORM_RDMA_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT 5
4762 #define XSTORM_RDMA_CONN_AG_CTX_CF23_MASK 0x3
4763 #define XSTORM_RDMA_CONN_AG_CTX_CF23_SHIFT 6
4785 struct ystorm_rdma_conn_ag_ctx {
4789 #define YSTORM_RDMA_CONN_AG_CTX_BIT0_MASK 0x1
4790 #define YSTORM_RDMA_CONN_AG_CTX_BIT0_SHIFT 0
4791 #define YSTORM_RDMA_CONN_AG_CTX_BIT1_MASK 0x1
4792 #define YSTORM_RDMA_CONN_AG_CTX_BIT1_SHIFT 1
4793 #define YSTORM_RDMA_CONN_AG_CTX_CF0_MASK 0x3
4794 #define YSTORM_RDMA_CONN_AG_CTX_CF0_SHIFT 2
4795 #define YSTORM_RDMA_CONN_AG_CTX_CF1_MASK 0x3
4796 #define YSTORM_RDMA_CONN_AG_CTX_CF1_SHIFT 4
4797 #define YSTORM_RDMA_CONN_AG_CTX_CF2_MASK 0x3
4798 #define YSTORM_RDMA_CONN_AG_CTX_CF2_SHIFT 6
4800 #define YSTORM_RDMA_CONN_AG_CTX_CF0EN_MASK 0x1
4801 #define YSTORM_RDMA_CONN_AG_CTX_CF0EN_SHIFT 0
4802 #define YSTORM_RDMA_CONN_AG_CTX_CF1EN_MASK 0x1
4803 #define YSTORM_RDMA_CONN_AG_CTX_CF1EN_SHIFT 1
4804 #define YSTORM_RDMA_CONN_AG_CTX_CF2EN_MASK 0x1
4805 #define YSTORM_RDMA_CONN_AG_CTX_CF2EN_SHIFT 2
4806 #define YSTORM_RDMA_CONN_AG_CTX_RULE0EN_MASK 0x1
4807 #define YSTORM_RDMA_CONN_AG_CTX_RULE0EN_SHIFT 3
4808 #define YSTORM_RDMA_CONN_AG_CTX_RULE1EN_MASK 0x1
4809 #define YSTORM_RDMA_CONN_AG_CTX_RULE1EN_SHIFT 4
4810 #define YSTORM_RDMA_CONN_AG_CTX_RULE2EN_MASK 0x1
4811 #define YSTORM_RDMA_CONN_AG_CTX_RULE2EN_SHIFT 5
4812 #define YSTORM_RDMA_CONN_AG_CTX_RULE3EN_MASK 0x1
4813 #define YSTORM_RDMA_CONN_AG_CTX_RULE3EN_SHIFT 6
4814 #define YSTORM_RDMA_CONN_AG_CTX_RULE4EN_MASK 0x1
4815 #define YSTORM_RDMA_CONN_AG_CTX_RULE4EN_SHIFT 7
4829 struct mstorm_roce_conn_st_ctx {
4830 struct regpair temp[6];
4833 struct pstorm_roce_conn_st_ctx {
4834 struct regpair temp[16];
4837 struct ystorm_roce_conn_st_ctx {
4838 struct regpair temp[2];
4841 struct xstorm_roce_conn_st_ctx {
4842 struct regpair temp[22];
4845 struct tstorm_roce_conn_st_ctx {
4846 struct regpair temp[30];
4849 struct ustorm_roce_conn_st_ctx {
4850 struct regpair temp[12];
4853 struct roce_conn_context {
4854 struct ystorm_roce_conn_st_ctx ystorm_st_context;
4855 struct regpair ystorm_st_padding[2];
4856 struct pstorm_roce_conn_st_ctx pstorm_st_context;
4857 struct xstorm_roce_conn_st_ctx xstorm_st_context;
4858 struct regpair xstorm_st_padding[2];
4859 struct xstorm_rdma_conn_ag_ctx xstorm_ag_context;
4860 struct tstorm_rdma_conn_ag_ctx tstorm_ag_context;
4861 struct timers_context timer_context;
4862 struct ustorm_rdma_conn_ag_ctx ustorm_ag_context;
4863 struct tstorm_roce_conn_st_ctx tstorm_st_context;
4864 struct mstorm_roce_conn_st_ctx mstorm_st_context;
4865 struct ustorm_roce_conn_st_ctx ustorm_st_context;
4866 struct regpair ustorm_st_padding[2];
4869 struct roce_create_qp_req_ramrod_data {
4871 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_ROCE_FLAVOR_MASK 0x3
4872 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_ROCE_FLAVOR_SHIFT 0
4873 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_FMR_AND_RESERVED_EN_MASK 0x1
4874 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_FMR_AND_RESERVED_EN_SHIFT 2
4875 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_SIGNALED_COMP_MASK 0x1
4876 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_SIGNALED_COMP_SHIFT 3
4877 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_PRI_MASK 0x7
4878 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_PRI_SHIFT 4
4879 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_RESERVED_MASK 0x1
4880 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_RESERVED_SHIFT 7
4881 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_MASK 0xF
4882 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_SHIFT 8
4883 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_MASK 0xF
4884 #define ROCE_CREATE_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_SHIFT 12
4892 __le32 ack_timeout_val;
4896 __le16 sq_num_pages;
4898 struct regpair sq_pbl_addr;
4899 struct regpair orq_pbl_addr;
4900 __le16 local_mac_addr[3];
4901 __le16 remote_mac_addr[3];
4903 __le16 udp_src_port;
4906 struct regpair qp_handle_for_cqe;
4907 struct regpair qp_handle_for_async;
4908 u8 stats_counter_id;
4911 __le16 physical_queue0;
4915 struct roce_create_qp_resp_ramrod_data {
4917 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_ROCE_FLAVOR_MASK 0x3
4918 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_ROCE_FLAVOR_SHIFT 0
4919 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_RDMA_RD_EN_MASK 0x1
4920 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_RDMA_RD_EN_SHIFT 2
4921 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_RDMA_WR_EN_MASK 0x1
4922 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_RDMA_WR_EN_SHIFT 3
4923 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_ATOMIC_EN_MASK 0x1
4924 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_ATOMIC_EN_SHIFT 4
4925 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_SRQ_FLG_MASK 0x1
4926 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_SRQ_FLG_SHIFT 5
4927 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_E2E_FLOW_CONTROL_EN_MASK 0x1
4928 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_E2E_FLOW_CONTROL_EN_SHIFT 6
4929 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_RESERVED0_MASK 0x1
4930 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_RESERVED0_SHIFT 7
4931 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_PRI_MASK 0x7
4932 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_PRI_SHIFT 8
4933 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_MASK 0x1F
4934 #define ROCE_CREATE_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_SHIFT 11
4942 u8 stats_counter_id;
4947 __le16 rq_num_pages;
4948 struct rdma_srq_id srq_id;
4949 struct regpair rq_pbl_addr;
4950 struct regpair irq_pbl_addr;
4951 __le16 local_mac_addr[3];
4952 __le16 remote_mac_addr[3];
4954 __le16 udp_src_port;
4957 struct regpair qp_handle_for_cqe;
4958 struct regpair qp_handle_for_async;
4959 __le32 reserved2[2];
4961 __le16 physical_queue0;
4965 struct roce_destroy_qp_req_output_params {
4966 __le32 num_bound_mw;
4970 struct roce_destroy_qp_req_ramrod_data {
4971 struct regpair output_params_addr;
4974 struct roce_destroy_qp_resp_output_params {
4975 __le32 num_invalidated_mw;
4979 struct roce_destroy_qp_resp_ramrod_data {
4980 struct regpair output_params_addr;
4983 enum roce_event_opcode {
4984 ROCE_EVENT_CREATE_QP = 11,
4985 ROCE_EVENT_MODIFY_QP,
4986 ROCE_EVENT_QUERY_QP,
4987 ROCE_EVENT_DESTROY_QP,
4988 MAX_ROCE_EVENT_OPCODE
4991 struct roce_modify_qp_req_ramrod_data {
4993 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MOVE_TO_ERR_FLG_MASK 0x1
4994 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MOVE_TO_ERR_FLG_SHIFT 0
4995 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MOVE_TO_SQD_FLG_MASK 0x1
4996 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MOVE_TO_SQD_FLG_SHIFT 1
4997 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_EN_SQD_ASYNC_NOTIFY_MASK 0x1
4998 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_EN_SQD_ASYNC_NOTIFY_SHIFT 2
4999 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_P_KEY_FLG_MASK 0x1
5000 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_P_KEY_FLG_SHIFT 3
5001 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ADDRESS_VECTOR_FLG_MASK 0x1
5002 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ADDRESS_VECTOR_FLG_SHIFT 4
5003 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MAX_ORD_FLG_MASK 0x1
5004 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MAX_ORD_FLG_SHIFT 5
5005 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_FLG_MASK 0x1
5006 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_FLG_SHIFT 6
5007 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_FLG_MASK 0x1
5008 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_FLG_SHIFT 7
5009 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ACK_TIMEOUT_FLG_MASK 0x1
5010 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ACK_TIMEOUT_FLG_SHIFT 8
5011 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_PRI_FLG_MASK 0x1
5012 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_PRI_FLG_SHIFT 9
5013 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_PRI_MASK 0x7
5014 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_PRI_SHIFT 10
5015 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RESERVED1_MASK 0x7
5016 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RESERVED1_SHIFT 13
5018 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_MASK 0xF
5019 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_SHIFT 0
5020 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_MASK 0xF
5021 #define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_SHIFT 4
5027 __le32 ack_timeout_val;
5030 __le32 reserved3[3];
5035 struct roce_modify_qp_resp_ramrod_data {
5037 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MOVE_TO_ERR_FLG_MASK 0x1
5038 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MOVE_TO_ERR_FLG_SHIFT 0
5039 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_RD_EN_MASK 0x1
5040 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_RD_EN_SHIFT 1
5041 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_WR_EN_MASK 0x1
5042 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_WR_EN_SHIFT 2
5043 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_ATOMIC_EN_MASK 0x1
5044 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_ATOMIC_EN_SHIFT 3
5045 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_P_KEY_FLG_MASK 0x1
5046 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_P_KEY_FLG_SHIFT 4
5047 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_ADDRESS_VECTOR_FLG_MASK 0x1
5048 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_ADDRESS_VECTOR_FLG_SHIFT 5
5049 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MAX_IRD_FLG_MASK 0x1
5050 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MAX_IRD_FLG_SHIFT 6
5051 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_PRI_FLG_MASK 0x1
5052 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_PRI_FLG_SHIFT 7
5053 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_FLG_MASK 0x1
5054 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_FLG_SHIFT 8
5055 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_OPS_EN_FLG_MASK 0x1
5056 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_OPS_EN_FLG_SHIFT 9
5057 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RESERVED1_MASK 0x3F
5058 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RESERVED1_SHIFT 10
5060 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_PRI_MASK 0x7
5061 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_PRI_SHIFT 0
5062 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_MASK 0x1F
5063 #define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_SHIFT 3
5075 struct roce_query_qp_req_output_params {
5078 #define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_ERR_FLG_MASK 0x1
5079 #define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_ERR_FLG_SHIFT 0
5080 #define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_SQ_DRAINING_FLG_MASK 0x1
5081 #define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_SQ_DRAINING_FLG_SHIFT 1
5082 #define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_RESERVED0_MASK 0x3FFFFFFF
5083 #define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_RESERVED0_SHIFT 2
5086 struct roce_query_qp_req_ramrod_data {
5087 struct regpair output_params_addr;
5090 struct roce_query_qp_resp_output_params {
5093 #define ROCE_QUERY_QP_RESP_OUTPUT_PARAMS_ERROR_FLG_MASK 0x1
5094 #define ROCE_QUERY_QP_RESP_OUTPUT_PARAMS_ERROR_FLG_SHIFT 0
5095 #define ROCE_QUERY_QP_RESP_OUTPUT_PARAMS_RESERVED0_MASK 0x7FFFFFFF
5096 #define ROCE_QUERY_QP_RESP_OUTPUT_PARAMS_RESERVED0_SHIFT 1
5099 struct roce_query_qp_resp_ramrod_data {
5100 struct regpair output_params_addr;
5103 enum roce_ramrod_cmd_id {
5104 ROCE_RAMROD_CREATE_QP = 11,
5105 ROCE_RAMROD_MODIFY_QP,
5106 ROCE_RAMROD_QUERY_QP,
5107 ROCE_RAMROD_DESTROY_QP,
5108 MAX_ROCE_RAMROD_CMD_ID
5111 struct mstorm_roce_req_conn_ag_ctx {
5115 #define MSTORM_ROCE_REQ_CONN_AG_CTX_BIT0_MASK 0x1
5116 #define MSTORM_ROCE_REQ_CONN_AG_CTX_BIT0_SHIFT 0
5117 #define MSTORM_ROCE_REQ_CONN_AG_CTX_BIT1_MASK 0x1
5118 #define MSTORM_ROCE_REQ_CONN_AG_CTX_BIT1_SHIFT 1
5119 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF0_MASK 0x3
5120 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF0_SHIFT 2
5121 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF1_MASK 0x3
5122 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF1_SHIFT 4
5123 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF2_MASK 0x3
5124 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF2_SHIFT 6
5126 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_MASK 0x1
5127 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_SHIFT 0
5128 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_MASK 0x1
5129 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_SHIFT 1
5130 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_MASK 0x1
5131 #define MSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_SHIFT 2
5132 #define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_MASK 0x1
5133 #define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_SHIFT 3
5134 #define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_MASK 0x1
5135 #define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_SHIFT 4
5136 #define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_MASK 0x1
5137 #define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_SHIFT 5
5138 #define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_MASK 0x1
5139 #define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_SHIFT 6
5140 #define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_MASK 0x1
5141 #define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_SHIFT 7
5148 struct mstorm_roce_resp_conn_ag_ctx {
5152 #define MSTORM_ROCE_RESP_CONN_AG_CTX_BIT0_MASK 0x1
5153 #define MSTORM_ROCE_RESP_CONN_AG_CTX_BIT0_SHIFT 0
5154 #define MSTORM_ROCE_RESP_CONN_AG_CTX_BIT1_MASK 0x1
5155 #define MSTORM_ROCE_RESP_CONN_AG_CTX_BIT1_SHIFT 1
5156 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF0_MASK 0x3
5157 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF0_SHIFT 2
5158 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF1_MASK 0x3
5159 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF1_SHIFT 4
5160 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF2_MASK 0x3
5161 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF2_SHIFT 6
5163 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_MASK 0x1
5164 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_SHIFT 0
5165 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_MASK 0x1
5166 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_SHIFT 1
5167 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_MASK 0x1
5168 #define MSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_SHIFT 2
5169 #define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_MASK 0x1
5170 #define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_SHIFT 3
5171 #define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_MASK 0x1
5172 #define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_SHIFT 4
5173 #define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_MASK 0x1
5174 #define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_SHIFT 5
5175 #define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_MASK 0x1
5176 #define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_SHIFT 6
5177 #define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_MASK 0x1
5178 #define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_SHIFT 7
5186 PLAIN_ROCE /* RoCE v1 */ ,
5187 RROCE_IPV4 /* RoCE v2 (Routable RoCE) over ipv4 */ ,
5188 RROCE_IPV6 /* RoCE v2 (Routable RoCE) over ipv6 */ ,
5192 struct tstorm_roce_req_conn_ag_ctx {
5196 #define TSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
5197 #define TSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
5198 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_OCCURED_MASK 0x1
5199 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_OCCURED_SHIFT 1
5200 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_CQE_ERROR_OCCURED_MASK 0x1
5201 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_CQE_ERROR_OCCURED_SHIFT 2
5202 #define TSTORM_ROCE_REQ_CONN_AG_CTX_BIT3_MASK 0x1
5203 #define TSTORM_ROCE_REQ_CONN_AG_CTX_BIT3_SHIFT 3
5204 #define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_MASK 0x1
5205 #define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_SHIFT 4
5206 #define TSTORM_ROCE_REQ_CONN_AG_CTX_CACHED_ORQ_MASK 0x1
5207 #define TSTORM_ROCE_REQ_CONN_AG_CTX_CACHED_ORQ_SHIFT 5
5208 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_CF_MASK 0x3
5209 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_CF_SHIFT 6
5211 #define TSTORM_ROCE_REQ_CONN_AG_CTX_CF1_MASK 0x3
5212 #define TSTORM_ROCE_REQ_CONN_AG_CTX_CF1_SHIFT 0
5213 #define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_SQ_CF_MASK 0x3
5214 #define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_SQ_CF_SHIFT 2
5215 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_STOP_ALL_CF_MASK 0x3
5216 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_STOP_ALL_CF_SHIFT 4
5217 #define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x3
5218 #define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 6
5220 #define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_CF_MASK 0x3
5221 #define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_CF_SHIFT 0
5222 #define TSTORM_ROCE_REQ_CONN_AG_CTX_SET_TIMER_CF_MASK 0x3
5223 #define TSTORM_ROCE_REQ_CONN_AG_CTX_SET_TIMER_CF_SHIFT 2
5224 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_ASYNC_ERROR_CF_MASK 0x3
5225 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_ASYNC_ERROR_CF_SHIFT 4
5226 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RXMIT_DONE_CF_MASK 0x3
5227 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RXMIT_DONE_CF_SHIFT 6
5229 #define TSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_SCAN_COMPLETED_CF_MASK 0x3
5230 #define TSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_SCAN_COMPLETED_CF_SHIFT 0
5231 #define TSTORM_ROCE_REQ_CONN_AG_CTX_SQ_DRAIN_COMPLETED_CF_MASK 0x3
5232 #define TSTORM_ROCE_REQ_CONN_AG_CTX_SQ_DRAIN_COMPLETED_CF_SHIFT 2
5233 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_CF_EN_MASK 0x1
5234 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_CF_EN_SHIFT 4
5235 #define TSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_MASK 0x1
5236 #define TSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_SHIFT 5
5237 #define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_SQ_CF_EN_MASK 0x1
5238 #define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_SQ_CF_EN_SHIFT 6
5239 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_MASK 0x1
5240 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_SHIFT 7
5242 #define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x1
5243 #define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 0
5244 #define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_MASK 0x1
5245 #define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_SHIFT 1
5246 #define TSTORM_ROCE_REQ_CONN_AG_CTX_SET_TIMER_CF_EN_MASK 0x1
5247 #define TSTORM_ROCE_REQ_CONN_AG_CTX_SET_TIMER_CF_EN_SHIFT 2
5248 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_ASYNC_ERROR_CF_EN_MASK 0x1
5249 #define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_ASYNC_ERROR_CF_EN_SHIFT 3
5250 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RXMIT_DONE_CF_EN_MASK 0x1
5251 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RXMIT_DONE_CF_EN_SHIFT 4
5252 #define TSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_SCAN_COMPLETED_CF_EN_MASK 0x1
5253 #define TSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_SCAN_COMPLETED_CF_EN_SHIFT 5
5254 #define TSTORM_ROCE_REQ_CONN_AG_CTX_SQ_DRAIN_COMPLETED_CF_EN_MASK 0x1
5255 #define TSTORM_ROCE_REQ_CONN_AG_CTX_SQ_DRAIN_COMPLETED_CF_EN_SHIFT 6
5256 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_MASK 0x1
5257 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_SHIFT 7
5259 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_MASK 0x1
5260 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_SHIFT 0
5261 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_MASK 0x1
5262 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_SHIFT 1
5263 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_MASK 0x1
5264 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_SHIFT 2
5265 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_MASK 0x1
5266 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_SHIFT 3
5267 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_MASK 0x1
5268 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_SHIFT 4
5269 #define TSTORM_ROCE_REQ_CONN_AG_CTX_SND_SQ_CONS_EN_MASK 0x1
5270 #define TSTORM_ROCE_REQ_CONN_AG_CTX_SND_SQ_CONS_EN_SHIFT 5
5271 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE7EN_MASK 0x1
5272 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE7EN_SHIFT 6
5273 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE8EN_MASK 0x1
5274 #define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE8EN_SHIFT 7
5284 u8 tx_cqe_error_type;
5286 __le16 snd_sq_cons_th;
5296 struct tstorm_roce_resp_conn_ag_ctx {
5300 #define TSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
5301 #define TSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
5302 #define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT1_MASK 0x1
5303 #define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT1_SHIFT 1
5304 #define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT2_MASK 0x1
5305 #define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT2_SHIFT 2
5306 #define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT3_MASK 0x1
5307 #define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT3_SHIFT 3
5308 #define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_MASK 0x1
5309 #define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_SHIFT 4
5310 #define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT5_MASK 0x1
5311 #define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT5_SHIFT 5
5312 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF0_MASK 0x3
5313 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF0_SHIFT 6
5315 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_MASK 0x3
5316 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_SHIFT 0
5317 #define TSTORM_ROCE_RESP_CONN_AG_CTX_TX_ERROR_CF_MASK 0x3
5318 #define TSTORM_ROCE_RESP_CONN_AG_CTX_TX_ERROR_CF_SHIFT 2
5319 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF3_MASK 0x3
5320 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF3_SHIFT 4
5321 #define TSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x3
5322 #define TSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 6
5324 #define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_CF_MASK 0x3
5325 #define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_CF_SHIFT 0
5326 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF6_MASK 0x3
5327 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF6_SHIFT 2
5328 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF7_MASK 0x3
5329 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF7_SHIFT 4
5330 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF8_MASK 0x3
5331 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF8_SHIFT 6
5333 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF9_MASK 0x3
5334 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF9_SHIFT 0
5335 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF10_MASK 0x3
5336 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF10_SHIFT 2
5337 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_MASK 0x1
5338 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_SHIFT 4
5339 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_EN_MASK 0x1
5340 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_EN_SHIFT 5
5341 #define TSTORM_ROCE_RESP_CONN_AG_CTX_TX_ERROR_CF_EN_MASK 0x1
5342 #define TSTORM_ROCE_RESP_CONN_AG_CTX_TX_ERROR_CF_EN_SHIFT 6
5343 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_MASK 0x1
5344 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_SHIFT 7
5346 #define TSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x1
5347 #define TSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 0
5348 #define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_MASK 0x1
5349 #define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_SHIFT 1
5350 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF6EN_MASK 0x1
5351 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF6EN_SHIFT 2
5352 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF7EN_MASK 0x1
5353 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF7EN_SHIFT 3
5354 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF8EN_MASK 0x1
5355 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF8EN_SHIFT 4
5356 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF9EN_MASK 0x1
5357 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF9EN_SHIFT 5
5358 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF10EN_MASK 0x1
5359 #define TSTORM_ROCE_RESP_CONN_AG_CTX_CF10EN_SHIFT 6
5360 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_MASK 0x1
5361 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_SHIFT 7
5363 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_MASK 0x1
5364 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_SHIFT 0
5365 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_MASK 0x1
5366 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_SHIFT 1
5367 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_MASK 0x1
5368 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_SHIFT 2
5369 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_MASK 0x1
5370 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_SHIFT 3
5371 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_MASK 0x1
5372 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_SHIFT 4
5373 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RQ_RULE_EN_MASK 0x1
5374 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RQ_RULE_EN_SHIFT 5
5375 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_MASK 0x1
5376 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_SHIFT 6
5377 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE8EN_MASK 0x1
5378 #define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE8EN_SHIFT 7
5379 __le32 psn_and_rxmit_id_echo;
5388 u8 tx_async_error_type;
5396 __le32 num_invlidated_mw;
5400 struct ustorm_roce_req_conn_ag_ctx {
5404 #define USTORM_ROCE_REQ_CONN_AG_CTX_BIT0_MASK 0x1
5405 #define USTORM_ROCE_REQ_CONN_AG_CTX_BIT0_SHIFT 0
5406 #define USTORM_ROCE_REQ_CONN_AG_CTX_BIT1_MASK 0x1
5407 #define USTORM_ROCE_REQ_CONN_AG_CTX_BIT1_SHIFT 1
5408 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF0_MASK 0x3
5409 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF0_SHIFT 2
5410 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF1_MASK 0x3
5411 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF1_SHIFT 4
5412 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF2_MASK 0x3
5413 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF2_SHIFT 6
5415 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF3_MASK 0x3
5416 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF3_SHIFT 0
5417 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF4_MASK 0x3
5418 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF4_SHIFT 2
5419 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF5_MASK 0x3
5420 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF5_SHIFT 4
5421 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF6_MASK 0x3
5422 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF6_SHIFT 6
5424 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_MASK 0x1
5425 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_SHIFT 0
5426 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_MASK 0x1
5427 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_SHIFT 1
5428 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_MASK 0x1
5429 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_SHIFT 2
5430 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF3EN_MASK 0x1
5431 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF3EN_SHIFT 3
5432 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF4EN_MASK 0x1
5433 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF4EN_SHIFT 4
5434 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF5EN_MASK 0x1
5435 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF5EN_SHIFT 5
5436 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF6EN_MASK 0x1
5437 #define USTORM_ROCE_REQ_CONN_AG_CTX_CF6EN_SHIFT 6
5438 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_MASK 0x1
5439 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_SHIFT 7
5441 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_MASK 0x1
5442 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_SHIFT 0
5443 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_MASK 0x1
5444 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_SHIFT 1
5445 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_MASK 0x1
5446 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_SHIFT 2
5447 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_MASK 0x1
5448 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_SHIFT 3
5449 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_MASK 0x1
5450 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_SHIFT 4
5451 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE6EN_MASK 0x1
5452 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE6EN_SHIFT 5
5453 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE7EN_MASK 0x1
5454 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE7EN_SHIFT 6
5455 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE8EN_MASK 0x1
5456 #define USTORM_ROCE_REQ_CONN_AG_CTX_RULE8EN_SHIFT 7
5469 struct ustorm_roce_resp_conn_ag_ctx {
5473 #define USTORM_ROCE_RESP_CONN_AG_CTX_BIT0_MASK 0x1
5474 #define USTORM_ROCE_RESP_CONN_AG_CTX_BIT0_SHIFT 0
5475 #define USTORM_ROCE_RESP_CONN_AG_CTX_BIT1_MASK 0x1
5476 #define USTORM_ROCE_RESP_CONN_AG_CTX_BIT1_SHIFT 1
5477 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF0_MASK 0x3
5478 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF0_SHIFT 2
5479 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF1_MASK 0x3
5480 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF1_SHIFT 4
5481 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF2_MASK 0x3
5482 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF2_SHIFT 6
5484 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF3_MASK 0x3
5485 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF3_SHIFT 0
5486 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF4_MASK 0x3
5487 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF4_SHIFT 2
5488 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF5_MASK 0x3
5489 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF5_SHIFT 4
5490 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF6_MASK 0x3
5491 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF6_SHIFT 6
5493 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_MASK 0x1
5494 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_SHIFT 0
5495 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_MASK 0x1
5496 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_SHIFT 1
5497 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_MASK 0x1
5498 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_SHIFT 2
5499 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_MASK 0x1
5500 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_SHIFT 3
5501 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF4EN_MASK 0x1
5502 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF4EN_SHIFT 4
5503 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF5EN_MASK 0x1
5504 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF5EN_SHIFT 5
5505 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF6EN_MASK 0x1
5506 #define USTORM_ROCE_RESP_CONN_AG_CTX_CF6EN_SHIFT 6
5507 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_MASK 0x1
5508 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_SHIFT 7
5510 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_MASK 0x1
5511 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_SHIFT 0
5512 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_MASK 0x1
5513 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_SHIFT 1
5514 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_MASK 0x1
5515 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_SHIFT 2
5516 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_MASK 0x1
5517 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_SHIFT 3
5518 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_MASK 0x1
5519 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_SHIFT 4
5520 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE6EN_MASK 0x1
5521 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE6EN_SHIFT 5
5522 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_MASK 0x1
5523 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_SHIFT 6
5524 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE8EN_MASK 0x1
5525 #define USTORM_ROCE_RESP_CONN_AG_CTX_RULE8EN_SHIFT 7
5538 struct xstorm_roce_req_conn_ag_ctx {
5542 #define XSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
5543 #define XSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
5544 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED1_MASK 0x1
5545 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED1_SHIFT 1
5546 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED2_MASK 0x1
5547 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED2_SHIFT 2
5548 #define XSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1
5549 #define XSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
5550 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED3_MASK 0x1
5551 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED3_SHIFT 4
5552 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED4_MASK 0x1
5553 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED4_SHIFT 5
5554 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED5_MASK 0x1
5555 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED5_SHIFT 6
5556 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED6_MASK 0x1
5557 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED6_SHIFT 7
5559 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED7_MASK 0x1
5560 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED7_SHIFT 0
5561 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED8_MASK 0x1
5562 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED8_SHIFT 1
5563 #define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT10_MASK 0x1
5564 #define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT10_SHIFT 2
5565 #define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT11_MASK 0x1
5566 #define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT11_SHIFT 3
5567 #define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT12_MASK 0x1
5568 #define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT12_SHIFT 4
5569 #define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT13_MASK 0x1
5570 #define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT13_SHIFT 5
5571 #define XSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_STATE_MASK 0x1
5572 #define XSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_STATE_SHIFT 6
5573 #define XSTORM_ROCE_REQ_CONN_AG_CTX_YSTORM_FLUSH_MASK 0x1
5574 #define XSTORM_ROCE_REQ_CONN_AG_CTX_YSTORM_FLUSH_SHIFT 7
5576 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF0_MASK 0x3
5577 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF0_SHIFT 0
5578 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF1_MASK 0x3
5579 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF1_SHIFT 2
5580 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF2_MASK 0x3
5581 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF2_SHIFT 4
5582 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF3_MASK 0x3
5583 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF3_SHIFT 6
5585 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_FLUSH_CF_MASK 0x3
5586 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_FLUSH_CF_SHIFT 0
5587 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_CF_MASK 0x3
5588 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_CF_SHIFT 2
5589 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SND_RXMIT_CF_MASK 0x3
5590 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SND_RXMIT_CF_SHIFT 4
5591 #define XSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x3
5592 #define XSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 6
5594 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF8_MASK 0x3
5595 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF8_SHIFT 0
5596 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF9_MASK 0x3
5597 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF9_SHIFT 2
5598 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF10_MASK 0x3
5599 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF10_SHIFT 4
5600 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF11_MASK 0x3
5601 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF11_SHIFT 6
5603 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF12_MASK 0x3
5604 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF12_SHIFT 0
5605 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF13_MASK 0x3
5606 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF13_SHIFT 2
5607 #define XSTORM_ROCE_REQ_CONN_AG_CTX_FMR_ENDED_CF_MASK 0x3
5608 #define XSTORM_ROCE_REQ_CONN_AG_CTX_FMR_ENDED_CF_SHIFT 4
5609 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF15_MASK 0x3
5610 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF15_SHIFT 6
5612 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF16_MASK 0x3
5613 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF16_SHIFT 0
5614 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF17_MASK 0x3
5615 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF17_SHIFT 2
5616 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF18_MASK 0x3
5617 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF18_SHIFT 4
5618 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF19_MASK 0x3
5619 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF19_SHIFT 6
5621 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF20_MASK 0x3
5622 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF20_SHIFT 0
5623 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF21_MASK 0x3
5624 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF21_SHIFT 2
5625 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SLOW_PATH_MASK 0x3
5626 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SLOW_PATH_SHIFT 4
5627 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_MASK 0x1
5628 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_SHIFT 6
5629 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_MASK 0x1
5630 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_SHIFT 7
5632 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_MASK 0x1
5633 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_SHIFT 0
5634 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF3EN_MASK 0x1
5635 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF3EN_SHIFT 1
5636 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_FLUSH_CF_EN_MASK 0x1
5637 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_FLUSH_CF_EN_SHIFT 2
5638 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_CF_EN_MASK 0x1
5639 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_CF_EN_SHIFT 3
5640 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SND_RXMIT_CF_EN_MASK 0x1
5641 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SND_RXMIT_CF_EN_SHIFT 4
5642 #define XSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x1
5643 #define XSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 5
5644 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF8EN_MASK 0x1
5645 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF8EN_SHIFT 6
5646 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF9EN_MASK 0x1
5647 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF9EN_SHIFT 7
5649 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF10EN_MASK 0x1
5650 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF10EN_SHIFT 0
5651 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF11EN_MASK 0x1
5652 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF11EN_SHIFT 1
5653 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF12EN_MASK 0x1
5654 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF12EN_SHIFT 2
5655 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF13EN_MASK 0x1
5656 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF13EN_SHIFT 3
5657 #define XSTORM_ROCE_REQ_CONN_AG_CTX_FME_ENDED_CF_EN_MASK 0x1
5658 #define XSTORM_ROCE_REQ_CONN_AG_CTX_FME_ENDED_CF_EN_SHIFT 4
5659 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF15EN_MASK 0x1
5660 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF15EN_SHIFT 5
5661 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF16EN_MASK 0x1
5662 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF16EN_SHIFT 6
5663 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF17EN_MASK 0x1
5664 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF17EN_SHIFT 7
5666 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF18EN_MASK 0x1
5667 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF18EN_SHIFT 0
5668 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF19EN_MASK 0x1
5669 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF19EN_SHIFT 1
5670 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF20EN_MASK 0x1
5671 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF20EN_SHIFT 2
5672 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF21EN_MASK 0x1
5673 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF21EN_SHIFT 3
5674 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1
5675 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
5676 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF23EN_MASK 0x1
5677 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF23EN_SHIFT 5
5678 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_MASK 0x1
5679 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_SHIFT 6
5680 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_MASK 0x1
5681 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_SHIFT 7
5683 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_MASK 0x1
5684 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_SHIFT 0
5685 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_MASK 0x1
5686 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_SHIFT 1
5687 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_MASK 0x1
5688 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_SHIFT 2
5689 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_MASK 0x1
5690 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_SHIFT 3
5691 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE6EN_MASK 0x1
5692 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE6EN_SHIFT 4
5693 #define XSTORM_ROCE_REQ_CONN_AG_CTX_E2E_CREDIT_RULE_EN_MASK 0x1
5694 #define XSTORM_ROCE_REQ_CONN_AG_CTX_E2E_CREDIT_RULE_EN_SHIFT 5
5695 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED1_MASK 0x1
5696 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
5697 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE9EN_MASK 0x1
5698 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE9EN_SHIFT 7
5700 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_PROD_EN_MASK 0x1
5701 #define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_PROD_EN_SHIFT 0
5702 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE11EN_MASK 0x1
5703 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE11EN_SHIFT 1
5704 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED2_MASK 0x1
5705 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
5706 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED3_MASK 0x1
5707 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
5708 #define XSTORM_ROCE_REQ_CONN_AG_CTX_INV_FENCE_RULE_EN_MASK 0x1
5709 #define XSTORM_ROCE_REQ_CONN_AG_CTX_INV_FENCE_RULE_EN_SHIFT 4
5710 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE15EN_MASK 0x1
5711 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE15EN_SHIFT 5
5712 #define XSTORM_ROCE_REQ_CONN_AG_CTX_ORQ_FENCE_RULE_EN_MASK 0x1
5713 #define XSTORM_ROCE_REQ_CONN_AG_CTX_ORQ_FENCE_RULE_EN_SHIFT 6
5714 #define XSTORM_ROCE_REQ_CONN_AG_CTX_MAX_ORD_RULE_EN_MASK 0x1
5715 #define XSTORM_ROCE_REQ_CONN_AG_CTX_MAX_ORD_RULE_EN_SHIFT 7
5717 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE18EN_MASK 0x1
5718 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE18EN_SHIFT 0
5719 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE19EN_MASK 0x1
5720 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE19EN_SHIFT 1
5721 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED4_MASK 0x1
5722 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED4_SHIFT 2
5723 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED5_MASK 0x1
5724 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED5_SHIFT 3
5725 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED6_MASK 0x1
5726 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
5727 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED7_MASK 0x1
5728 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED7_SHIFT 5
5729 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED8_MASK 0x1
5730 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
5731 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED9_MASK 0x1
5732 #define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
5734 #define XSTORM_ROCE_REQ_CONN_AG_CTX_MIGRATION_FLAG_MASK 0x1
5735 #define XSTORM_ROCE_REQ_CONN_AG_CTX_MIGRATION_FLAG_SHIFT 0
5736 #define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT17_MASK 0x1
5737 #define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT17_SHIFT 1
5738 #define XSTORM_ROCE_REQ_CONN_AG_CTX_DPM_PORT_NUM_MASK 0x3
5739 #define XSTORM_ROCE_REQ_CONN_AG_CTX_DPM_PORT_NUM_SHIFT 2
5740 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED_MASK 0x1
5741 #define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED_SHIFT 4
5742 #define XSTORM_ROCE_REQ_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK 0x1
5743 #define XSTORM_ROCE_REQ_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT 5
5744 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF23_MASK 0x3
5745 #define XSTORM_ROCE_REQ_CONN_AG_CTX_CF23_SHIFT 6
5767 struct xstorm_roce_resp_conn_ag_ctx {
5771 #define XSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
5772 #define XSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
5773 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED1_MASK 0x1
5774 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED1_SHIFT 1
5775 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED2_MASK 0x1
5776 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED2_SHIFT 2
5777 #define XSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1
5778 #define XSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
5779 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED3_MASK 0x1
5780 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED3_SHIFT 4
5781 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED4_MASK 0x1
5782 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED4_SHIFT 5
5783 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED5_MASK 0x1
5784 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED5_SHIFT 6
5785 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED6_MASK 0x1
5786 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED6_SHIFT 7
5788 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED7_MASK 0x1
5789 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED7_SHIFT 0
5790 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED8_MASK 0x1
5791 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED8_SHIFT 1
5792 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT10_MASK 0x1
5793 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT10_SHIFT 2
5794 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT11_MASK 0x1
5795 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT11_SHIFT 3
5796 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT12_MASK 0x1
5797 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT12_SHIFT 4
5798 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT13_MASK 0x1
5799 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT13_SHIFT 5
5800 #define XSTORM_ROCE_RESP_CONN_AG_CTX_ERROR_STATE_MASK 0x1
5801 #define XSTORM_ROCE_RESP_CONN_AG_CTX_ERROR_STATE_SHIFT 6
5802 #define XSTORM_ROCE_RESP_CONN_AG_CTX_YSTORM_FLUSH_MASK 0x1
5803 #define XSTORM_ROCE_RESP_CONN_AG_CTX_YSTORM_FLUSH_SHIFT 7
5805 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF0_MASK 0x3
5806 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF0_SHIFT 0
5807 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF1_MASK 0x3
5808 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF1_SHIFT 2
5809 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF2_MASK 0x3
5810 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF2_SHIFT 4
5811 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF3_MASK 0x3
5812 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF3_SHIFT 6
5814 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RXMIT_CF_MASK 0x3
5815 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RXMIT_CF_SHIFT 0
5816 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_MASK 0x3
5817 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_SHIFT 2
5818 #define XSTORM_ROCE_RESP_CONN_AG_CTX_FORCE_ACK_CF_MASK 0x3
5819 #define XSTORM_ROCE_RESP_CONN_AG_CTX_FORCE_ACK_CF_SHIFT 4
5820 #define XSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x3
5821 #define XSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 6
5823 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF8_MASK 0x3
5824 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF8_SHIFT 0
5825 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF9_MASK 0x3
5826 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF9_SHIFT 2
5827 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF10_MASK 0x3
5828 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF10_SHIFT 4
5829 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF11_MASK 0x3
5830 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF11_SHIFT 6
5832 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF12_MASK 0x3
5833 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF12_SHIFT 0
5834 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF13_MASK 0x3
5835 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF13_SHIFT 2
5836 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF14_MASK 0x3
5837 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF14_SHIFT 4
5838 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF15_MASK 0x3
5839 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF15_SHIFT 6
5841 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF16_MASK 0x3
5842 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF16_SHIFT 0
5843 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF17_MASK 0x3
5844 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF17_SHIFT 2
5845 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF18_MASK 0x3
5846 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF18_SHIFT 4
5847 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF19_MASK 0x3
5848 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF19_SHIFT 6
5850 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF20_MASK 0x3
5851 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF20_SHIFT 0
5852 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF21_MASK 0x3
5853 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF21_SHIFT 2
5854 #define XSTORM_ROCE_RESP_CONN_AG_CTX_SLOW_PATH_MASK 0x3
5855 #define XSTORM_ROCE_RESP_CONN_AG_CTX_SLOW_PATH_SHIFT 4
5856 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_MASK 0x1
5857 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_SHIFT 6
5858 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_MASK 0x1
5859 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_SHIFT 7
5861 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_MASK 0x1
5862 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_SHIFT 0
5863 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_MASK 0x1
5864 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_SHIFT 1
5865 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RXMIT_CF_EN_MASK 0x1
5866 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RXMIT_CF_EN_SHIFT 2
5867 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_EN_MASK 0x1
5868 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_EN_SHIFT 3
5869 #define XSTORM_ROCE_RESP_CONN_AG_CTX_FORCE_ACK_CF_EN_MASK 0x1
5870 #define XSTORM_ROCE_RESP_CONN_AG_CTX_FORCE_ACK_CF_EN_SHIFT 4
5871 #define XSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x1
5872 #define XSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 5
5873 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF8EN_MASK 0x1
5874 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF8EN_SHIFT 6
5875 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF9EN_MASK 0x1
5876 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF9EN_SHIFT 7
5878 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF10EN_MASK 0x1
5879 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF10EN_SHIFT 0
5880 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF11EN_MASK 0x1
5881 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF11EN_SHIFT 1
5882 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF12EN_MASK 0x1
5883 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF12EN_SHIFT 2
5884 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF13EN_MASK 0x1
5885 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF13EN_SHIFT 3
5886 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF14EN_MASK 0x1
5887 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF14EN_SHIFT 4
5888 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF15EN_MASK 0x1
5889 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF15EN_SHIFT 5
5890 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF16EN_MASK 0x1
5891 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF16EN_SHIFT 6
5892 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF17EN_MASK 0x1
5893 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF17EN_SHIFT 7
5895 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF18EN_MASK 0x1
5896 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF18EN_SHIFT 0
5897 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF19EN_MASK 0x1
5898 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF19EN_SHIFT 1
5899 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF20EN_MASK 0x1
5900 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF20EN_SHIFT 2
5901 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF21EN_MASK 0x1
5902 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF21EN_SHIFT 3
5903 #define XSTORM_ROCE_RESP_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1
5904 #define XSTORM_ROCE_RESP_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
5905 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF23EN_MASK 0x1
5906 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF23EN_SHIFT 5
5907 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_MASK 0x1
5908 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_SHIFT 6
5909 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_MASK 0x1
5910 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_SHIFT 7
5912 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_MASK 0x1
5913 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_SHIFT 0
5914 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_MASK 0x1
5915 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_SHIFT 1
5916 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_MASK 0x1
5917 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_SHIFT 2
5918 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_MASK 0x1
5919 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_SHIFT 3
5920 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE6EN_MASK 0x1
5921 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE6EN_SHIFT 4
5922 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_MASK 0x1
5923 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_SHIFT 5
5924 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED1_MASK 0x1
5925 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
5926 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE9EN_MASK 0x1
5927 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE9EN_SHIFT 7
5929 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE10EN_MASK 0x1
5930 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE10EN_SHIFT 0
5931 #define XSTORM_ROCE_RESP_CONN_AG_CTX_IRQ_PROD_RULE_EN_MASK 0x1
5932 #define XSTORM_ROCE_RESP_CONN_AG_CTX_IRQ_PROD_RULE_EN_SHIFT 1
5933 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED2_MASK 0x1
5934 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
5935 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED3_MASK 0x1
5936 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
5937 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE14EN_MASK 0x1
5938 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE14EN_SHIFT 4
5939 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE15EN_MASK 0x1
5940 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE15EN_SHIFT 5
5941 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE16EN_MASK 0x1
5942 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE16EN_SHIFT 6
5943 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE17EN_MASK 0x1
5944 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE17EN_SHIFT 7
5946 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE18EN_MASK 0x1
5947 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE18EN_SHIFT 0
5948 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE19EN_MASK 0x1
5949 #define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE19EN_SHIFT 1
5950 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED4_MASK 0x1
5951 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED4_SHIFT 2
5952 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED5_MASK 0x1
5953 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED5_SHIFT 3
5954 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED6_MASK 0x1
5955 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
5956 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED7_MASK 0x1
5957 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED7_SHIFT 5
5958 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED8_MASK 0x1
5959 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
5960 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED9_MASK 0x1
5961 #define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
5963 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT16_MASK 0x1
5964 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT16_SHIFT 0
5965 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT17_MASK 0x1
5966 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT17_SHIFT 1
5967 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT18_MASK 0x1
5968 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT18_SHIFT 2
5969 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT19_MASK 0x1
5970 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT19_SHIFT 3
5971 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT20_MASK 0x1
5972 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT20_SHIFT 4
5973 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT21_MASK 0x1
5974 #define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT21_SHIFT 5
5975 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF23_MASK 0x3
5976 #define XSTORM_ROCE_RESP_CONN_AG_CTX_CF23_SHIFT 6
5989 __le32 rxmit_psn_and_id;
5990 __le32 rxmit_bytes_length;
5995 __le32 msn_and_syndrome;
5998 struct ystorm_roce_req_conn_ag_ctx {
6002 #define YSTORM_ROCE_REQ_CONN_AG_CTX_BIT0_MASK 0x1
6003 #define YSTORM_ROCE_REQ_CONN_AG_CTX_BIT0_SHIFT 0
6004 #define YSTORM_ROCE_REQ_CONN_AG_CTX_BIT1_MASK 0x1
6005 #define YSTORM_ROCE_REQ_CONN_AG_CTX_BIT1_SHIFT 1
6006 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF0_MASK 0x3
6007 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF0_SHIFT 2
6008 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF1_MASK 0x3
6009 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF1_SHIFT 4
6010 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF2_MASK 0x3
6011 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF2_SHIFT 6
6013 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_MASK 0x1
6014 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_SHIFT 0
6015 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_MASK 0x1
6016 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_SHIFT 1
6017 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_MASK 0x1
6018 #define YSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_SHIFT 2
6019 #define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_MASK 0x1
6020 #define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_SHIFT 3
6021 #define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_MASK 0x1
6022 #define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_SHIFT 4
6023 #define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_MASK 0x1
6024 #define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_SHIFT 5
6025 #define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_MASK 0x1
6026 #define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_SHIFT 6
6027 #define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_MASK 0x1
6028 #define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_SHIFT 7
6042 struct ystorm_roce_resp_conn_ag_ctx {
6046 #define YSTORM_ROCE_RESP_CONN_AG_CTX_BIT0_MASK 0x1
6047 #define YSTORM_ROCE_RESP_CONN_AG_CTX_BIT0_SHIFT 0
6048 #define YSTORM_ROCE_RESP_CONN_AG_CTX_BIT1_MASK 0x1
6049 #define YSTORM_ROCE_RESP_CONN_AG_CTX_BIT1_SHIFT 1
6050 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF0_MASK 0x3
6051 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF0_SHIFT 2
6052 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF1_MASK 0x3
6053 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF1_SHIFT 4
6054 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF2_MASK 0x3
6055 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF2_SHIFT 6
6057 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_MASK 0x1
6058 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_SHIFT 0
6059 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_MASK 0x1
6060 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_SHIFT 1
6061 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_MASK 0x1
6062 #define YSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_SHIFT 2
6063 #define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_MASK 0x1
6064 #define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_SHIFT 3
6065 #define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_MASK 0x1
6066 #define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_SHIFT 4
6067 #define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_MASK 0x1
6068 #define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_SHIFT 5
6069 #define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_MASK 0x1
6070 #define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_SHIFT 6
6071 #define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_MASK 0x1
6072 #define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_SHIFT 7
6086 struct ystorm_iscsi_conn_st_ctx {
6090 struct pstorm_iscsi_tcp_conn_st_ctx {
6095 struct xstorm_iscsi_tcp_conn_st_ctx {
6096 __le32 reserved_iscsi[40];
6097 __le32 reserved_tcp[4];
6100 struct xstorm_iscsi_conn_ag_ctx {
6104 #define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
6105 #define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
6106 #define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_MASK 0x1
6107 #define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_SHIFT 1
6108 #define XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_MASK 0x1
6109 #define XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_SHIFT 2
6110 #define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1
6111 #define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3
6112 #define XSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x1
6113 #define XSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 4
6114 #define XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_MASK 0x1
6115 #define XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_SHIFT 5
6116 #define XSTORM_ISCSI_CONN_AG_CTX_BIT6_MASK 0x1
6117 #define XSTORM_ISCSI_CONN_AG_CTX_BIT6_SHIFT 6
6118 #define XSTORM_ISCSI_CONN_AG_CTX_BIT7_MASK 0x1
6119 #define XSTORM_ISCSI_CONN_AG_CTX_BIT7_SHIFT 7
6121 #define XSTORM_ISCSI_CONN_AG_CTX_BIT8_MASK 0x1
6122 #define XSTORM_ISCSI_CONN_AG_CTX_BIT8_SHIFT 0
6123 #define XSTORM_ISCSI_CONN_AG_CTX_BIT9_MASK 0x1
6124 #define XSTORM_ISCSI_CONN_AG_CTX_BIT9_SHIFT 1
6125 #define XSTORM_ISCSI_CONN_AG_CTX_BIT10_MASK 0x1
6126 #define XSTORM_ISCSI_CONN_AG_CTX_BIT10_SHIFT 2
6127 #define XSTORM_ISCSI_CONN_AG_CTX_BIT11_MASK 0x1
6128 #define XSTORM_ISCSI_CONN_AG_CTX_BIT11_SHIFT 3
6129 #define XSTORM_ISCSI_CONN_AG_CTX_BIT12_MASK 0x1
6130 #define XSTORM_ISCSI_CONN_AG_CTX_BIT12_SHIFT 4
6131 #define XSTORM_ISCSI_CONN_AG_CTX_BIT13_MASK 0x1
6132 #define XSTORM_ISCSI_CONN_AG_CTX_BIT13_SHIFT 5
6133 #define XSTORM_ISCSI_CONN_AG_CTX_BIT14_MASK 0x1
6134 #define XSTORM_ISCSI_CONN_AG_CTX_BIT14_SHIFT 6
6135 #define XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_MASK 0x1
6136 #define XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_SHIFT 7
6138 #define XSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3
6139 #define XSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 0
6140 #define XSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3
6141 #define XSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 2
6142 #define XSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3
6143 #define XSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 4
6144 #define XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3
6145 #define XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 6
6147 #define XSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3
6148 #define XSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 0
6149 #define XSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3
6150 #define XSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 2
6151 #define XSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3
6152 #define XSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 4
6153 #define XSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x3
6154 #define XSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 6
6156 #define XSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x3
6157 #define XSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 0
6158 #define XSTORM_ISCSI_CONN_AG_CTX_CF9_MASK 0x3
6159 #define XSTORM_ISCSI_CONN_AG_CTX_CF9_SHIFT 2
6160 #define XSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3
6161 #define XSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 4
6162 #define XSTORM_ISCSI_CONN_AG_CTX_CF11_MASK 0x3
6163 #define XSTORM_ISCSI_CONN_AG_CTX_CF11_SHIFT 6
6165 #define XSTORM_ISCSI_CONN_AG_CTX_CF12_MASK 0x3
6166 #define XSTORM_ISCSI_CONN_AG_CTX_CF12_SHIFT 0
6167 #define XSTORM_ISCSI_CONN_AG_CTX_CF13_MASK 0x3
6168 #define XSTORM_ISCSI_CONN_AG_CTX_CF13_SHIFT 2
6169 #define XSTORM_ISCSI_CONN_AG_CTX_CF14_MASK 0x3
6170 #define XSTORM_ISCSI_CONN_AG_CTX_CF14_SHIFT 4
6171 #define XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_MASK 0x3
6172 #define XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_SHIFT 6
6174 #define XSTORM_ISCSI_CONN_AG_CTX_CF16_MASK 0x3
6175 #define XSTORM_ISCSI_CONN_AG_CTX_CF16_SHIFT 0
6176 #define XSTORM_ISCSI_CONN_AG_CTX_CF17_MASK 0x3
6177 #define XSTORM_ISCSI_CONN_AG_CTX_CF17_SHIFT 2
6178 #define XSTORM_ISCSI_CONN_AG_CTX_CF18_MASK 0x3
6179 #define XSTORM_ISCSI_CONN_AG_CTX_CF18_SHIFT 4
6180 #define XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_MASK 0x3
6181 #define XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_SHIFT 6
6183 #define XSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK 0x3
6184 #define XSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
6185 #define XSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q1_MASK 0x3
6186 #define XSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q1_SHIFT 2
6187 #define XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_MASK 0x3
6188 #define XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_SHIFT 4
6189 #define XSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1
6190 #define XSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 6
6191 #define XSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1
6192 #define XSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 7
6194 #define XSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1
6195 #define XSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 0
6196 #define XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1
6197 #define XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 1
6198 #define XSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1
6199 #define XSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 2
6200 #define XSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1
6201 #define XSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 3
6202 #define XSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1
6203 #define XSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 4
6204 #define XSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x1
6205 #define XSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 5
6206 #define XSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x1
6207 #define XSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 6
6208 #define XSTORM_ISCSI_CONN_AG_CTX_CF9EN_MASK 0x1
6209 #define XSTORM_ISCSI_CONN_AG_CTX_CF9EN_SHIFT 7
6211 #define XSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1
6212 #define XSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 0
6213 #define XSTORM_ISCSI_CONN_AG_CTX_CF11EN_MASK 0x1
6214 #define XSTORM_ISCSI_CONN_AG_CTX_CF11EN_SHIFT 1
6215 #define XSTORM_ISCSI_CONN_AG_CTX_CF12EN_MASK 0x1
6216 #define XSTORM_ISCSI_CONN_AG_CTX_CF12EN_SHIFT 2
6217 #define XSTORM_ISCSI_CONN_AG_CTX_CF13EN_MASK 0x1
6218 #define XSTORM_ISCSI_CONN_AG_CTX_CF13EN_SHIFT 3
6219 #define XSTORM_ISCSI_CONN_AG_CTX_CF14EN_MASK 0x1
6220 #define XSTORM_ISCSI_CONN_AG_CTX_CF14EN_SHIFT 4
6221 #define XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_MASK 0x1
6222 #define XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_SHIFT 5
6223 #define XSTORM_ISCSI_CONN_AG_CTX_CF16EN_MASK 0x1
6224 #define XSTORM_ISCSI_CONN_AG_CTX_CF16EN_SHIFT 6
6225 #define XSTORM_ISCSI_CONN_AG_CTX_CF17EN_MASK 0x1
6226 #define XSTORM_ISCSI_CONN_AG_CTX_CF17EN_SHIFT 7
6228 #define XSTORM_ISCSI_CONN_AG_CTX_CF18EN_MASK 0x1
6229 #define XSTORM_ISCSI_CONN_AG_CTX_CF18EN_SHIFT 0
6230 #define XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_MASK 0x1
6231 #define XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT 1
6232 #define XSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1
6233 #define XSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 2
6234 #define XSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q1_EN_MASK 0x1
6235 #define XSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q1_EN_SHIFT 3
6236 #define XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1
6237 #define XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4
6238 #define XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_MASK 0x1
6239 #define XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_SHIFT 5
6240 #define XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1
6241 #define XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 6
6242 #define XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_MASK 0x1
6243 #define XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_SHIFT 7
6245 #define XSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1
6246 #define XSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 0
6247 #define XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1
6248 #define XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 1
6249 #define XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_MASK 0x1
6250 #define XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_SHIFT 2
6251 #define XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1
6252 #define XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 3
6253 #define XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1
6254 #define XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 4
6255 #define XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1
6256 #define XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 5
6257 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_MASK 0x1
6258 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_SHIFT 6
6259 #define XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_MASK 0x1
6260 #define XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_SHIFT 7
6262 #define XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_MASK 0x1
6263 #define XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_SHIFT 0
6264 #define XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_MASK 0x1
6265 #define XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_SHIFT 1
6266 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_MASK 0x1
6267 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_SHIFT 2
6268 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_MASK 0x1
6269 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_SHIFT 3
6270 #define XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_MASK 0x1
6271 #define XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_SHIFT 4
6272 #define XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_MASK 0x1
6273 #define XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_SHIFT 5
6274 #define XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_MASK 0x1
6275 #define XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_SHIFT 6
6276 #define XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_MASK 0x1
6277 #define XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_SHIFT 7
6279 #define XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_MASK 0x1
6280 #define XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_SHIFT 0
6281 #define XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_MASK 0x1
6282 #define XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_SHIFT 1
6283 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_MASK 0x1
6284 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_SHIFT 2
6285 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_MASK 0x1
6286 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_SHIFT 3
6287 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_MASK 0x1
6288 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_SHIFT 4
6289 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_MASK 0x1
6290 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_SHIFT 5
6291 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_MASK 0x1
6292 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_SHIFT 6
6293 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_MASK 0x1
6294 #define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_SHIFT 7
6296 #define XSTORM_ISCSI_CONN_AG_CTX_BIT16_MASK 0x1
6297 #define XSTORM_ISCSI_CONN_AG_CTX_BIT16_SHIFT 0
6298 #define XSTORM_ISCSI_CONN_AG_CTX_BIT17_MASK 0x1
6299 #define XSTORM_ISCSI_CONN_AG_CTX_BIT17_SHIFT 1
6300 #define XSTORM_ISCSI_CONN_AG_CTX_BIT18_MASK 0x1
6301 #define XSTORM_ISCSI_CONN_AG_CTX_BIT18_SHIFT 2
6302 #define XSTORM_ISCSI_CONN_AG_CTX_BIT19_MASK 0x1
6303 #define XSTORM_ISCSI_CONN_AG_CTX_BIT19_SHIFT 3
6304 #define XSTORM_ISCSI_CONN_AG_CTX_BIT20_MASK 0x1
6305 #define XSTORM_ISCSI_CONN_AG_CTX_BIT20_SHIFT 4
6306 #define XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_MASK 0x1
6307 #define XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_SHIFT 5
6308 #define XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_MASK 0x3
6309 #define XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_SHIFT 6
6313 __le16 dummy_dorq_var;
6317 __le16 slow_io_total_data_tx_update;
6325 __le32 more_to_send_seq;
6328 __le32 hq_scan_next_relevant_ack;
6334 __le32 bytes_to_next_pdu;
6357 struct tstorm_iscsi_conn_ag_ctx {
6361 #define TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1
6362 #define TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
6363 #define TSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1
6364 #define TSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
6365 #define TSTORM_ISCSI_CONN_AG_CTX_BIT2_MASK 0x1
6366 #define TSTORM_ISCSI_CONN_AG_CTX_BIT2_SHIFT 2
6367 #define TSTORM_ISCSI_CONN_AG_CTX_BIT3_MASK 0x1
6368 #define TSTORM_ISCSI_CONN_AG_CTX_BIT3_SHIFT 3
6369 #define TSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x1
6370 #define TSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 4
6371 #define TSTORM_ISCSI_CONN_AG_CTX_BIT5_MASK 0x1
6372 #define TSTORM_ISCSI_CONN_AG_CTX_BIT5_SHIFT 5
6373 #define TSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3
6374 #define TSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 6
6376 #define TSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3
6377 #define TSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 0
6378 #define TSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3
6379 #define TSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 2
6380 #define TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3
6381 #define TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 4
6382 #define TSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3
6383 #define TSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 6
6385 #define TSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3
6386 #define TSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 0
6387 #define TSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3
6388 #define TSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 2
6389 #define TSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x3
6390 #define TSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 4
6391 #define TSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x3
6392 #define TSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 6
6394 #define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK 0x3
6395 #define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT 0
6396 #define TSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3
6397 #define TSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 2
6398 #define TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1
6399 #define TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 4
6400 #define TSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1
6401 #define TSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 5
6402 #define TSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1
6403 #define TSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 6
6404 #define TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1
6405 #define TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7
6407 #define TSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1
6408 #define TSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 0
6409 #define TSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1
6410 #define TSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 1
6411 #define TSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1
6412 #define TSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 2
6413 #define TSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x1
6414 #define TSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 3
6415 #define TSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x1
6416 #define TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 4
6417 #define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1
6418 #define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 5
6419 #define TSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1
6420 #define TSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 6
6421 #define TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1
6422 #define TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7
6424 #define TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1
6425 #define TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0
6426 #define TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1
6427 #define TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1
6428 #define TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1
6429 #define TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2
6430 #define TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1
6431 #define TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3
6432 #define TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1
6433 #define TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4
6434 #define TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1
6435 #define TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5
6436 #define TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1
6437 #define TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6
6438 #define TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1
6439 #define TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7
6454 struct ustorm_iscsi_conn_ag_ctx {
6458 #define USTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1
6459 #define USTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0
6460 #define USTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1
6461 #define USTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
6462 #define USTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3
6463 #define USTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2
6464 #define USTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3
6465 #define USTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4
6466 #define USTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3
6467 #define USTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6
6469 #define USTORM_ISCSI_CONN_AG_CTX_CF3_MASK 0x3
6470 #define USTORM_ISCSI_CONN_AG_CTX_CF3_SHIFT 0
6471 #define USTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3
6472 #define USTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 2
6473 #define USTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3
6474 #define USTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 4
6475 #define USTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3
6476 #define USTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 6
6478 #define USTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1
6479 #define USTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0
6480 #define USTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1
6481 #define USTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1
6482 #define USTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1
6483 #define USTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2
6484 #define USTORM_ISCSI_CONN_AG_CTX_CF3EN_MASK 0x1
6485 #define USTORM_ISCSI_CONN_AG_CTX_CF3EN_SHIFT 3
6486 #define USTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1
6487 #define USTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 4
6488 #define USTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1
6489 #define USTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 5
6490 #define USTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1
6491 #define USTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 6
6492 #define USTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1
6493 #define USTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7
6495 #define USTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1
6496 #define USTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0
6497 #define USTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1
6498 #define USTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1
6499 #define USTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1
6500 #define USTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2
6501 #define USTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1
6502 #define USTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3
6503 #define USTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1
6504 #define USTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4
6505 #define USTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1
6506 #define USTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5
6507 #define USTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1
6508 #define USTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6
6509 #define USTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1
6510 #define USTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7
6523 struct tstorm_iscsi_conn_st_ctx {
6524 __le32 reserved[40];
6527 struct mstorm_iscsi_conn_ag_ctx {
6531 #define MSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1
6532 #define MSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0
6533 #define MSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1
6534 #define MSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
6535 #define MSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3
6536 #define MSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2
6537 #define MSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3
6538 #define MSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4
6539 #define MSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3
6540 #define MSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6
6542 #define MSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1
6543 #define MSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0
6544 #define MSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1
6545 #define MSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1
6546 #define MSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1
6547 #define MSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2
6548 #define MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1
6549 #define MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
6550 #define MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1
6551 #define MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
6552 #define MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1
6553 #define MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
6554 #define MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1
6555 #define MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
6556 #define MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1
6557 #define MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
6564 struct mstorm_iscsi_tcp_conn_st_ctx {
6565 __le32 reserved_tcp[20];
6566 __le32 reserved_iscsi[8];
6569 struct ustorm_iscsi_conn_st_ctx {
6570 __le32 reserved[52];
6573 struct iscsi_conn_context {
6574 struct ystorm_iscsi_conn_st_ctx ystorm_st_context;
6575 struct regpair ystorm_st_padding[2];
6576 struct pstorm_iscsi_tcp_conn_st_ctx pstorm_st_context;
6577 struct regpair pstorm_st_padding[2];
6578 struct pb_context xpb2_context;
6579 struct xstorm_iscsi_tcp_conn_st_ctx xstorm_st_context;
6580 struct regpair xstorm_st_padding[2];
6581 struct xstorm_iscsi_conn_ag_ctx xstorm_ag_context;
6582 struct tstorm_iscsi_conn_ag_ctx tstorm_ag_context;
6583 struct regpair tstorm_ag_padding[2];
6584 struct timers_context timer_context;
6585 struct ustorm_iscsi_conn_ag_ctx ustorm_ag_context;
6586 struct pb_context upb_context;
6587 struct tstorm_iscsi_conn_st_ctx tstorm_st_context;
6588 struct regpair tstorm_st_padding[2];
6589 struct mstorm_iscsi_conn_ag_ctx mstorm_ag_context;
6590 struct mstorm_iscsi_tcp_conn_st_ctx mstorm_st_context;
6591 struct ustorm_iscsi_conn_st_ctx ustorm_st_context;
6594 struct iscsi_init_ramrod_params {
6595 struct iscsi_spe_func_init iscsi_init_spe;
6596 struct tcp_init_params tcp_init;
6599 struct ystorm_iscsi_conn_ag_ctx {
6603 #define YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1
6604 #define YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0
6605 #define YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1
6606 #define YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1
6607 #define YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3
6608 #define YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2
6609 #define YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3
6610 #define YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4
6611 #define YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3
6612 #define YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6
6614 #define YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1
6615 #define YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0
6616 #define YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1
6617 #define YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1
6618 #define YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1
6619 #define YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2
6620 #define YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1
6621 #define YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
6622 #define YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1
6623 #define YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
6624 #define YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1
6625 #define YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
6626 #define YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1
6627 #define YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
6628 #define YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1
6629 #define YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
6642 #define VF_MAX_STATIC 192
6644 #define MCP_GLOB_PATH_MAX 2
6645 #define MCP_PORT_MAX 2
6646 #define MCP_GLOB_PORT_MAX 4
6647 #define MCP_GLOB_FUNC_MAX 16
6649 /* Offset from the beginning of the MCP scratchpad */
6650 #define OFFSIZE_OFFSET_SHIFT 0
6651 #define OFFSIZE_OFFSET_MASK 0x0000ffff
6652 /* Size of specific element (not the whole array if any) */
6653 #define OFFSIZE_SIZE_SHIFT 16
6654 #define OFFSIZE_SIZE_MASK 0xffff0000
6656 #define SECTION_OFFSET(_offsize) ((((_offsize & \
6657 OFFSIZE_OFFSET_MASK) >> \
6658 OFFSIZE_OFFSET_SHIFT) << 2))
6660 #define QED_SECTION_SIZE(_offsize) (((_offsize & \
6661 OFFSIZE_SIZE_MASK) >> \
6662 OFFSIZE_SIZE_SHIFT) << 2)
6664 #define SECTION_ADDR(_offsize, idx) (MCP_REG_SCRATCH + \
6665 SECTION_OFFSET(_offsize) + \
6666 (QED_SECTION_SIZE(_offsize) * idx))
6668 #define SECTION_OFFSIZE_ADDR(_pub_base, _section) \
6669 (_pub_base + offsetof(struct mcp_public_data, sections[_section]))
6671 /* PHY configuration */
6672 struct eth_phy_cfg {
6674 #define ETH_SPEED_AUTONEG 0
6675 #define ETH_SPEED_SMARTLINQ 0x8
6678 #define ETH_PAUSE_NONE 0x0
6679 #define ETH_PAUSE_AUTONEG 0x1
6680 #define ETH_PAUSE_RX 0x2
6681 #define ETH_PAUSE_TX 0x4
6685 #define ETH_LOOPBACK_NONE (0)
6686 #define ETH_LOOPBACK_INT_PHY (1)
6687 #define ETH_LOOPBACK_EXT_PHY (2)
6688 #define ETH_LOOPBACK_EXT (3)
6689 #define ETH_LOOPBACK_MAC (4)
6691 u32 feature_config_flags;
6692 #define ETH_EEE_MODE_ADV_LPI (1 << 0)
6695 struct port_mf_cfg {
6697 #define PORT_MF_CFG_OV_TAG_MASK 0x0000ffff
6698 #define PORT_MF_CFG_OV_TAG_SHIFT 0
6699 #define PORT_MF_CFG_OV_TAG_DEFAULT PORT_MF_CFG_OV_TAG_MASK
6753 u64 brb_truncate[8];
6758 struct brb_stats brb;
6759 struct eth_stats eth;
6762 struct couple_mode_teaming {
6763 u8 port_cmt[MCP_GLOB_PORT_MAX];
6764 #define PORT_CMT_IN_TEAM (1 << 0)
6766 #define PORT_CMT_PORT_ROLE (1 << 1)
6767 #define PORT_CMT_PORT_INACTIVE (0 << 1)
6768 #define PORT_CMT_PORT_ACTIVE (1 << 1)
6770 #define PORT_CMT_TEAM_MASK (1 << 2)
6771 #define PORT_CMT_TEAM0 (0 << 2)
6772 #define PORT_CMT_TEAM1 (1 << 2)
6775 #define LLDP_CHASSIS_ID_STAT_LEN 4
6776 #define LLDP_PORT_ID_STAT_LEN 4
6777 #define DCBX_MAX_APP_PROTOCOL 32
6778 #define MAX_SYSTEM_LLDP_TLV_DATA 32
6781 LLDP_NEAREST_BRIDGE = 0,
6782 LLDP_NEAREST_NON_TPMR_BRIDGE,
6783 LLDP_NEAREST_CUSTOMER_BRIDGE,
6784 LLDP_MAX_LLDP_AGENTS
6787 struct lldp_config_params_s {
6789 #define LLDP_CONFIG_TX_INTERVAL_MASK 0x000000ff
6790 #define LLDP_CONFIG_TX_INTERVAL_SHIFT 0
6791 #define LLDP_CONFIG_HOLD_MASK 0x00000f00
6792 #define LLDP_CONFIG_HOLD_SHIFT 8
6793 #define LLDP_CONFIG_MAX_CREDIT_MASK 0x0000f000
6794 #define LLDP_CONFIG_MAX_CREDIT_SHIFT 12
6795 #define LLDP_CONFIG_ENABLE_RX_MASK 0x40000000
6796 #define LLDP_CONFIG_ENABLE_RX_SHIFT 30
6797 #define LLDP_CONFIG_ENABLE_TX_MASK 0x80000000
6798 #define LLDP_CONFIG_ENABLE_TX_SHIFT 31
6799 u32 local_chassis_id[LLDP_CHASSIS_ID_STAT_LEN];
6800 u32 local_port_id[LLDP_PORT_ID_STAT_LEN];
6803 struct lldp_status_params_s {
6806 u32 peer_chassis_id[LLDP_CHASSIS_ID_STAT_LEN];
6807 u32 peer_port_id[LLDP_PORT_ID_STAT_LEN];
6811 struct dcbx_ets_feature {
6813 #define DCBX_ETS_ENABLED_MASK 0x00000001
6814 #define DCBX_ETS_ENABLED_SHIFT 0
6815 #define DCBX_ETS_WILLING_MASK 0x00000002
6816 #define DCBX_ETS_WILLING_SHIFT 1
6817 #define DCBX_ETS_ERROR_MASK 0x00000004
6818 #define DCBX_ETS_ERROR_SHIFT 2
6819 #define DCBX_ETS_CBS_MASK 0x00000008
6820 #define DCBX_ETS_CBS_SHIFT 3
6821 #define DCBX_ETS_MAX_TCS_MASK 0x000000f0
6822 #define DCBX_ETS_MAX_TCS_SHIFT 4
6823 #define DCBX_ISCSI_OOO_TC_MASK 0x00000f00
6824 #define DCBX_ISCSI_OOO_TC_SHIFT 8
6826 #define DCBX_ISCSI_OOO_TC (4)
6828 #define NIG_ETS_ISCSI_OOO_CLIENT_OFFSET (DCBX_ISCSI_OOO_TC + 1)
6829 #define DCBX_CEE_STRICT_PRIORITY 0xf
6832 #define DCBX_ETS_TSA_STRICT 0
6833 #define DCBX_ETS_TSA_CBS 1
6834 #define DCBX_ETS_TSA_ETS 2
6837 struct dcbx_app_priority_entry {
6839 #define DCBX_APP_PRI_MAP_MASK 0x000000ff
6840 #define DCBX_APP_PRI_MAP_SHIFT 0
6841 #define DCBX_APP_PRI_0 0x01
6842 #define DCBX_APP_PRI_1 0x02
6843 #define DCBX_APP_PRI_2 0x04
6844 #define DCBX_APP_PRI_3 0x08
6845 #define DCBX_APP_PRI_4 0x10
6846 #define DCBX_APP_PRI_5 0x20
6847 #define DCBX_APP_PRI_6 0x40
6848 #define DCBX_APP_PRI_7 0x80
6849 #define DCBX_APP_SF_MASK 0x00000300
6850 #define DCBX_APP_SF_SHIFT 8
6851 #define DCBX_APP_SF_ETHTYPE 0
6852 #define DCBX_APP_SF_PORT 1
6853 #define DCBX_APP_SF_IEEE_MASK 0x0000f000
6854 #define DCBX_APP_SF_IEEE_SHIFT 12
6855 #define DCBX_APP_SF_IEEE_RESERVED 0
6856 #define DCBX_APP_SF_IEEE_ETHTYPE 1
6857 #define DCBX_APP_SF_IEEE_TCP_PORT 2
6858 #define DCBX_APP_SF_IEEE_UDP_PORT 3
6859 #define DCBX_APP_SF_IEEE_TCP_UDP_PORT 4
6861 #define DCBX_APP_PROTOCOL_ID_MASK 0xffff0000
6862 #define DCBX_APP_PROTOCOL_ID_SHIFT 16
6865 struct dcbx_app_priority_feature {
6867 #define DCBX_APP_ENABLED_MASK 0x00000001
6868 #define DCBX_APP_ENABLED_SHIFT 0
6869 #define DCBX_APP_WILLING_MASK 0x00000002
6870 #define DCBX_APP_WILLING_SHIFT 1
6871 #define DCBX_APP_ERROR_MASK 0x00000004
6872 #define DCBX_APP_ERROR_SHIFT 2
6873 #define DCBX_APP_MAX_TCS_MASK 0x0000f000
6874 #define DCBX_APP_MAX_TCS_SHIFT 12
6875 #define DCBX_APP_NUM_ENTRIES_MASK 0x00ff0000
6876 #define DCBX_APP_NUM_ENTRIES_SHIFT 16
6877 struct dcbx_app_priority_entry app_pri_tbl[DCBX_MAX_APP_PROTOCOL];
6880 struct dcbx_features {
6881 struct dcbx_ets_feature ets;
6883 #define DCBX_PFC_PRI_EN_BITMAP_MASK 0x000000ff
6884 #define DCBX_PFC_PRI_EN_BITMAP_SHIFT 0
6885 #define DCBX_PFC_PRI_EN_BITMAP_PRI_0 0x01
6886 #define DCBX_PFC_PRI_EN_BITMAP_PRI_1 0x02
6887 #define DCBX_PFC_PRI_EN_BITMAP_PRI_2 0x04
6888 #define DCBX_PFC_PRI_EN_BITMAP_PRI_3 0x08
6889 #define DCBX_PFC_PRI_EN_BITMAP_PRI_4 0x10
6890 #define DCBX_PFC_PRI_EN_BITMAP_PRI_5 0x20
6891 #define DCBX_PFC_PRI_EN_BITMAP_PRI_6 0x40
6892 #define DCBX_PFC_PRI_EN_BITMAP_PRI_7 0x80
6894 #define DCBX_PFC_FLAGS_MASK 0x0000ff00
6895 #define DCBX_PFC_FLAGS_SHIFT 8
6896 #define DCBX_PFC_CAPS_MASK 0x00000f00
6897 #define DCBX_PFC_CAPS_SHIFT 8
6898 #define DCBX_PFC_MBC_MASK 0x00004000
6899 #define DCBX_PFC_MBC_SHIFT 14
6900 #define DCBX_PFC_WILLING_MASK 0x00008000
6901 #define DCBX_PFC_WILLING_SHIFT 15
6902 #define DCBX_PFC_ENABLED_MASK 0x00010000
6903 #define DCBX_PFC_ENABLED_SHIFT 16
6904 #define DCBX_PFC_ERROR_MASK 0x00020000
6905 #define DCBX_PFC_ERROR_SHIFT 17
6907 struct dcbx_app_priority_feature app;
6910 struct dcbx_local_params {
6912 #define DCBX_CONFIG_VERSION_MASK 0x00000007
6913 #define DCBX_CONFIG_VERSION_SHIFT 0
6914 #define DCBX_CONFIG_VERSION_DISABLED 0
6915 #define DCBX_CONFIG_VERSION_IEEE 1
6916 #define DCBX_CONFIG_VERSION_CEE 2
6917 #define DCBX_CONFIG_VERSION_STATIC 4
6920 struct dcbx_features features;
6926 struct dcbx_features features;
6930 struct lldp_system_tlvs_buffer_s {
6933 u32 data[MAX_SYSTEM_LLDP_TLV_DATA];
6936 struct dcb_dscp_map {
6938 #define DCB_DSCP_ENABLE_MASK 0x1
6939 #define DCB_DSCP_ENABLE_SHIFT 0
6940 #define DCB_DSCP_ENABLE 1
6941 u32 dscp_pri_map[8];
6944 struct public_global {
6947 u32 debug_mb_offset;
6948 u32 phymod_dbg_mb_offset;
6949 struct couple_mode_teaming cmt;
6950 s32 internal_temperature;
6952 u32 running_bundle_id;
6953 s32 external_temperature;
6963 struct public_path {
6964 struct fw_flr_mb flr_mb;
6965 u32 mcp_vf_disabled[VF_MAX_STATIC / 32];
6968 #define PROCESS_KILL_COUNTER_MASK 0x0000ffff
6969 #define PROCESS_KILL_COUNTER_SHIFT 0
6970 #define PROCESS_KILL_GLOB_AEU_BIT_MASK 0xffff0000
6971 #define PROCESS_KILL_GLOB_AEU_BIT_SHIFT 16
6972 #define GLOBAL_AEU_BIT(aeu_reg_id, aeu_bit) (aeu_reg_id * 32 + aeu_bit)
6975 struct public_port {
6979 #define LINK_STATUS_LINK_UP 0x00000001
6980 #define LINK_STATUS_SPEED_AND_DUPLEX_MASK 0x0000001e
6981 #define LINK_STATUS_SPEED_AND_DUPLEX_1000THD (1 << 1)
6982 #define LINK_STATUS_SPEED_AND_DUPLEX_1000TFD (2 << 1)
6983 #define LINK_STATUS_SPEED_AND_DUPLEX_10G (3 << 1)
6984 #define LINK_STATUS_SPEED_AND_DUPLEX_20G (4 << 1)
6985 #define LINK_STATUS_SPEED_AND_DUPLEX_40G (5 << 1)
6986 #define LINK_STATUS_SPEED_AND_DUPLEX_50G (6 << 1)
6987 #define LINK_STATUS_SPEED_AND_DUPLEX_100G (7 << 1)
6988 #define LINK_STATUS_SPEED_AND_DUPLEX_25G (8 << 1)
6990 #define LINK_STATUS_AUTO_NEGOTIATE_ENABLED 0x00000020
6992 #define LINK_STATUS_AUTO_NEGOTIATE_COMPLETE 0x00000040
6993 #define LINK_STATUS_PARALLEL_DETECTION_USED 0x00000080
6995 #define LINK_STATUS_PFC_ENABLED 0x00000100
6996 #define LINK_STATUS_LINK_PARTNER_1000TFD_CAPABLE 0x00000200
6997 #define LINK_STATUS_LINK_PARTNER_1000THD_CAPABLE 0x00000400
6998 #define LINK_STATUS_LINK_PARTNER_10G_CAPABLE 0x00000800
6999 #define LINK_STATUS_LINK_PARTNER_20G_CAPABLE 0x00001000
7000 #define LINK_STATUS_LINK_PARTNER_40G_CAPABLE 0x00002000
7001 #define LINK_STATUS_LINK_PARTNER_50G_CAPABLE 0x00004000
7002 #define LINK_STATUS_LINK_PARTNER_100G_CAPABLE 0x00008000
7003 #define LINK_STATUS_LINK_PARTNER_25G_CAPABLE 0x00010000
7005 #define LINK_STATUS_LINK_PARTNER_FLOW_CONTROL_MASK 0x000C0000
7006 #define LINK_STATUS_LINK_PARTNER_NOT_PAUSE_CAPABLE (0 << 18)
7007 #define LINK_STATUS_LINK_PARTNER_SYMMETRIC_PAUSE (1 << 18)
7008 #define LINK_STATUS_LINK_PARTNER_ASYMMETRIC_PAUSE (2 << 18)
7009 #define LINK_STATUS_LINK_PARTNER_BOTH_PAUSE (3 << 18)
7011 #define LINK_STATUS_SFP_TX_FAULT 0x00100000
7012 #define LINK_STATUS_TX_FLOW_CONTROL_ENABLED 0x00200000
7013 #define LINK_STATUS_RX_FLOW_CONTROL_ENABLED 0x00400000
7014 #define LINK_STATUS_RX_SIGNAL_PRESENT 0x00800000
7015 #define LINK_STATUS_MAC_LOCAL_FAULT 0x01000000
7016 #define LINK_STATUS_MAC_REMOTE_FAULT 0x02000000
7017 #define LINK_STATUS_UNSUPPORTED_SPD_REQ 0x04000000
7020 u32 ext_phy_fw_version;
7021 u32 drv_phy_cfg_addr;
7027 struct port_mf_cfg port_mf_config;
7028 struct port_stats stats;
7031 #define MEDIA_UNSPECIFIED 0x0
7032 #define MEDIA_SFPP_10G_FIBER 0x1
7033 #define MEDIA_XFP_FIBER 0x2
7034 #define MEDIA_DA_TWINAX 0x3
7035 #define MEDIA_BASE_T 0x4
7036 #define MEDIA_SFP_1G_FIBER 0x5
7037 #define MEDIA_MODULE_FIBER 0x6
7038 #define MEDIA_KR 0xf0
7039 #define MEDIA_NOT_PRESENT 0xff
7042 u32 link_change_count;
7044 struct lldp_config_params_s lldp_config_params[LLDP_MAX_LLDP_AGENTS];
7045 struct lldp_status_params_s lldp_status_params[LLDP_MAX_LLDP_AGENTS];
7046 struct lldp_system_tlvs_buffer_s system_lldp_tlvs_buf;
7048 /* DCBX related MIB */
7049 struct dcbx_local_params local_admin_dcbx_mib;
7050 struct dcbx_mib remote_dcbx_mib;
7051 struct dcbx_mib operational_dcbx_mib;
7054 u32 transceiver_data;
7055 #define ETH_TRANSCEIVER_STATE_MASK 0x000000FF
7056 #define ETH_TRANSCEIVER_STATE_SHIFT 0x00000000
7057 #define ETH_TRANSCEIVER_STATE_UNPLUGGED 0x00000000
7058 #define ETH_TRANSCEIVER_STATE_PRESENT 0x00000001
7059 #define ETH_TRANSCEIVER_STATE_VALID 0x00000003
7060 #define ETH_TRANSCEIVER_STATE_UPDATING 0x00000008
7064 u32 wol_pkt_details;
7065 struct dcb_dscp_map dcb_dscp_map;
7068 struct public_func {
7076 #define FUNC_MF_CFG_FUNC_HIDE 0x00000001
7077 #define FUNC_MF_CFG_PAUSE_ON_HOST_RING 0x00000002
7078 #define FUNC_MF_CFG_PAUSE_ON_HOST_RING_SHIFT 0x00000001
7080 #define FUNC_MF_CFG_PROTOCOL_MASK 0x000000f0
7081 #define FUNC_MF_CFG_PROTOCOL_SHIFT 4
7082 #define FUNC_MF_CFG_PROTOCOL_ETHERNET 0x00000000
7083 #define FUNC_MF_CFG_PROTOCOL_ISCSI 0x00000010
7084 #define FUNC_MF_CFG_PROTOCOL_ROCE 0x00000030
7085 #define FUNC_MF_CFG_PROTOCOL_MAX 0x00000030
7087 #define FUNC_MF_CFG_MIN_BW_MASK 0x0000ff00
7088 #define FUNC_MF_CFG_MIN_BW_SHIFT 8
7089 #define FUNC_MF_CFG_MIN_BW_DEFAULT 0x00000000
7090 #define FUNC_MF_CFG_MAX_BW_MASK 0x00ff0000
7091 #define FUNC_MF_CFG_MAX_BW_SHIFT 16
7092 #define FUNC_MF_CFG_MAX_BW_DEFAULT 0x00640000
7095 #define FUNC_STATUS_VLINK_DOWN 0x00000001
7098 #define FUNC_MF_CFG_UPPERMAC_MASK 0x0000ffff
7099 #define FUNC_MF_CFG_UPPERMAC_SHIFT 0
7100 #define FUNC_MF_CFG_UPPERMAC_DEFAULT FUNC_MF_CFG_UPPERMAC_MASK
7102 #define FUNC_MF_CFG_LOWERMAC_DEFAULT 0xffffffff
7104 u32 fcoe_wwn_port_name_upper;
7105 u32 fcoe_wwn_port_name_lower;
7107 u32 fcoe_wwn_node_name_upper;
7108 u32 fcoe_wwn_node_name_lower;
7111 #define FUNC_MF_CFG_OV_STAG_MASK 0x0000ffff
7112 #define FUNC_MF_CFG_OV_STAG_SHIFT 0
7113 #define FUNC_MF_CFG_OV_STAG_DEFAULT FUNC_MF_CFG_OV_STAG_MASK
7119 u32 driver_last_activity_ts;
7121 u32 drv_ack_vf_disabled[VF_MAX_STATIC / 32];
7124 #define DRV_ID_PDA_COMP_VER_MASK 0x0000ffff
7125 #define DRV_ID_PDA_COMP_VER_SHIFT 0
7127 #define DRV_ID_MCP_HSI_VER_MASK 0x00ff0000
7128 #define DRV_ID_MCP_HSI_VER_SHIFT 16
7129 #define DRV_ID_MCP_HSI_VER_CURRENT (1 << DRV_ID_MCP_HSI_VER_SHIFT)
7131 #define DRV_ID_DRV_TYPE_MASK 0x7f000000
7132 #define DRV_ID_DRV_TYPE_SHIFT 24
7133 #define DRV_ID_DRV_TYPE_UNKNOWN (0 << DRV_ID_DRV_TYPE_SHIFT)
7134 #define DRV_ID_DRV_TYPE_LINUX (1 << DRV_ID_DRV_TYPE_SHIFT)
7136 #define DRV_ID_DRV_INIT_HW_MASK 0x80000000
7137 #define DRV_ID_DRV_INIT_HW_SHIFT 31
7138 #define DRV_ID_DRV_INIT_HW_FLAG (1 << DRV_ID_DRV_INIT_HW_SHIFT)
7151 struct mcp_file_att {
7156 struct bist_nvm_image_att {
7163 #define MCP_DRV_VER_STR_SIZE 16
7164 #define MCP_DRV_VER_STR_SIZE_DWORD (MCP_DRV_VER_STR_SIZE / sizeof(u32))
7165 #define MCP_DRV_NVM_BUF_LEN 32
7166 struct drv_version_stc {
7168 u8 name[MCP_DRV_VER_STR_SIZE - 4];
7171 struct lan_stats_stc {
7178 struct ocbb_data_stc {
7181 u32 ocsd_req_update_interval;
7184 #define MAX_NUM_OF_SENSORS 7
7185 struct temperature_status_stc {
7187 u32 sensor[MAX_NUM_OF_SENSORS];
7190 /* crash dump configuration header */
7191 struct mdump_config_stc {
7199 union drv_union_data {
7200 u32 ver_str[MCP_DRV_VER_STR_SIZE_DWORD];
7201 struct mcp_mac wol_mac;
7203 struct eth_phy_cfg drv_phy_cfg;
7205 struct mcp_val64 val64;
7207 u8 raw_data[MCP_DRV_NVM_BUF_LEN];
7209 struct mcp_file_att file_att;
7211 u32 ack_vf_disabled[VF_MAX_STATIC / 32];
7213 struct drv_version_stc drv_version;
7215 struct lan_stats_stc lan_stats;
7216 u64 reserved_stats[11];
7217 struct ocbb_data_stc ocbb_info;
7218 struct temperature_status_stc temp_info;
7219 struct bist_nvm_image_att nvm_image_att;
7220 struct mdump_config_stc mdump_config;
7223 struct public_drv_mb {
7225 #define DRV_MSG_CODE_MASK 0xffff0000
7226 #define DRV_MSG_CODE_LOAD_REQ 0x10000000
7227 #define DRV_MSG_CODE_LOAD_DONE 0x11000000
7228 #define DRV_MSG_CODE_INIT_HW 0x12000000
7229 #define DRV_MSG_CODE_UNLOAD_REQ 0x20000000
7230 #define DRV_MSG_CODE_UNLOAD_DONE 0x21000000
7231 #define DRV_MSG_CODE_INIT_PHY 0x22000000
7232 #define DRV_MSG_CODE_LINK_RESET 0x23000000
7233 #define DRV_MSG_CODE_SET_DCBX 0x25000000
7235 #define DRV_MSG_CODE_BW_UPDATE_ACK 0x32000000
7236 #define DRV_MSG_CODE_NIG_DRAIN 0x30000000
7237 #define DRV_MSG_CODE_VF_DISABLED_DONE 0xc0000000
7238 #define DRV_MSG_CODE_CFG_VF_MSIX 0xc0010000
7239 #define DRV_MSG_CODE_MCP_RESET 0x00090000
7240 #define DRV_MSG_CODE_SET_VERSION 0x000f0000
7242 #define DRV_MSG_CODE_BIST_TEST 0x001e0000
7243 #define DRV_MSG_CODE_SET_LED_MODE 0x00200000
7245 #define DRV_MSG_SEQ_NUMBER_MASK 0x0000ffff
7248 #define DRV_MB_PARAM_UNLOAD_WOL_MCP 0x00000001
7249 #define DRV_MB_PARAM_DCBX_NOTIFY_MASK 0x000000FF
7250 #define DRV_MB_PARAM_DCBX_NOTIFY_SHIFT 3
7251 #define DRV_MB_PARAM_CFG_VF_MSIX_VF_ID_SHIFT 0
7252 #define DRV_MB_PARAM_CFG_VF_MSIX_VF_ID_MASK 0x000000FF
7253 #define DRV_MB_PARAM_CFG_VF_MSIX_SB_NUM_SHIFT 8
7254 #define DRV_MB_PARAM_CFG_VF_MSIX_SB_NUM_MASK 0x0000FF00
7255 #define DRV_MB_PARAM_LLDP_SEND_MASK 0x00000001
7256 #define DRV_MB_PARAM_LLDP_SEND_SHIFT 0
7259 #define DRV_MB_PARAM_SET_LED_MODE_OPER 0x0
7260 #define DRV_MB_PARAM_SET_LED_MODE_ON 0x1
7261 #define DRV_MB_PARAM_SET_LED_MODE_OFF 0x2
7263 #define DRV_MB_PARAM_BIST_REGISTER_TEST 1
7264 #define DRV_MB_PARAM_BIST_CLOCK_TEST 2
7266 #define DRV_MB_PARAM_BIST_RC_UNKNOWN 0
7267 #define DRV_MB_PARAM_BIST_RC_PASSED 1
7268 #define DRV_MB_PARAM_BIST_RC_FAILED 2
7269 #define DRV_MB_PARAM_BIST_RC_INVALID_PARAMETER 3
7271 #define DRV_MB_PARAM_BIST_TEST_INDEX_SHIFT 0
7272 #define DRV_MB_PARAM_BIST_TEST_INDEX_MASK 0x000000FF
7275 #define FW_MSG_CODE_MASK 0xffff0000
7276 #define FW_MSG_CODE_DRV_LOAD_ENGINE 0x10100000
7277 #define FW_MSG_CODE_DRV_LOAD_PORT 0x10110000
7278 #define FW_MSG_CODE_DRV_LOAD_FUNCTION 0x10120000
7279 #define FW_MSG_CODE_DRV_LOAD_REFUSED_PDA 0x10200000
7280 #define FW_MSG_CODE_DRV_LOAD_REFUSED_HSI 0x10210000
7281 #define FW_MSG_CODE_DRV_LOAD_REFUSED_DIAG 0x10220000
7282 #define FW_MSG_CODE_DRV_LOAD_DONE 0x11100000
7283 #define FW_MSG_CODE_DRV_UNLOAD_ENGINE 0x20110000
7284 #define FW_MSG_CODE_DRV_UNLOAD_PORT 0x20120000
7285 #define FW_MSG_CODE_DRV_UNLOAD_FUNCTION 0x20130000
7286 #define FW_MSG_CODE_DRV_UNLOAD_DONE 0x21100000
7287 #define FW_MSG_CODE_DRV_CFG_VF_MSIX_DONE 0xb0010000
7288 #define FW_MSG_CODE_OK 0x00160000
7290 #define FW_MSG_SEQ_NUMBER_MASK 0x0000ffff
7295 #define DRV_PULSE_SEQ_MASK 0x00007fff
7296 #define DRV_PULSE_SYSTEM_TIME_MASK 0xffff0000
7297 #define DRV_PULSE_ALWAYS_ALIVE 0x00008000
7300 #define MCP_PULSE_SEQ_MASK 0x00007fff
7301 #define MCP_PULSE_ALWAYS_ALIVE 0x00008000
7302 #define MCP_EVENT_MASK 0xffff0000
7303 #define MCP_EVENT_OTHER_DRIVER_RESET_REQ 0x00010000
7305 union drv_union_data union_data;
7308 enum MFW_DRV_MSG_TYPE {
7309 MFW_DRV_MSG_LINK_CHANGE,
7310 MFW_DRV_MSG_FLR_FW_ACK_FAILED,
7311 MFW_DRV_MSG_VF_DISABLED,
7312 MFW_DRV_MSG_LLDP_DATA_UPDATED,
7313 MFW_DRV_MSG_DCBX_REMOTE_MIB_UPDATED,
7314 MFW_DRV_MSG_DCBX_OPERATIONAL_MIB_UPDATED,
7315 MFW_DRV_MSG_RESERVED4,
7316 MFW_DRV_MSG_BW_UPDATE,
7317 MFW_DRV_MSG_BW_UPDATE5,
7318 MFW_DRV_MSG_BW_UPDATE6,
7319 MFW_DRV_MSG_BW_UPDATE7,
7320 MFW_DRV_MSG_BW_UPDATE8,
7321 MFW_DRV_MSG_BW_UPDATE9,
7322 MFW_DRV_MSG_BW_UPDATE10,
7323 MFW_DRV_MSG_TRANSCEIVER_STATE_CHANGE,
7324 MFW_DRV_MSG_BW_UPDATE11,
7328 #define MFW_DRV_MSG_MAX_DWORDS(msgs) (((msgs - 1) >> 2) + 1)
7329 #define MFW_DRV_MSG_DWORD(msg_id) (msg_id >> 2)
7330 #define MFW_DRV_MSG_OFFSET(msg_id) ((msg_id & 0x3) << 3)
7331 #define MFW_DRV_MSG_MASK(msg_id) (0xff << MFW_DRV_MSG_OFFSET(msg_id))
7333 struct public_mfw_mb {
7335 u32 msg[MFW_DRV_MSG_MAX_DWORDS(MFW_DRV_MSG_MAX)];
7336 u32 ack[MFW_DRV_MSG_MAX_DWORDS(MFW_DRV_MSG_MAX)];
7339 enum public_sections {
7349 struct mcp_public_data {
7351 u32 sections[PUBLIC_MAX_SECTIONS];
7352 struct public_drv_mb drv_mb[MCP_GLOB_FUNC_MAX];
7353 struct public_mfw_mb mfw_mb[MCP_GLOB_FUNC_MAX];
7354 struct public_global global;
7355 struct public_path path[MCP_GLOB_PATH_MAX];
7356 struct public_port port[MCP_GLOB_PORT_MAX];
7357 struct public_func func[MCP_GLOB_FUNC_MAX];
7360 struct nvm_cfg_mac_address {
7362 #define NVM_CFG_MAC_ADDRESS_HI_MASK 0x0000FFFF
7363 #define NVM_CFG_MAC_ADDRESS_HI_OFFSET 0
7367 struct nvm_cfg1_glob {
7369 #define NVM_CFG1_GLOB_MF_MODE_MASK 0x00000FF0
7370 #define NVM_CFG1_GLOB_MF_MODE_OFFSET 4
7371 #define NVM_CFG1_GLOB_MF_MODE_MF_ALLOWED 0x0
7372 #define NVM_CFG1_GLOB_MF_MODE_DEFAULT 0x1
7373 #define NVM_CFG1_GLOB_MF_MODE_SPIO4 0x2
7374 #define NVM_CFG1_GLOB_MF_MODE_NPAR1_0 0x3
7375 #define NVM_CFG1_GLOB_MF_MODE_NPAR1_5 0x4
7376 #define NVM_CFG1_GLOB_MF_MODE_NPAR2_0 0x5
7377 #define NVM_CFG1_GLOB_MF_MODE_BD 0x6
7378 #define NVM_CFG1_GLOB_MF_MODE_UFP 0x7
7379 u32 engineering_change[3];
7380 u32 manufacturing_id;
7381 u32 serial_number[4];
7385 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_MASK 0x000000FF
7386 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_OFFSET 0
7387 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_BB_2X40G 0x0
7388 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_2X50G 0x1
7389 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_BB_1X100G 0x2
7390 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_4X10G_F 0x3
7391 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_BB_4X10G_E 0x4
7392 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_BB_4X20G 0x5
7393 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_1X40G 0xB
7394 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_2X25G 0xC
7395 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_1X25G 0xD
7396 #define NVM_CFG1_GLOB_NETWORK_PORT_MODE_4X25G 0xE
7401 u32 mps10_preemphasis;
7402 u32 mps10_driver_current;
7403 u32 mps25_preemphasis;
7404 u32 mps25_driver_current;
7408 u32 mps10_txfir_main;
7409 u32 mps10_txfir_post;
7410 u32 mps25_txfir_main;
7411 u32 mps25_txfir_post;
7412 u32 manufacture_ver;
7413 u32 manufacture_time;
7414 u32 led_global_settings;
7419 u32 device_capabilities;
7420 #define NVM_CFG1_GLOB_DEVICE_CAPABILITIES_ETHERNET 0x1
7421 #define NVM_CFG1_GLOB_DEVICE_CAPABILITIES_ISCSI 0x4
7422 #define NVM_CFG1_GLOB_DEVICE_CAPABILITIES_ROCE 0x8
7423 u32 power_dissipated;
7426 u32 multi_network_modes_capability;
7430 struct nvm_cfg1_path {
7434 struct nvm_cfg1_port {
7435 u32 reserved__m_relocated_to_option_123;
7436 u32 reserved__m_relocated_to_option_124;
7438 #define NVM_CFG1_PORT_DCBX_MODE_MASK 0x000F0000
7439 #define NVM_CFG1_PORT_DCBX_MODE_OFFSET 16
7440 #define NVM_CFG1_PORT_DCBX_MODE_DISABLED 0x0
7441 #define NVM_CFG1_PORT_DCBX_MODE_IEEE 0x1
7442 #define NVM_CFG1_PORT_DCBX_MODE_CEE 0x2
7443 #define NVM_CFG1_PORT_DCBX_MODE_DYNAMIC 0x3
7444 #define NVM_CFG1_PORT_DEFAULT_ENABLED_PROTOCOLS_MASK 0x00F00000
7445 #define NVM_CFG1_PORT_DEFAULT_ENABLED_PROTOCOLS_OFFSET 20
7446 #define NVM_CFG1_PORT_DEFAULT_ENABLED_PROTOCOLS_ETHERNET 0x1
7447 #define NVM_CFG1_PORT_DEFAULT_ENABLED_PROTOCOLS_FCOE 0x2
7448 #define NVM_CFG1_PORT_DEFAULT_ENABLED_PROTOCOLS_ISCSI 0x4
7452 #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_MASK 0x0000FFFF
7453 #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_OFFSET 0
7454 #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_1G 0x1
7455 #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_10G 0x2
7456 #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_25G 0x8
7457 #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_40G 0x10
7458 #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_50G 0x20
7459 #define NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_BB_100G 0x40
7461 #define NVM_CFG1_PORT_DRV_LINK_SPEED_MASK 0x0000000F
7462 #define NVM_CFG1_PORT_DRV_LINK_SPEED_OFFSET 0
7463 #define NVM_CFG1_PORT_DRV_LINK_SPEED_AUTONEG 0x0
7464 #define NVM_CFG1_PORT_DRV_LINK_SPEED_1G 0x1
7465 #define NVM_CFG1_PORT_DRV_LINK_SPEED_10G 0x2
7466 #define NVM_CFG1_PORT_DRV_LINK_SPEED_25G 0x4
7467 #define NVM_CFG1_PORT_DRV_LINK_SPEED_40G 0x5
7468 #define NVM_CFG1_PORT_DRV_LINK_SPEED_50G 0x6
7469 #define NVM_CFG1_PORT_DRV_LINK_SPEED_BB_100G 0x7
7470 #define NVM_CFG1_PORT_DRV_LINK_SPEED_SMARTLINQ 0x8
7471 #define NVM_CFG1_PORT_DRV_FLOW_CONTROL_MASK 0x00000070
7472 #define NVM_CFG1_PORT_DRV_FLOW_CONTROL_OFFSET 4
7473 #define NVM_CFG1_PORT_DRV_FLOW_CONTROL_AUTONEG 0x1
7474 #define NVM_CFG1_PORT_DRV_FLOW_CONTROL_RX 0x2
7475 #define NVM_CFG1_PORT_DRV_FLOW_CONTROL_TX 0x4
7482 struct nvm_cfg_mac_address lldp_mac_address;
7483 u32 led_port_settings;
7505 struct nvm_cfg1_func {
7506 struct nvm_cfg_mac_address mac_address;
7512 struct nvm_cfg_mac_address fcoe_node_wwn_mac_addr;
7513 struct nvm_cfg_mac_address fcoe_port_wwn_mac_addr;
7514 u32 preboot_generic_cfg;
7519 struct nvm_cfg1_glob glob;
7520 struct nvm_cfg1_path path[MCP_GLOB_PATH_MAX];
7521 struct nvm_cfg1_port port[MCP_GLOB_PORT_MAX];
7522 struct nvm_cfg1_func func[MCP_GLOB_FUNC_MAX];