1 /* Broadcom NetXtreme-C/E network driver.
3 * Copyright (c) 2014-2016 Broadcom Corporation
4 * Copyright (c) 2014-2018 Broadcom Limited
5 * Copyright (c) 2018-2020 Broadcom Inc.
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation.
11 * DO NOT MODIFY!!! This file is automatically generated.
17 /* hwrm_cmd_hdr (size:128b/16B) */
26 /* hwrm_resp_hdr (size:64b/8B) */
27 struct hwrm_resp_hdr
{
34 #define CMD_DISCR_TLV_ENCAP 0x8000UL
35 #define CMD_DISCR_LAST CMD_DISCR_TLV_ENCAP
38 #define TLV_TYPE_HWRM_REQUEST 0x1UL
39 #define TLV_TYPE_HWRM_RESPONSE 0x2UL
40 #define TLV_TYPE_ROCE_SP_COMMAND 0x3UL
41 #define TLV_TYPE_QUERY_ROCE_CC_GEN1 0x4UL
42 #define TLV_TYPE_MODIFY_ROCE_CC_GEN1 0x5UL
43 #define TLV_TYPE_ENGINE_CKV_ALIAS_ECC_PUBLIC_KEY 0x8001UL
44 #define TLV_TYPE_ENGINE_CKV_IV 0x8003UL
45 #define TLV_TYPE_ENGINE_CKV_AUTH_TAG 0x8004UL
46 #define TLV_TYPE_ENGINE_CKV_CIPHERTEXT 0x8005UL
47 #define TLV_TYPE_ENGINE_CKV_HOST_ALGORITHMS 0x8006UL
48 #define TLV_TYPE_ENGINE_CKV_HOST_ECC_PUBLIC_KEY 0x8007UL
49 #define TLV_TYPE_ENGINE_CKV_ECDSA_SIGNATURE 0x8008UL
50 #define TLV_TYPE_ENGINE_CKV_FW_ECC_PUBLIC_KEY 0x8009UL
51 #define TLV_TYPE_ENGINE_CKV_FW_ALGORITHMS 0x800aUL
52 #define TLV_TYPE_LAST TLV_TYPE_ENGINE_CKV_FW_ALGORITHMS
55 /* tlv (size:64b/8B) */
60 #define TLV_FLAGS_MORE 0x1UL
61 #define TLV_FLAGS_MORE_LAST 0x0UL
62 #define TLV_FLAGS_MORE_NOT_LAST 0x1UL
63 #define TLV_FLAGS_REQUIRED 0x2UL
64 #define TLV_FLAGS_REQUIRED_NO (0x0UL << 1)
65 #define TLV_FLAGS_REQUIRED_YES (0x1UL << 1)
66 #define TLV_FLAGS_REQUIRED_LAST TLV_FLAGS_REQUIRED_YES
71 /* input (size:128b/16B) */
80 /* output (size:64b/8B) */
88 /* hwrm_short_input (size:128b/16B) */
89 struct hwrm_short_input
{
92 #define SHORT_REQ_SIGNATURE_SHORT_CMD 0x4321UL
93 #define SHORT_REQ_SIGNATURE_LAST SHORT_REQ_SIGNATURE_SHORT_CMD
95 #define SHORT_REQ_TARGET_ID_DEFAULT 0x0UL
96 #define SHORT_REQ_TARGET_ID_TOOLS 0xfffdUL
97 #define SHORT_REQ_TARGET_ID_LAST SHORT_REQ_TARGET_ID_TOOLS
102 /* cmd_nums (size:64b/8B) */
105 #define HWRM_VER_GET 0x0UL
106 #define HWRM_ERROR_RECOVERY_QCFG 0xcUL
107 #define HWRM_FUNC_DRV_IF_CHANGE 0xdUL
108 #define HWRM_FUNC_BUF_UNRGTR 0xeUL
109 #define HWRM_FUNC_VF_CFG 0xfUL
110 #define HWRM_RESERVED1 0x10UL
111 #define HWRM_FUNC_RESET 0x11UL
112 #define HWRM_FUNC_GETFID 0x12UL
113 #define HWRM_FUNC_VF_ALLOC 0x13UL
114 #define HWRM_FUNC_VF_FREE 0x14UL
115 #define HWRM_FUNC_QCAPS 0x15UL
116 #define HWRM_FUNC_QCFG 0x16UL
117 #define HWRM_FUNC_CFG 0x17UL
118 #define HWRM_FUNC_QSTATS 0x18UL
119 #define HWRM_FUNC_CLR_STATS 0x19UL
120 #define HWRM_FUNC_DRV_UNRGTR 0x1aUL
121 #define HWRM_FUNC_VF_RESC_FREE 0x1bUL
122 #define HWRM_FUNC_VF_VNIC_IDS_QUERY 0x1cUL
123 #define HWRM_FUNC_DRV_RGTR 0x1dUL
124 #define HWRM_FUNC_DRV_QVER 0x1eUL
125 #define HWRM_FUNC_BUF_RGTR 0x1fUL
126 #define HWRM_PORT_PHY_CFG 0x20UL
127 #define HWRM_PORT_MAC_CFG 0x21UL
128 #define HWRM_PORT_TS_QUERY 0x22UL
129 #define HWRM_PORT_QSTATS 0x23UL
130 #define HWRM_PORT_LPBK_QSTATS 0x24UL
131 #define HWRM_PORT_CLR_STATS 0x25UL
132 #define HWRM_PORT_LPBK_CLR_STATS 0x26UL
133 #define HWRM_PORT_PHY_QCFG 0x27UL
134 #define HWRM_PORT_MAC_QCFG 0x28UL
135 #define HWRM_PORT_MAC_PTP_QCFG 0x29UL
136 #define HWRM_PORT_PHY_QCAPS 0x2aUL
137 #define HWRM_PORT_PHY_I2C_WRITE 0x2bUL
138 #define HWRM_PORT_PHY_I2C_READ 0x2cUL
139 #define HWRM_PORT_LED_CFG 0x2dUL
140 #define HWRM_PORT_LED_QCFG 0x2eUL
141 #define HWRM_PORT_LED_QCAPS 0x2fUL
142 #define HWRM_QUEUE_QPORTCFG 0x30UL
143 #define HWRM_QUEUE_QCFG 0x31UL
144 #define HWRM_QUEUE_CFG 0x32UL
145 #define HWRM_FUNC_VLAN_CFG 0x33UL
146 #define HWRM_FUNC_VLAN_QCFG 0x34UL
147 #define HWRM_QUEUE_PFCENABLE_QCFG 0x35UL
148 #define HWRM_QUEUE_PFCENABLE_CFG 0x36UL
149 #define HWRM_QUEUE_PRI2COS_QCFG 0x37UL
150 #define HWRM_QUEUE_PRI2COS_CFG 0x38UL
151 #define HWRM_QUEUE_COS2BW_QCFG 0x39UL
152 #define HWRM_QUEUE_COS2BW_CFG 0x3aUL
153 #define HWRM_QUEUE_DSCP_QCAPS 0x3bUL
154 #define HWRM_QUEUE_DSCP2PRI_QCFG 0x3cUL
155 #define HWRM_QUEUE_DSCP2PRI_CFG 0x3dUL
156 #define HWRM_VNIC_ALLOC 0x40UL
157 #define HWRM_VNIC_FREE 0x41UL
158 #define HWRM_VNIC_CFG 0x42UL
159 #define HWRM_VNIC_QCFG 0x43UL
160 #define HWRM_VNIC_TPA_CFG 0x44UL
161 #define HWRM_VNIC_TPA_QCFG 0x45UL
162 #define HWRM_VNIC_RSS_CFG 0x46UL
163 #define HWRM_VNIC_RSS_QCFG 0x47UL
164 #define HWRM_VNIC_PLCMODES_CFG 0x48UL
165 #define HWRM_VNIC_PLCMODES_QCFG 0x49UL
166 #define HWRM_VNIC_QCAPS 0x4aUL
167 #define HWRM_RING_ALLOC 0x50UL
168 #define HWRM_RING_FREE 0x51UL
169 #define HWRM_RING_CMPL_RING_QAGGINT_PARAMS 0x52UL
170 #define HWRM_RING_CMPL_RING_CFG_AGGINT_PARAMS 0x53UL
171 #define HWRM_RING_AGGINT_QCAPS 0x54UL
172 #define HWRM_RING_SCHQ_ALLOC 0x55UL
173 #define HWRM_RING_SCHQ_CFG 0x56UL
174 #define HWRM_RING_SCHQ_FREE 0x57UL
175 #define HWRM_RING_RESET 0x5eUL
176 #define HWRM_RING_GRP_ALLOC 0x60UL
177 #define HWRM_RING_GRP_FREE 0x61UL
178 #define HWRM_RING_CFG 0x62UL
179 #define HWRM_RING_QCFG 0x63UL
180 #define HWRM_RESERVED5 0x64UL
181 #define HWRM_RESERVED6 0x65UL
182 #define HWRM_VNIC_RSS_COS_LB_CTX_ALLOC 0x70UL
183 #define HWRM_VNIC_RSS_COS_LB_CTX_FREE 0x71UL
184 #define HWRM_QUEUE_MPLS_QCAPS 0x80UL
185 #define HWRM_QUEUE_MPLSTC2PRI_QCFG 0x81UL
186 #define HWRM_QUEUE_MPLSTC2PRI_CFG 0x82UL
187 #define HWRM_CFA_L2_FILTER_ALLOC 0x90UL
188 #define HWRM_CFA_L2_FILTER_FREE 0x91UL
189 #define HWRM_CFA_L2_FILTER_CFG 0x92UL
190 #define HWRM_CFA_L2_SET_RX_MASK 0x93UL
191 #define HWRM_CFA_VLAN_ANTISPOOF_CFG 0x94UL
192 #define HWRM_CFA_TUNNEL_FILTER_ALLOC 0x95UL
193 #define HWRM_CFA_TUNNEL_FILTER_FREE 0x96UL
194 #define HWRM_CFA_ENCAP_RECORD_ALLOC 0x97UL
195 #define HWRM_CFA_ENCAP_RECORD_FREE 0x98UL
196 #define HWRM_CFA_NTUPLE_FILTER_ALLOC 0x99UL
197 #define HWRM_CFA_NTUPLE_FILTER_FREE 0x9aUL
198 #define HWRM_CFA_NTUPLE_FILTER_CFG 0x9bUL
199 #define HWRM_CFA_EM_FLOW_ALLOC 0x9cUL
200 #define HWRM_CFA_EM_FLOW_FREE 0x9dUL
201 #define HWRM_CFA_EM_FLOW_CFG 0x9eUL
202 #define HWRM_TUNNEL_DST_PORT_QUERY 0xa0UL
203 #define HWRM_TUNNEL_DST_PORT_ALLOC 0xa1UL
204 #define HWRM_TUNNEL_DST_PORT_FREE 0xa2UL
205 #define HWRM_STAT_CTX_ENG_QUERY 0xafUL
206 #define HWRM_STAT_CTX_ALLOC 0xb0UL
207 #define HWRM_STAT_CTX_FREE 0xb1UL
208 #define HWRM_STAT_CTX_QUERY 0xb2UL
209 #define HWRM_STAT_CTX_CLR_STATS 0xb3UL
210 #define HWRM_PORT_QSTATS_EXT 0xb4UL
211 #define HWRM_PORT_PHY_MDIO_WRITE 0xb5UL
212 #define HWRM_PORT_PHY_MDIO_READ 0xb6UL
213 #define HWRM_PORT_PHY_MDIO_BUS_ACQUIRE 0xb7UL
214 #define HWRM_PORT_PHY_MDIO_BUS_RELEASE 0xb8UL
215 #define HWRM_PORT_QSTATS_EXT_PFC_WD 0xb9UL
216 #define HWRM_RESERVED7 0xbaUL
217 #define HWRM_PORT_TX_FIR_CFG 0xbbUL
218 #define HWRM_PORT_TX_FIR_QCFG 0xbcUL
219 #define HWRM_PORT_ECN_QSTATS 0xbdUL
220 #define HWRM_FW_RESET 0xc0UL
221 #define HWRM_FW_QSTATUS 0xc1UL
222 #define HWRM_FW_HEALTH_CHECK 0xc2UL
223 #define HWRM_FW_SYNC 0xc3UL
224 #define HWRM_FW_STATE_QCAPS 0xc4UL
225 #define HWRM_FW_STATE_QUIESCE 0xc5UL
226 #define HWRM_FW_STATE_BACKUP 0xc6UL
227 #define HWRM_FW_STATE_RESTORE 0xc7UL
228 #define HWRM_FW_SET_TIME 0xc8UL
229 #define HWRM_FW_GET_TIME 0xc9UL
230 #define HWRM_FW_SET_STRUCTURED_DATA 0xcaUL
231 #define HWRM_FW_GET_STRUCTURED_DATA 0xcbUL
232 #define HWRM_FW_IPC_MAILBOX 0xccUL
233 #define HWRM_FW_ECN_CFG 0xcdUL
234 #define HWRM_FW_ECN_QCFG 0xceUL
235 #define HWRM_FW_SECURE_CFG 0xcfUL
236 #define HWRM_EXEC_FWD_RESP 0xd0UL
237 #define HWRM_REJECT_FWD_RESP 0xd1UL
238 #define HWRM_FWD_RESP 0xd2UL
239 #define HWRM_FWD_ASYNC_EVENT_CMPL 0xd3UL
240 #define HWRM_OEM_CMD 0xd4UL
241 #define HWRM_PORT_PRBS_TEST 0xd5UL
242 #define HWRM_PORT_SFP_SIDEBAND_CFG 0xd6UL
243 #define HWRM_PORT_SFP_SIDEBAND_QCFG 0xd7UL
244 #define HWRM_FW_STATE_UNQUIESCE 0xd8UL
245 #define HWRM_PORT_DSC_DUMP 0xd9UL
246 #define HWRM_TEMP_MONITOR_QUERY 0xe0UL
247 #define HWRM_REG_POWER_QUERY 0xe1UL
248 #define HWRM_CORE_FREQUENCY_QUERY 0xe2UL
249 #define HWRM_REG_POWER_HISTOGRAM 0xe3UL
250 #define HWRM_WOL_FILTER_ALLOC 0xf0UL
251 #define HWRM_WOL_FILTER_FREE 0xf1UL
252 #define HWRM_WOL_FILTER_QCFG 0xf2UL
253 #define HWRM_WOL_REASON_QCFG 0xf3UL
254 #define HWRM_CFA_METER_QCAPS 0xf4UL
255 #define HWRM_CFA_METER_PROFILE_ALLOC 0xf5UL
256 #define HWRM_CFA_METER_PROFILE_FREE 0xf6UL
257 #define HWRM_CFA_METER_PROFILE_CFG 0xf7UL
258 #define HWRM_CFA_METER_INSTANCE_ALLOC 0xf8UL
259 #define HWRM_CFA_METER_INSTANCE_FREE 0xf9UL
260 #define HWRM_CFA_METER_INSTANCE_CFG 0xfaUL
261 #define HWRM_CFA_VFR_ALLOC 0xfdUL
262 #define HWRM_CFA_VFR_FREE 0xfeUL
263 #define HWRM_CFA_VF_PAIR_ALLOC 0x100UL
264 #define HWRM_CFA_VF_PAIR_FREE 0x101UL
265 #define HWRM_CFA_VF_PAIR_INFO 0x102UL
266 #define HWRM_CFA_FLOW_ALLOC 0x103UL
267 #define HWRM_CFA_FLOW_FREE 0x104UL
268 #define HWRM_CFA_FLOW_FLUSH 0x105UL
269 #define HWRM_CFA_FLOW_STATS 0x106UL
270 #define HWRM_CFA_FLOW_INFO 0x107UL
271 #define HWRM_CFA_DECAP_FILTER_ALLOC 0x108UL
272 #define HWRM_CFA_DECAP_FILTER_FREE 0x109UL
273 #define HWRM_CFA_VLAN_ANTISPOOF_QCFG 0x10aUL
274 #define HWRM_CFA_REDIRECT_TUNNEL_TYPE_ALLOC 0x10bUL
275 #define HWRM_CFA_REDIRECT_TUNNEL_TYPE_FREE 0x10cUL
276 #define HWRM_CFA_PAIR_ALLOC 0x10dUL
277 #define HWRM_CFA_PAIR_FREE 0x10eUL
278 #define HWRM_CFA_PAIR_INFO 0x10fUL
279 #define HWRM_FW_IPC_MSG 0x110UL
280 #define HWRM_CFA_REDIRECT_TUNNEL_TYPE_INFO 0x111UL
281 #define HWRM_CFA_REDIRECT_QUERY_TUNNEL_TYPE 0x112UL
282 #define HWRM_CFA_FLOW_AGING_TIMER_RESET 0x113UL
283 #define HWRM_CFA_FLOW_AGING_CFG 0x114UL
284 #define HWRM_CFA_FLOW_AGING_QCFG 0x115UL
285 #define HWRM_CFA_FLOW_AGING_QCAPS 0x116UL
286 #define HWRM_CFA_CTX_MEM_RGTR 0x117UL
287 #define HWRM_CFA_CTX_MEM_UNRGTR 0x118UL
288 #define HWRM_CFA_CTX_MEM_QCTX 0x119UL
289 #define HWRM_CFA_CTX_MEM_QCAPS 0x11aUL
290 #define HWRM_CFA_COUNTER_QCAPS 0x11bUL
291 #define HWRM_CFA_COUNTER_CFG 0x11cUL
292 #define HWRM_CFA_COUNTER_QCFG 0x11dUL
293 #define HWRM_CFA_COUNTER_QSTATS 0x11eUL
294 #define HWRM_CFA_TCP_FLAG_PROCESS_QCFG 0x11fUL
295 #define HWRM_CFA_EEM_QCAPS 0x120UL
296 #define HWRM_CFA_EEM_CFG 0x121UL
297 #define HWRM_CFA_EEM_QCFG 0x122UL
298 #define HWRM_CFA_EEM_OP 0x123UL
299 #define HWRM_CFA_ADV_FLOW_MGNT_QCAPS 0x124UL
300 #define HWRM_CFA_TFLIB 0x125UL
301 #define HWRM_ENGINE_CKV_STATUS 0x12eUL
302 #define HWRM_ENGINE_CKV_CKEK_ADD 0x12fUL
303 #define HWRM_ENGINE_CKV_CKEK_DELETE 0x130UL
304 #define HWRM_ENGINE_CKV_KEY_ADD 0x131UL
305 #define HWRM_ENGINE_CKV_KEY_DELETE 0x132UL
306 #define HWRM_ENGINE_CKV_FLUSH 0x133UL
307 #define HWRM_ENGINE_CKV_RNG_GET 0x134UL
308 #define HWRM_ENGINE_CKV_KEY_GEN 0x135UL
309 #define HWRM_ENGINE_CKV_KEY_LABEL_CFG 0x136UL
310 #define HWRM_ENGINE_CKV_KEY_LABEL_QCFG 0x137UL
311 #define HWRM_ENGINE_QG_CONFIG_QUERY 0x13cUL
312 #define HWRM_ENGINE_QG_QUERY 0x13dUL
313 #define HWRM_ENGINE_QG_METER_PROFILE_CONFIG_QUERY 0x13eUL
314 #define HWRM_ENGINE_QG_METER_PROFILE_QUERY 0x13fUL
315 #define HWRM_ENGINE_QG_METER_PROFILE_ALLOC 0x140UL
316 #define HWRM_ENGINE_QG_METER_PROFILE_FREE 0x141UL
317 #define HWRM_ENGINE_QG_METER_QUERY 0x142UL
318 #define HWRM_ENGINE_QG_METER_BIND 0x143UL
319 #define HWRM_ENGINE_QG_METER_UNBIND 0x144UL
320 #define HWRM_ENGINE_QG_FUNC_BIND 0x145UL
321 #define HWRM_ENGINE_SG_CONFIG_QUERY 0x146UL
322 #define HWRM_ENGINE_SG_QUERY 0x147UL
323 #define HWRM_ENGINE_SG_METER_QUERY 0x148UL
324 #define HWRM_ENGINE_SG_METER_CONFIG 0x149UL
325 #define HWRM_ENGINE_SG_QG_BIND 0x14aUL
326 #define HWRM_ENGINE_QG_SG_UNBIND 0x14bUL
327 #define HWRM_ENGINE_CONFIG_QUERY 0x154UL
328 #define HWRM_ENGINE_STATS_CONFIG 0x155UL
329 #define HWRM_ENGINE_STATS_CLEAR 0x156UL
330 #define HWRM_ENGINE_STATS_QUERY 0x157UL
331 #define HWRM_ENGINE_STATS_QUERY_CONTINUOUS_ERROR 0x158UL
332 #define HWRM_ENGINE_RQ_ALLOC 0x15eUL
333 #define HWRM_ENGINE_RQ_FREE 0x15fUL
334 #define HWRM_ENGINE_CQ_ALLOC 0x160UL
335 #define HWRM_ENGINE_CQ_FREE 0x161UL
336 #define HWRM_ENGINE_NQ_ALLOC 0x162UL
337 #define HWRM_ENGINE_NQ_FREE 0x163UL
338 #define HWRM_ENGINE_ON_DIE_RQE_CREDITS 0x164UL
339 #define HWRM_ENGINE_FUNC_QCFG 0x165UL
340 #define HWRM_FUNC_RESOURCE_QCAPS 0x190UL
341 #define HWRM_FUNC_VF_RESOURCE_CFG 0x191UL
342 #define HWRM_FUNC_BACKING_STORE_QCAPS 0x192UL
343 #define HWRM_FUNC_BACKING_STORE_CFG 0x193UL
344 #define HWRM_FUNC_BACKING_STORE_QCFG 0x194UL
345 #define HWRM_FUNC_VF_BW_CFG 0x195UL
346 #define HWRM_FUNC_VF_BW_QCFG 0x196UL
347 #define HWRM_FUNC_HOST_PF_IDS_QUERY 0x197UL
348 #define HWRM_FUNC_QSTATS_EXT 0x198UL
349 #define HWRM_STAT_EXT_CTX_QUERY 0x199UL
350 #define HWRM_SELFTEST_QLIST 0x200UL
351 #define HWRM_SELFTEST_EXEC 0x201UL
352 #define HWRM_SELFTEST_IRQ 0x202UL
353 #define HWRM_SELFTEST_RETRIEVE_SERDES_DATA 0x203UL
354 #define HWRM_PCIE_QSTATS 0x204UL
355 #define HWRM_MFG_FRU_WRITE_CONTROL 0x205UL
356 #define HWRM_MFG_TIMERS_QUERY 0x206UL
357 #define HWRM_MFG_OTP_CFG 0x207UL
358 #define HWRM_MFG_OTP_QCFG 0x208UL
359 #define HWRM_MFG_HDMA_TEST 0x209UL
360 #define HWRM_MFG_FRU_EEPROM_WRITE 0x20aUL
361 #define HWRM_MFG_FRU_EEPROM_READ 0x20bUL
362 #define HWRM_TF 0x2bcUL
363 #define HWRM_TF_VERSION_GET 0x2bdUL
364 #define HWRM_TF_SESSION_OPEN 0x2c6UL
365 #define HWRM_TF_SESSION_ATTACH 0x2c7UL
366 #define HWRM_TF_SESSION_REGISTER 0x2c8UL
367 #define HWRM_TF_SESSION_UNREGISTER 0x2c9UL
368 #define HWRM_TF_SESSION_CLOSE 0x2caUL
369 #define HWRM_TF_SESSION_QCFG 0x2cbUL
370 #define HWRM_TF_SESSION_RESC_QCAPS 0x2ccUL
371 #define HWRM_TF_SESSION_RESC_ALLOC 0x2cdUL
372 #define HWRM_TF_SESSION_RESC_FREE 0x2ceUL
373 #define HWRM_TF_SESSION_RESC_FLUSH 0x2cfUL
374 #define HWRM_TF_TBL_TYPE_GET 0x2daUL
375 #define HWRM_TF_TBL_TYPE_SET 0x2dbUL
376 #define HWRM_TF_TBL_TYPE_BULK_GET 0x2dcUL
377 #define HWRM_TF_CTXT_MEM_ALLOC 0x2e2UL
378 #define HWRM_TF_CTXT_MEM_FREE 0x2e3UL
379 #define HWRM_TF_CTXT_MEM_RGTR 0x2e4UL
380 #define HWRM_TF_CTXT_MEM_UNRGTR 0x2e5UL
381 #define HWRM_TF_EXT_EM_QCAPS 0x2e6UL
382 #define HWRM_TF_EXT_EM_OP 0x2e7UL
383 #define HWRM_TF_EXT_EM_CFG 0x2e8UL
384 #define HWRM_TF_EXT_EM_QCFG 0x2e9UL
385 #define HWRM_TF_EM_INSERT 0x2eaUL
386 #define HWRM_TF_EM_DELETE 0x2ebUL
387 #define HWRM_TF_TCAM_SET 0x2f8UL
388 #define HWRM_TF_TCAM_GET 0x2f9UL
389 #define HWRM_TF_TCAM_MOVE 0x2faUL
390 #define HWRM_TF_TCAM_FREE 0x2fbUL
391 #define HWRM_TF_GLOBAL_CFG_SET 0x2fcUL
392 #define HWRM_TF_GLOBAL_CFG_GET 0x2fdUL
393 #define HWRM_TF_IF_TBL_SET 0x2feUL
394 #define HWRM_TF_IF_TBL_GET 0x2ffUL
395 #define HWRM_SV 0x400UL
396 #define HWRM_DBG_READ_DIRECT 0xff10UL
397 #define HWRM_DBG_READ_INDIRECT 0xff11UL
398 #define HWRM_DBG_WRITE_DIRECT 0xff12UL
399 #define HWRM_DBG_WRITE_INDIRECT 0xff13UL
400 #define HWRM_DBG_DUMP 0xff14UL
401 #define HWRM_DBG_ERASE_NVM 0xff15UL
402 #define HWRM_DBG_CFG 0xff16UL
403 #define HWRM_DBG_COREDUMP_LIST 0xff17UL
404 #define HWRM_DBG_COREDUMP_INITIATE 0xff18UL
405 #define HWRM_DBG_COREDUMP_RETRIEVE 0xff19UL
406 #define HWRM_DBG_FW_CLI 0xff1aUL
407 #define HWRM_DBG_I2C_CMD 0xff1bUL
408 #define HWRM_DBG_RING_INFO_GET 0xff1cUL
409 #define HWRM_DBG_CRASHDUMP_HEADER 0xff1dUL
410 #define HWRM_DBG_CRASHDUMP_ERASE 0xff1eUL
411 #define HWRM_DBG_DRV_TRACE 0xff1fUL
412 #define HWRM_DBG_QCAPS 0xff20UL
413 #define HWRM_DBG_QCFG 0xff21UL
414 #define HWRM_DBG_CRASHDUMP_MEDIUM_CFG 0xff22UL
415 #define HWRM_NVM_REQ_ARBITRATION 0xffedUL
416 #define HWRM_NVM_FACTORY_DEFAULTS 0xffeeUL
417 #define HWRM_NVM_VALIDATE_OPTION 0xffefUL
418 #define HWRM_NVM_FLUSH 0xfff0UL
419 #define HWRM_NVM_GET_VARIABLE 0xfff1UL
420 #define HWRM_NVM_SET_VARIABLE 0xfff2UL
421 #define HWRM_NVM_INSTALL_UPDATE 0xfff3UL
422 #define HWRM_NVM_MODIFY 0xfff4UL
423 #define HWRM_NVM_VERIFY_UPDATE 0xfff5UL
424 #define HWRM_NVM_GET_DEV_INFO 0xfff6UL
425 #define HWRM_NVM_ERASE_DIR_ENTRY 0xfff7UL
426 #define HWRM_NVM_MOD_DIR_ENTRY 0xfff8UL
427 #define HWRM_NVM_FIND_DIR_ENTRY 0xfff9UL
428 #define HWRM_NVM_GET_DIR_ENTRIES 0xfffaUL
429 #define HWRM_NVM_GET_DIR_INFO 0xfffbUL
430 #define HWRM_NVM_RAW_DUMP 0xfffcUL
431 #define HWRM_NVM_READ 0xfffdUL
432 #define HWRM_NVM_WRITE 0xfffeUL
433 #define HWRM_NVM_RAW_WRITE_BLK 0xffffUL
434 #define HWRM_LAST HWRM_NVM_RAW_WRITE_BLK
438 /* ret_codes (size:64b/8B) */
441 #define HWRM_ERR_CODE_SUCCESS 0x0UL
442 #define HWRM_ERR_CODE_FAIL 0x1UL
443 #define HWRM_ERR_CODE_INVALID_PARAMS 0x2UL
444 #define HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED 0x3UL
445 #define HWRM_ERR_CODE_RESOURCE_ALLOC_ERROR 0x4UL
446 #define HWRM_ERR_CODE_INVALID_FLAGS 0x5UL
447 #define HWRM_ERR_CODE_INVALID_ENABLES 0x6UL
448 #define HWRM_ERR_CODE_UNSUPPORTED_TLV 0x7UL
449 #define HWRM_ERR_CODE_NO_BUFFER 0x8UL
450 #define HWRM_ERR_CODE_UNSUPPORTED_OPTION_ERR 0x9UL
451 #define HWRM_ERR_CODE_HOT_RESET_PROGRESS 0xaUL
452 #define HWRM_ERR_CODE_HOT_RESET_FAIL 0xbUL
453 #define HWRM_ERR_CODE_NO_FLOW_COUNTER_DURING_ALLOC 0xcUL
454 #define HWRM_ERR_CODE_KEY_HASH_COLLISION 0xdUL
455 #define HWRM_ERR_CODE_KEY_ALREADY_EXISTS 0xeUL
456 #define HWRM_ERR_CODE_HWRM_ERROR 0xfUL
457 #define HWRM_ERR_CODE_BUSY 0x10UL
458 #define HWRM_ERR_CODE_RESOURCE_LOCKED 0x11UL
459 #define HWRM_ERR_CODE_TLV_ENCAPSULATED_RESPONSE 0x8000UL
460 #define HWRM_ERR_CODE_UNKNOWN_ERR 0xfffeUL
461 #define HWRM_ERR_CODE_CMD_NOT_SUPPORTED 0xffffUL
462 #define HWRM_ERR_CODE_LAST HWRM_ERR_CODE_CMD_NOT_SUPPORTED
466 /* hwrm_err_output (size:128b/16B) */
467 struct hwrm_err_output
{
477 #define HWRM_NA_SIGNATURE ((__le32)(-1))
478 #define HWRM_MAX_REQ_LEN 128
479 #define HWRM_MAX_RESP_LEN 704
480 #define HW_HASH_INDEX_SIZE 0x80
481 #define HW_HASH_KEY_SIZE 40
482 #define HWRM_RESP_VALID_KEY 1
483 #define HWRM_TARGET_ID_BONO 0xFFF8
484 #define HWRM_TARGET_ID_KONG 0xFFF9
485 #define HWRM_TARGET_ID_APE 0xFFFA
486 #define HWRM_TARGET_ID_TOOLS 0xFFFD
487 #define HWRM_VERSION_MAJOR 1
488 #define HWRM_VERSION_MINOR 10
489 #define HWRM_VERSION_UPDATE 1
490 #define HWRM_VERSION_RSVD 68
491 #define HWRM_VERSION_STR "1.10.1.68"
493 /* hwrm_ver_get_input (size:192b/24B) */
494 struct hwrm_ver_get_input
{
506 /* hwrm_ver_get_output (size:1408b/176B) */
507 struct hwrm_ver_get_output
{
515 u8 hwrm_intf_rsvd_8b
;
524 u8 netctrl_fw_maj_8b
;
525 u8 netctrl_fw_min_8b
;
526 u8 netctrl_fw_bld_8b
;
527 u8 netctrl_fw_rsvd_8b
;
529 #define VER_GET_RESP_DEV_CAPS_CFG_SECURE_FW_UPD_SUPPORTED 0x1UL
530 #define VER_GET_RESP_DEV_CAPS_CFG_FW_DCBX_AGENT_SUPPORTED 0x2UL
531 #define VER_GET_RESP_DEV_CAPS_CFG_SHORT_CMD_SUPPORTED 0x4UL
532 #define VER_GET_RESP_DEV_CAPS_CFG_SHORT_CMD_REQUIRED 0x8UL
533 #define VER_GET_RESP_DEV_CAPS_CFG_KONG_MB_CHNL_SUPPORTED 0x10UL
534 #define VER_GET_RESP_DEV_CAPS_CFG_FLOW_HANDLE_64BIT_SUPPORTED 0x20UL
535 #define VER_GET_RESP_DEV_CAPS_CFG_L2_FILTER_TYPES_ROCE_OR_L2_SUPPORTED 0x40UL
536 #define VER_GET_RESP_DEV_CAPS_CFG_VIRTIO_VSWITCH_OFFLOAD_SUPPORTED 0x80UL
537 #define VER_GET_RESP_DEV_CAPS_CFG_TRUSTED_VF_SUPPORTED 0x100UL
538 #define VER_GET_RESP_DEV_CAPS_CFG_FLOW_AGING_SUPPORTED 0x200UL
539 #define VER_GET_RESP_DEV_CAPS_CFG_ADV_FLOW_COUNTERS_SUPPORTED 0x400UL
540 #define VER_GET_RESP_DEV_CAPS_CFG_CFA_EEM_SUPPORTED 0x800UL
541 #define VER_GET_RESP_DEV_CAPS_CFG_CFA_ADV_FLOW_MGNT_SUPPORTED 0x1000UL
542 #define VER_GET_RESP_DEV_CAPS_CFG_CFA_TFLIB_SUPPORTED 0x2000UL
543 #define VER_GET_RESP_DEV_CAPS_CFG_CFA_TRUFLOW_SUPPORTED 0x4000UL
548 char hwrm_fw_name
[16];
549 char mgmt_fw_name
[16];
550 char netctrl_fw_name
[16];
551 char active_pkg_name
[16];
552 char roce_fw_name
[16];
557 u8 chip_platform_type
;
558 #define VER_GET_RESP_CHIP_PLATFORM_TYPE_ASIC 0x0UL
559 #define VER_GET_RESP_CHIP_PLATFORM_TYPE_FPGA 0x1UL
560 #define VER_GET_RESP_CHIP_PLATFORM_TYPE_PALLADIUM 0x2UL
561 #define VER_GET_RESP_CHIP_PLATFORM_TYPE_LAST VER_GET_RESP_CHIP_PLATFORM_TYPE_PALLADIUM
562 __le16 max_req_win_len
;
564 __le16 def_req_timeout
;
566 #define VER_GET_RESP_FLAGS_DEV_NOT_RDY 0x1UL
567 #define VER_GET_RESP_FLAGS_EXT_VER_AVAIL 0x2UL
570 __le16 hwrm_intf_major
;
571 __le16 hwrm_intf_minor
;
572 __le16 hwrm_intf_build
;
573 __le16 hwrm_intf_patch
;
574 __le16 hwrm_fw_major
;
575 __le16 hwrm_fw_minor
;
576 __le16 hwrm_fw_build
;
577 __le16 hwrm_fw_patch
;
578 __le16 mgmt_fw_major
;
579 __le16 mgmt_fw_minor
;
580 __le16 mgmt_fw_build
;
581 __le16 mgmt_fw_patch
;
582 __le16 netctrl_fw_major
;
583 __le16 netctrl_fw_minor
;
584 __le16 netctrl_fw_build
;
585 __le16 netctrl_fw_patch
;
586 __le16 roce_fw_major
;
587 __le16 roce_fw_minor
;
588 __le16 roce_fw_build
;
589 __le16 roce_fw_patch
;
590 __le16 max_ext_req_len
;
595 /* eject_cmpl (size:128b/16B) */
598 #define EJECT_CMPL_TYPE_MASK 0x3fUL
599 #define EJECT_CMPL_TYPE_SFT 0
600 #define EJECT_CMPL_TYPE_STAT_EJECT 0x1aUL
601 #define EJECT_CMPL_TYPE_LAST EJECT_CMPL_TYPE_STAT_EJECT
602 #define EJECT_CMPL_FLAGS_MASK 0xffc0UL
603 #define EJECT_CMPL_FLAGS_SFT 6
604 #define EJECT_CMPL_FLAGS_ERROR 0x40UL
608 #define EJECT_CMPL_V 0x1UL
609 #define EJECT_CMPL_ERRORS_MASK 0xfffeUL
610 #define EJECT_CMPL_ERRORS_SFT 1
611 #define EJECT_CMPL_ERRORS_BUFFER_ERROR_MASK 0xeUL
612 #define EJECT_CMPL_ERRORS_BUFFER_ERROR_SFT 1
613 #define EJECT_CMPL_ERRORS_BUFFER_ERROR_NO_BUFFER (0x0UL << 1)
614 #define EJECT_CMPL_ERRORS_BUFFER_ERROR_DID_NOT_FIT (0x1UL << 1)
615 #define EJECT_CMPL_ERRORS_BUFFER_ERROR_BAD_FORMAT (0x3UL << 1)
616 #define EJECT_CMPL_ERRORS_BUFFER_ERROR_FLUSH (0x5UL << 1)
617 #define EJECT_CMPL_ERRORS_BUFFER_ERROR_LAST EJECT_CMPL_ERRORS_BUFFER_ERROR_FLUSH
622 /* hwrm_cmpl (size:128b/16B) */
625 #define CMPL_TYPE_MASK 0x3fUL
626 #define CMPL_TYPE_SFT 0
627 #define CMPL_TYPE_HWRM_DONE 0x20UL
628 #define CMPL_TYPE_LAST CMPL_TYPE_HWRM_DONE
636 /* hwrm_fwd_req_cmpl (size:128b/16B) */
637 struct hwrm_fwd_req_cmpl
{
639 #define FWD_REQ_CMPL_TYPE_MASK 0x3fUL
640 #define FWD_REQ_CMPL_TYPE_SFT 0
641 #define FWD_REQ_CMPL_TYPE_HWRM_FWD_REQ 0x22UL
642 #define FWD_REQ_CMPL_TYPE_LAST FWD_REQ_CMPL_TYPE_HWRM_FWD_REQ
643 #define FWD_REQ_CMPL_REQ_LEN_MASK 0xffc0UL
644 #define FWD_REQ_CMPL_REQ_LEN_SFT 6
647 __le32 req_buf_addr_v
[2];
648 #define FWD_REQ_CMPL_V 0x1UL
649 #define FWD_REQ_CMPL_REQ_BUF_ADDR_MASK 0xfffffffeUL
650 #define FWD_REQ_CMPL_REQ_BUF_ADDR_SFT 1
653 /* hwrm_fwd_resp_cmpl (size:128b/16B) */
654 struct hwrm_fwd_resp_cmpl
{
656 #define FWD_RESP_CMPL_TYPE_MASK 0x3fUL
657 #define FWD_RESP_CMPL_TYPE_SFT 0
658 #define FWD_RESP_CMPL_TYPE_HWRM_FWD_RESP 0x24UL
659 #define FWD_RESP_CMPL_TYPE_LAST FWD_RESP_CMPL_TYPE_HWRM_FWD_RESP
663 __le32 resp_buf_addr_v
[2];
664 #define FWD_RESP_CMPL_V 0x1UL
665 #define FWD_RESP_CMPL_RESP_BUF_ADDR_MASK 0xfffffffeUL
666 #define FWD_RESP_CMPL_RESP_BUF_ADDR_SFT 1
669 /* hwrm_async_event_cmpl (size:128b/16B) */
670 struct hwrm_async_event_cmpl
{
672 #define ASYNC_EVENT_CMPL_TYPE_MASK 0x3fUL
673 #define ASYNC_EVENT_CMPL_TYPE_SFT 0
674 #define ASYNC_EVENT_CMPL_TYPE_HWRM_ASYNC_EVENT 0x2eUL
675 #define ASYNC_EVENT_CMPL_TYPE_LAST ASYNC_EVENT_CMPL_TYPE_HWRM_ASYNC_EVENT
677 #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE 0x0UL
678 #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_MTU_CHANGE 0x1UL
679 #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CHANGE 0x2UL
680 #define ASYNC_EVENT_CMPL_EVENT_ID_DCB_CONFIG_CHANGE 0x3UL
681 #define ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED 0x4UL
682 #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_NOT_ALLOWED 0x5UL
683 #define ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE 0x6UL
684 #define ASYNC_EVENT_CMPL_EVENT_ID_PORT_PHY_CFG_CHANGE 0x7UL
685 #define ASYNC_EVENT_CMPL_EVENT_ID_RESET_NOTIFY 0x8UL
686 #define ASYNC_EVENT_CMPL_EVENT_ID_ERROR_RECOVERY 0x9UL
687 #define ASYNC_EVENT_CMPL_EVENT_ID_RING_MONITOR_MSG 0xaUL
688 #define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_UNLOAD 0x10UL
689 #define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_DRVR_LOAD 0x11UL
690 #define ASYNC_EVENT_CMPL_EVENT_ID_FUNC_FLR_PROC_CMPLT 0x12UL
691 #define ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD 0x20UL
692 #define ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_LOAD 0x21UL
693 #define ASYNC_EVENT_CMPL_EVENT_ID_VF_FLR 0x30UL
694 #define ASYNC_EVENT_CMPL_EVENT_ID_VF_MAC_ADDR_CHANGE 0x31UL
695 #define ASYNC_EVENT_CMPL_EVENT_ID_PF_VF_COMM_STATUS_CHANGE 0x32UL
696 #define ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE 0x33UL
697 #define ASYNC_EVENT_CMPL_EVENT_ID_LLFC_PFC_CHANGE 0x34UL
698 #define ASYNC_EVENT_CMPL_EVENT_ID_DEFAULT_VNIC_CHANGE 0x35UL
699 #define ASYNC_EVENT_CMPL_EVENT_ID_HW_FLOW_AGED 0x36UL
700 #define ASYNC_EVENT_CMPL_EVENT_ID_DEBUG_NOTIFICATION 0x37UL
701 #define ASYNC_EVENT_CMPL_EVENT_ID_EEM_CACHE_FLUSH_REQ 0x38UL
702 #define ASYNC_EVENT_CMPL_EVENT_ID_EEM_CACHE_FLUSH_DONE 0x39UL
703 #define ASYNC_EVENT_CMPL_EVENT_ID_TCP_FLAG_ACTION_CHANGE 0x3aUL
704 #define ASYNC_EVENT_CMPL_EVENT_ID_EEM_FLOW_ACTIVE 0x3bUL
705 #define ASYNC_EVENT_CMPL_EVENT_ID_EEM_CFG_CHANGE 0x3cUL
706 #define ASYNC_EVENT_CMPL_EVENT_ID_TFLIB_DEFAULT_VNIC_CHANGE 0x3dUL
707 #define ASYNC_EVENT_CMPL_EVENT_ID_TFLIB_LINK_STATUS_CHANGE 0x3eUL
708 #define ASYNC_EVENT_CMPL_EVENT_ID_QUIESCE_DONE 0x3fUL
709 #define ASYNC_EVENT_CMPL_EVENT_ID_DEFERRED_RESPONSE 0x40UL
710 #define ASYNC_EVENT_CMPL_EVENT_ID_PFC_WATCHDOG_CFG_CHANGE 0x41UL
711 #define ASYNC_EVENT_CMPL_EVENT_ID_FW_TRACE_MSG 0xfeUL
712 #define ASYNC_EVENT_CMPL_EVENT_ID_HWRM_ERROR 0xffUL
713 #define ASYNC_EVENT_CMPL_EVENT_ID_LAST ASYNC_EVENT_CMPL_EVENT_ID_HWRM_ERROR
716 #define ASYNC_EVENT_CMPL_V 0x1UL
717 #define ASYNC_EVENT_CMPL_OPAQUE_MASK 0xfeUL
718 #define ASYNC_EVENT_CMPL_OPAQUE_SFT 1
724 /* hwrm_async_event_cmpl_link_status_change (size:128b/16B) */
725 struct hwrm_async_event_cmpl_link_status_change
{
727 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_MASK 0x3fUL
728 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_SFT 0
729 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL
730 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_LAST ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_TYPE_HWRM_ASYNC_EVENT
732 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_ID_LINK_STATUS_CHANGE 0x0UL
733 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_ID_LAST ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_ID_LINK_STATUS_CHANGE
736 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_V 0x1UL
737 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_OPAQUE_MASK 0xfeUL
738 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_OPAQUE_SFT 1
742 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE 0x1UL
743 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_DOWN 0x0UL
744 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP 0x1UL
745 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_LAST ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_LINK_CHANGE_UP
746 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_MASK 0xeUL
747 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_SFT 1
748 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffff0UL
749 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PORT_ID_SFT 4
750 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PF_ID_MASK 0xff00000UL
751 #define ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PF_ID_SFT 20
754 /* hwrm_async_event_cmpl_port_conn_not_allowed (size:128b/16B) */
755 struct hwrm_async_event_cmpl_port_conn_not_allowed
{
757 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_MASK 0x3fUL
758 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_SFT 0
759 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_HWRM_ASYNC_EVENT 0x2eUL
760 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_LAST ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_TYPE_HWRM_ASYNC_EVENT
762 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_ID_PORT_CONN_NOT_ALLOWED 0x4UL
763 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_ID_LAST ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_ID_PORT_CONN_NOT_ALLOWED
766 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_V 0x1UL
767 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_OPAQUE_MASK 0xfeUL
768 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_OPAQUE_SFT 1
772 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_MASK 0xffffUL
773 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_PORT_ID_SFT 0
774 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_MASK 0xff0000UL
775 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_SFT 16
776 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_NONE (0x0UL << 16)
777 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_DISABLETX (0x1UL << 16)
778 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_WARNINGMSG (0x2UL << 16)
779 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN (0x3UL << 16)
780 #define ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_LAST ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN
783 /* hwrm_async_event_cmpl_link_speed_cfg_change (size:128b/16B) */
784 struct hwrm_async_event_cmpl_link_speed_cfg_change
{
786 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_MASK 0x3fUL
787 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_SFT 0
788 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL
789 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_LAST ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT
791 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LINK_SPEED_CFG_CHANGE 0x6UL
792 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LAST ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_ID_LINK_SPEED_CFG_CHANGE
795 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_V 0x1UL
796 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_OPAQUE_MASK 0xfeUL
797 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_OPAQUE_SFT 1
801 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_PORT_ID_MASK 0xffffUL
802 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_PORT_ID_SFT 0
803 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_SUPPORTED_LINK_SPEEDS_CHANGE 0x10000UL
804 #define ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_ILLEGAL_LINK_SPEED_CFG 0x20000UL
807 /* hwrm_async_event_cmpl_reset_notify (size:128b/16B) */
808 struct hwrm_async_event_cmpl_reset_notify
{
810 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_TYPE_MASK 0x3fUL
811 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_TYPE_SFT 0
812 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_TYPE_HWRM_ASYNC_EVENT 0x2eUL
813 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_TYPE_LAST ASYNC_EVENT_CMPL_RESET_NOTIFY_TYPE_HWRM_ASYNC_EVENT
815 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_ID_RESET_NOTIFY 0x8UL
816 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_ID_LAST ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_ID_RESET_NOTIFY
819 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_V 0x1UL
820 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_OPAQUE_MASK 0xfeUL
821 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_OPAQUE_SFT 1
825 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_MASK 0xffUL
826 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_SFT 0
827 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_DRIVER_STOP_TX_QUEUE 0x1UL
828 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_DRIVER_IFDOWN 0x2UL
829 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_LAST ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DRIVER_ACTION_DRIVER_IFDOWN
830 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_MASK 0xff00UL
831 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_SFT 8
832 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_MANAGEMENT_RESET_REQUEST (0x1UL << 8)
833 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_FW_EXCEPTION_FATAL (0x2UL << 8)
834 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_FW_EXCEPTION_NON_FATAL (0x3UL << 8)
835 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_LAST ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_REASON_CODE_FW_EXCEPTION_NON_FATAL
836 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DELAY_IN_100MS_TICKS_MASK 0xffff0000UL
837 #define ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DELAY_IN_100MS_TICKS_SFT 16
840 /* hwrm_async_event_cmpl_error_recovery (size:128b/16B) */
841 struct hwrm_async_event_cmpl_error_recovery
{
843 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_TYPE_MASK 0x3fUL
844 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_TYPE_SFT 0
845 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_TYPE_HWRM_ASYNC_EVENT 0x2eUL
846 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_TYPE_LAST ASYNC_EVENT_CMPL_ERROR_RECOVERY_TYPE_HWRM_ASYNC_EVENT
848 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_ID_ERROR_RECOVERY 0x9UL
849 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_ID_LAST ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_ID_ERROR_RECOVERY
852 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_V 0x1UL
853 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_OPAQUE_MASK 0xfeUL
854 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_OPAQUE_SFT 1
858 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_MASK 0xffUL
859 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_SFT 0
860 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_MASTER_FUNC 0x1UL
861 #define ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_RECOVERY_ENABLED 0x2UL
864 /* hwrm_async_event_cmpl_ring_monitor_msg (size:128b/16B) */
865 struct hwrm_async_event_cmpl_ring_monitor_msg
{
867 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_TYPE_MASK 0x3fUL
868 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_TYPE_SFT 0
869 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_TYPE_HWRM_ASYNC_EVENT 0x2eUL
870 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_TYPE_LAST ASYNC_EVENT_CMPL_RING_MONITOR_MSG_TYPE_HWRM_ASYNC_EVENT
872 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_ID_RING_MONITOR_MSG 0xaUL
873 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_ID_LAST ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_ID_RING_MONITOR_MSG
875 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_MASK 0xffUL
876 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_SFT 0
877 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_TX 0x0UL
878 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_RX 0x1UL
879 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_CMPL 0x2UL
880 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_LAST ASYNC_EVENT_CMPL_RING_MONITOR_MSG_EVENT_DATA2_DISABLE_RING_TYPE_CMPL
882 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_V 0x1UL
883 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_OPAQUE_MASK 0xfeUL
884 #define ASYNC_EVENT_CMPL_RING_MONITOR_MSG_OPAQUE_SFT 1
890 /* hwrm_async_event_cmpl_vf_cfg_change (size:128b/16B) */
891 struct hwrm_async_event_cmpl_vf_cfg_change
{
893 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_MASK 0x3fUL
894 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_SFT 0
895 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL
896 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_LAST ASYNC_EVENT_CMPL_VF_CFG_CHANGE_TYPE_HWRM_ASYNC_EVENT
898 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_VF_CFG_CHANGE 0x33UL
899 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_LAST ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_ID_VF_CFG_CHANGE
902 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_V 0x1UL
903 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_OPAQUE_MASK 0xfeUL
904 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_OPAQUE_SFT 1
908 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_MTU_CHANGE 0x1UL
909 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_MRU_CHANGE 0x2UL
910 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_DFLT_MAC_ADDR_CHANGE 0x4UL
911 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_DFLT_VLAN_CHANGE 0x8UL
912 #define ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_TRUSTED_VF_CFG_CHANGE 0x10UL
915 /* hwrm_async_event_cmpl_default_vnic_change (size:128b/16B) */
916 struct hwrm_async_event_cmpl_default_vnic_change
{
918 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_TYPE_MASK 0x3fUL
919 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_TYPE_SFT 0
920 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_TYPE_HWRM_ASYNC_EVENT 0x2eUL
921 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_TYPE_LAST ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_TYPE_HWRM_ASYNC_EVENT
922 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_UNUSED1_MASK 0xffc0UL
923 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_UNUSED1_SFT 6
925 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_ID_ALLOC_FREE_NOTIFICATION 0x35UL
926 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_ID_LAST ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_ID_ALLOC_FREE_NOTIFICATION
929 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_V 0x1UL
930 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_OPAQUE_MASK 0xfeUL
931 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_OPAQUE_SFT 1
935 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_MASK 0x3UL
936 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_SFT 0
937 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_DEF_VNIC_ALLOC 0x1UL
938 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_DEF_VNIC_FREE 0x2UL
939 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_LAST ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_DEF_VNIC_STATE_DEF_VNIC_FREE
940 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_PF_ID_MASK 0x3fcUL
941 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_PF_ID_SFT 2
942 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_VF_ID_MASK 0x3fffc00UL
943 #define ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_VF_ID_SFT 10
946 /* hwrm_async_event_cmpl_hw_flow_aged (size:128b/16B) */
947 struct hwrm_async_event_cmpl_hw_flow_aged
{
949 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_TYPE_MASK 0x3fUL
950 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_TYPE_SFT 0
951 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_TYPE_HWRM_ASYNC_EVENT 0x2eUL
952 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_TYPE_LAST ASYNC_EVENT_CMPL_HW_FLOW_AGED_TYPE_HWRM_ASYNC_EVENT
954 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_ID_HW_FLOW_AGED 0x36UL
955 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_ID_LAST ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_ID_HW_FLOW_AGED
958 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_V 0x1UL
959 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_OPAQUE_MASK 0xfeUL
960 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_OPAQUE_SFT 1
964 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_ID_MASK 0x7fffffffUL
965 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_ID_SFT 0
966 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION 0x80000000UL
967 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION_RX (0x0UL << 31)
968 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION_TX (0x1UL << 31)
969 #define ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION_LAST ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION_TX
972 /* hwrm_async_event_cmpl_eem_cache_flush_req (size:128b/16B) */
973 struct hwrm_async_event_cmpl_eem_cache_flush_req
{
975 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_TYPE_MASK 0x3fUL
976 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_TYPE_SFT 0
977 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_TYPE_HWRM_ASYNC_EVENT 0x2eUL
978 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_TYPE_LAST ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_TYPE_HWRM_ASYNC_EVENT
980 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_EVENT_ID_EEM_CACHE_FLUSH_REQ 0x38UL
981 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_EVENT_ID_LAST ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_EVENT_ID_EEM_CACHE_FLUSH_REQ
984 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_V 0x1UL
985 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_OPAQUE_MASK 0xfeUL
986 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_REQ_OPAQUE_SFT 1
992 /* hwrm_async_event_cmpl_eem_cache_flush_done (size:128b/16B) */
993 struct hwrm_async_event_cmpl_eem_cache_flush_done
{
995 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_TYPE_MASK 0x3fUL
996 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_TYPE_SFT 0
997 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_TYPE_HWRM_ASYNC_EVENT 0x2eUL
998 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_TYPE_LAST ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_TYPE_HWRM_ASYNC_EVENT
1000 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_ID_EEM_CACHE_FLUSH_DONE 0x39UL
1001 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_ID_LAST ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_ID_EEM_CACHE_FLUSH_DONE
1004 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_V 0x1UL
1005 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_OPAQUE_MASK 0xfeUL
1006 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_OPAQUE_SFT 1
1008 __le16 timestamp_hi
;
1010 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_DATA1_FID_MASK 0xffffUL
1011 #define ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_DATA1_FID_SFT 0
1014 /* hwrm_async_event_cmpl_deferred_response (size:128b/16B) */
1015 struct hwrm_async_event_cmpl_deferred_response
{
1017 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_TYPE_MASK 0x3fUL
1018 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_TYPE_SFT 0
1019 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_TYPE_HWRM_ASYNC_EVENT 0x2eUL
1020 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_TYPE_LAST ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_TYPE_HWRM_ASYNC_EVENT
1022 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_EVENT_ID_DEFERRED_RESPONSE 0x40UL
1023 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_EVENT_ID_LAST ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_EVENT_ID_DEFERRED_RESPONSE
1025 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_EVENT_DATA2_SEQ_ID_MASK 0xffffUL
1026 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_EVENT_DATA2_SEQ_ID_SFT 0
1028 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_V 0x1UL
1029 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_OPAQUE_MASK 0xfeUL
1030 #define ASYNC_EVENT_CMPL_DEFERRED_RESPONSE_OPAQUE_SFT 1
1032 __le16 timestamp_hi
;
1036 /* hwrm_func_reset_input (size:192b/24B) */
1037 struct hwrm_func_reset_input
{
1044 #define FUNC_RESET_REQ_ENABLES_VF_ID_VALID 0x1UL
1046 u8 func_reset_level
;
1047 #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETALL 0x0UL
1048 #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETME 0x1UL
1049 #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETCHILDREN 0x2UL
1050 #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETVF 0x3UL
1051 #define FUNC_RESET_REQ_FUNC_RESET_LEVEL_LAST FUNC_RESET_REQ_FUNC_RESET_LEVEL_RESETVF
1055 /* hwrm_func_reset_output (size:128b/16B) */
1056 struct hwrm_func_reset_output
{
1065 /* hwrm_func_getfid_input (size:192b/24B) */
1066 struct hwrm_func_getfid_input
{
1073 #define FUNC_GETFID_REQ_ENABLES_PCI_ID 0x1UL
1078 /* hwrm_func_getfid_output (size:128b/16B) */
1079 struct hwrm_func_getfid_output
{
1089 /* hwrm_func_vf_alloc_input (size:192b/24B) */
1090 struct hwrm_func_vf_alloc_input
{
1097 #define FUNC_VF_ALLOC_REQ_ENABLES_FIRST_VF_ID 0x1UL
1102 /* hwrm_func_vf_alloc_output (size:128b/16B) */
1103 struct hwrm_func_vf_alloc_output
{
1113 /* hwrm_func_vf_free_input (size:192b/24B) */
1114 struct hwrm_func_vf_free_input
{
1121 #define FUNC_VF_FREE_REQ_ENABLES_FIRST_VF_ID 0x1UL
1126 /* hwrm_func_vf_free_output (size:128b/16B) */
1127 struct hwrm_func_vf_free_output
{
1136 /* hwrm_func_vf_cfg_input (size:448b/56B) */
1137 struct hwrm_func_vf_cfg_input
{
1144 #define FUNC_VF_CFG_REQ_ENABLES_MTU 0x1UL
1145 #define FUNC_VF_CFG_REQ_ENABLES_GUEST_VLAN 0x2UL
1146 #define FUNC_VF_CFG_REQ_ENABLES_ASYNC_EVENT_CR 0x4UL
1147 #define FUNC_VF_CFG_REQ_ENABLES_DFLT_MAC_ADDR 0x8UL
1148 #define FUNC_VF_CFG_REQ_ENABLES_NUM_RSSCOS_CTXS 0x10UL
1149 #define FUNC_VF_CFG_REQ_ENABLES_NUM_CMPL_RINGS 0x20UL
1150 #define FUNC_VF_CFG_REQ_ENABLES_NUM_TX_RINGS 0x40UL
1151 #define FUNC_VF_CFG_REQ_ENABLES_NUM_RX_RINGS 0x80UL
1152 #define FUNC_VF_CFG_REQ_ENABLES_NUM_L2_CTXS 0x100UL
1153 #define FUNC_VF_CFG_REQ_ENABLES_NUM_VNICS 0x200UL
1154 #define FUNC_VF_CFG_REQ_ENABLES_NUM_STAT_CTXS 0x400UL
1155 #define FUNC_VF_CFG_REQ_ENABLES_NUM_HW_RING_GRPS 0x800UL
1158 __le16 async_event_cr
;
1159 u8 dflt_mac_addr
[6];
1161 #define FUNC_VF_CFG_REQ_FLAGS_TX_ASSETS_TEST 0x1UL
1162 #define FUNC_VF_CFG_REQ_FLAGS_RX_ASSETS_TEST 0x2UL
1163 #define FUNC_VF_CFG_REQ_FLAGS_CMPL_ASSETS_TEST 0x4UL
1164 #define FUNC_VF_CFG_REQ_FLAGS_RSSCOS_CTX_ASSETS_TEST 0x8UL
1165 #define FUNC_VF_CFG_REQ_FLAGS_RING_GRP_ASSETS_TEST 0x10UL
1166 #define FUNC_VF_CFG_REQ_FLAGS_STAT_CTX_ASSETS_TEST 0x20UL
1167 #define FUNC_VF_CFG_REQ_FLAGS_VNIC_ASSETS_TEST 0x40UL
1168 #define FUNC_VF_CFG_REQ_FLAGS_L2_CTX_ASSETS_TEST 0x80UL
1169 #define FUNC_VF_CFG_REQ_FLAGS_PPP_PUSH_MODE_ENABLE 0x100UL
1170 #define FUNC_VF_CFG_REQ_FLAGS_PPP_PUSH_MODE_DISABLE 0x200UL
1171 __le16 num_rsscos_ctxs
;
1172 __le16 num_cmpl_rings
;
1173 __le16 num_tx_rings
;
1174 __le16 num_rx_rings
;
1177 __le16 num_stat_ctxs
;
1178 __le16 num_hw_ring_grps
;
1182 /* hwrm_func_vf_cfg_output (size:128b/16B) */
1183 struct hwrm_func_vf_cfg_output
{
1192 /* hwrm_func_qcaps_input (size:192b/24B) */
1193 struct hwrm_func_qcaps_input
{
1203 /* hwrm_func_qcaps_output (size:704b/88B) */
1204 struct hwrm_func_qcaps_output
{
1212 #define FUNC_QCAPS_RESP_FLAGS_PUSH_MODE_SUPPORTED 0x1UL
1213 #define FUNC_QCAPS_RESP_FLAGS_GLOBAL_MSIX_AUTOMASKING 0x2UL
1214 #define FUNC_QCAPS_RESP_FLAGS_PTP_SUPPORTED 0x4UL
1215 #define FUNC_QCAPS_RESP_FLAGS_ROCE_V1_SUPPORTED 0x8UL
1216 #define FUNC_QCAPS_RESP_FLAGS_ROCE_V2_SUPPORTED 0x10UL
1217 #define FUNC_QCAPS_RESP_FLAGS_WOL_MAGICPKT_SUPPORTED 0x20UL
1218 #define FUNC_QCAPS_RESP_FLAGS_WOL_BMP_SUPPORTED 0x40UL
1219 #define FUNC_QCAPS_RESP_FLAGS_TX_RING_RL_SUPPORTED 0x80UL
1220 #define FUNC_QCAPS_RESP_FLAGS_TX_BW_CFG_SUPPORTED 0x100UL
1221 #define FUNC_QCAPS_RESP_FLAGS_VF_TX_RING_RL_SUPPORTED 0x200UL
1222 #define FUNC_QCAPS_RESP_FLAGS_VF_BW_CFG_SUPPORTED 0x400UL
1223 #define FUNC_QCAPS_RESP_FLAGS_STD_TX_RING_MODE_SUPPORTED 0x800UL
1224 #define FUNC_QCAPS_RESP_FLAGS_GENEVE_TUN_FLAGS_SUPPORTED 0x1000UL
1225 #define FUNC_QCAPS_RESP_FLAGS_NVGRE_TUN_FLAGS_SUPPORTED 0x2000UL
1226 #define FUNC_QCAPS_RESP_FLAGS_GRE_TUN_FLAGS_SUPPORTED 0x4000UL
1227 #define FUNC_QCAPS_RESP_FLAGS_MPLS_TUN_FLAGS_SUPPORTED 0x8000UL
1228 #define FUNC_QCAPS_RESP_FLAGS_PCIE_STATS_SUPPORTED 0x10000UL
1229 #define FUNC_QCAPS_RESP_FLAGS_ADOPTED_PF_SUPPORTED 0x20000UL
1230 #define FUNC_QCAPS_RESP_FLAGS_ADMIN_PF_SUPPORTED 0x40000UL
1231 #define FUNC_QCAPS_RESP_FLAGS_LINK_ADMIN_STATUS_SUPPORTED 0x80000UL
1232 #define FUNC_QCAPS_RESP_FLAGS_WCB_PUSH_MODE 0x100000UL
1233 #define FUNC_QCAPS_RESP_FLAGS_DYNAMIC_TX_RING_ALLOC 0x200000UL
1234 #define FUNC_QCAPS_RESP_FLAGS_HOT_RESET_CAPABLE 0x400000UL
1235 #define FUNC_QCAPS_RESP_FLAGS_ERROR_RECOVERY_CAPABLE 0x800000UL
1236 #define FUNC_QCAPS_RESP_FLAGS_EXT_STATS_SUPPORTED 0x1000000UL
1237 #define FUNC_QCAPS_RESP_FLAGS_ERR_RECOVER_RELOAD 0x2000000UL
1238 #define FUNC_QCAPS_RESP_FLAGS_NOTIFY_VF_DEF_VNIC_CHNG_SUPPORTED 0x4000000UL
1239 #define FUNC_QCAPS_RESP_FLAGS_VLAN_ACCELERATION_TX_DISABLED 0x8000000UL
1240 #define FUNC_QCAPS_RESP_FLAGS_COREDUMP_CMD_SUPPORTED 0x10000000UL
1241 #define FUNC_QCAPS_RESP_FLAGS_CRASHDUMP_CMD_SUPPORTED 0x20000000UL
1242 #define FUNC_QCAPS_RESP_FLAGS_PFC_WD_STATS_SUPPORTED 0x40000000UL
1243 #define FUNC_QCAPS_RESP_FLAGS_DBG_QCAPS_CMD_SUPPORTED 0x80000000UL
1245 __le16 max_rsscos_ctx
;
1246 __le16 max_cmpl_rings
;
1247 __le16 max_tx_rings
;
1248 __le16 max_rx_rings
;
1253 __le16 max_stat_ctx
;
1254 __le32 max_encap_records
;
1255 __le32 max_decap_records
;
1256 __le32 max_tx_em_flows
;
1257 __le32 max_tx_wm_flows
;
1258 __le32 max_rx_em_flows
;
1259 __le32 max_rx_wm_flows
;
1260 __le32 max_mcast_filters
;
1262 __le32 max_hw_ring_grps
;
1263 __le16 max_sp_tx_rings
;
1266 #define FUNC_QCAPS_RESP_FLAGS_EXT_ECN_MARK_SUPPORTED 0x1UL
1267 #define FUNC_QCAPS_RESP_FLAGS_EXT_ECN_STATS_SUPPORTED 0x2UL
1268 #define FUNC_QCAPS_RESP_FLAGS_EXT_EXT_HW_STATS_SUPPORTED 0x4UL
1269 #define FUNC_QCAPS_RESP_FLAGS_EXT_HOT_RESET_IF_SUPPORT 0x8UL
1270 #define FUNC_QCAPS_RESP_FLAGS_EXT_PROXY_MODE_SUPPORT 0x10UL
1271 #define FUNC_QCAPS_RESP_FLAGS_EXT_TX_PROXY_SRC_INTF_OVERRIDE_SUPPORT 0x20UL
1272 #define FUNC_QCAPS_RESP_FLAGS_EXT_SCHQ_SUPPORTED 0x40UL
1273 #define FUNC_QCAPS_RESP_FLAGS_EXT_PPP_PUSH_MODE_SUPPORTED 0x80UL
1276 #define FUNC_QCAPS_RESP_MPC_CHNLS_CAP_TCE 0x1UL
1277 #define FUNC_QCAPS_RESP_MPC_CHNLS_CAP_RCE 0x2UL
1278 #define FUNC_QCAPS_RESP_MPC_CHNLS_CAP_TE_CFA 0x4UL
1279 #define FUNC_QCAPS_RESP_MPC_CHNLS_CAP_RE_CFA 0x8UL
1280 #define FUNC_QCAPS_RESP_MPC_CHNLS_CAP_PRIMATE 0x10UL
1285 /* hwrm_func_qcfg_input (size:192b/24B) */
1286 struct hwrm_func_qcfg_input
{
1296 /* hwrm_func_qcfg_output (size:768b/96B) */
1297 struct hwrm_func_qcfg_output
{
1306 #define FUNC_QCFG_RESP_FLAGS_OOB_WOL_MAGICPKT_ENABLED 0x1UL
1307 #define FUNC_QCFG_RESP_FLAGS_OOB_WOL_BMP_ENABLED 0x2UL
1308 #define FUNC_QCFG_RESP_FLAGS_FW_DCBX_AGENT_ENABLED 0x4UL
1309 #define FUNC_QCFG_RESP_FLAGS_STD_TX_RING_MODE_ENABLED 0x8UL
1310 #define FUNC_QCFG_RESP_FLAGS_FW_LLDP_AGENT_ENABLED 0x10UL
1311 #define FUNC_QCFG_RESP_FLAGS_MULTI_HOST 0x20UL
1312 #define FUNC_QCFG_RESP_FLAGS_TRUSTED_VF 0x40UL
1313 #define FUNC_QCFG_RESP_FLAGS_SECURE_MODE_ENABLED 0x80UL
1314 #define FUNC_QCFG_RESP_FLAGS_PREBOOT_LEGACY_L2_RINGS 0x100UL
1315 #define FUNC_QCFG_RESP_FLAGS_HOT_RESET_ALLOWED 0x200UL
1316 #define FUNC_QCFG_RESP_FLAGS_PPP_PUSH_MODE_ENABLED 0x400UL
1317 #define FUNC_QCFG_RESP_FLAGS_RING_MONITOR_ENABLED 0x800UL
1320 __le16 alloc_rsscos_ctx
;
1321 __le16 alloc_cmpl_rings
;
1322 __le16 alloc_tx_rings
;
1323 __le16 alloc_rx_rings
;
1324 __le16 alloc_l2_ctx
;
1329 u8 port_partition_type
;
1330 #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_SPF 0x0UL
1331 #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_MPFS 0x1UL
1332 #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_0 0x2UL
1333 #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR1_5 0x3UL
1334 #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_NPAR2_0 0x4UL
1335 #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_UNKNOWN 0xffUL
1336 #define FUNC_QCFG_RESP_PORT_PARTITION_TYPE_LAST FUNC_QCFG_RESP_PORT_PARTITION_TYPE_UNKNOWN
1338 #define FUNC_QCFG_RESP_PORT_PF_CNT_UNAVAIL 0x0UL
1339 #define FUNC_QCFG_RESP_PORT_PF_CNT_LAST FUNC_QCFG_RESP_PORT_PF_CNT_UNAVAIL
1340 __le16 dflt_vnic_id
;
1341 __le16 max_mtu_configured
;
1343 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_MASK 0xfffffffUL
1344 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_SFT 0
1345 #define FUNC_QCFG_RESP_MIN_BW_SCALE 0x10000000UL
1346 #define FUNC_QCFG_RESP_MIN_BW_SCALE_BITS (0x0UL << 28)
1347 #define FUNC_QCFG_RESP_MIN_BW_SCALE_BYTES (0x1UL << 28)
1348 #define FUNC_QCFG_RESP_MIN_BW_SCALE_LAST FUNC_QCFG_RESP_MIN_BW_SCALE_BYTES
1349 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
1350 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_SFT 29
1351 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
1352 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
1353 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
1354 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
1355 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
1356 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
1357 #define FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_LAST FUNC_QCFG_RESP_MIN_BW_BW_VALUE_UNIT_INVALID
1359 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_MASK 0xfffffffUL
1360 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_SFT 0
1361 #define FUNC_QCFG_RESP_MAX_BW_SCALE 0x10000000UL
1362 #define FUNC_QCFG_RESP_MAX_BW_SCALE_BITS (0x0UL << 28)
1363 #define FUNC_QCFG_RESP_MAX_BW_SCALE_BYTES (0x1UL << 28)
1364 #define FUNC_QCFG_RESP_MAX_BW_SCALE_LAST FUNC_QCFG_RESP_MAX_BW_SCALE_BYTES
1365 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
1366 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_SFT 29
1367 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
1368 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
1369 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
1370 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
1371 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
1372 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
1373 #define FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_LAST FUNC_QCFG_RESP_MAX_BW_BW_VALUE_UNIT_INVALID
1375 #define FUNC_QCFG_RESP_EVB_MODE_NO_EVB 0x0UL
1376 #define FUNC_QCFG_RESP_EVB_MODE_VEB 0x1UL
1377 #define FUNC_QCFG_RESP_EVB_MODE_VEPA 0x2UL
1378 #define FUNC_QCFG_RESP_EVB_MODE_LAST FUNC_QCFG_RESP_EVB_MODE_VEPA
1380 #define FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_MASK 0x3UL
1381 #define FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_SFT 0
1382 #define FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_SIZE_64 0x0UL
1383 #define FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_SIZE_128 0x1UL
1384 #define FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_LAST FUNC_QCFG_RESP_OPTIONS_CACHE_LINESIZE_SIZE_128
1385 #define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_MASK 0xcUL
1386 #define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_SFT 2
1387 #define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_FORCED_DOWN (0x0UL << 2)
1388 #define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_FORCED_UP (0x1UL << 2)
1389 #define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_AUTO (0x2UL << 2)
1390 #define FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_LAST FUNC_QCFG_RESP_OPTIONS_LINK_ADMIN_STATE_AUTO
1391 #define FUNC_QCFG_RESP_OPTIONS_RSVD_MASK 0xf0UL
1392 #define FUNC_QCFG_RESP_OPTIONS_RSVD_SFT 4
1394 __le32 alloc_mcast_filters
;
1395 __le32 alloc_hw_ring_grps
;
1396 __le16 alloc_sp_tx_rings
;
1397 __le16 alloc_stat_ctx
;
1399 __le16 registered_vfs
;
1400 __le16 l2_doorbell_bar_size_kb
;
1403 __le32 reset_addr_poll
;
1404 __le16 legacy_l2_db_size_kb
;
1406 #define FUNC_QCFG_RESP_SVIF_INFO_SVIF_MASK 0x7fffUL
1407 #define FUNC_QCFG_RESP_SVIF_INFO_SVIF_SFT 0
1408 #define FUNC_QCFG_RESP_SVIF_INFO_SVIF_VALID 0x8000UL
1410 #define FUNC_QCFG_RESP_MPC_CHNLS_TCE_ENABLED 0x1UL
1411 #define FUNC_QCFG_RESP_MPC_CHNLS_RCE_ENABLED 0x2UL
1412 #define FUNC_QCFG_RESP_MPC_CHNLS_TE_CFA_ENABLED 0x4UL
1413 #define FUNC_QCFG_RESP_MPC_CHNLS_RE_CFA_ENABLED 0x8UL
1414 #define FUNC_QCFG_RESP_MPC_CHNLS_PRIMATE_ENABLED 0x10UL
1419 /* hwrm_func_cfg_input (size:768b/96B) */
1420 struct hwrm_func_cfg_input
{
1429 #define FUNC_CFG_REQ_FLAGS_SRC_MAC_ADDR_CHECK_DISABLE 0x1UL
1430 #define FUNC_CFG_REQ_FLAGS_SRC_MAC_ADDR_CHECK_ENABLE 0x2UL
1431 #define FUNC_CFG_REQ_FLAGS_RSVD_MASK 0x1fcUL
1432 #define FUNC_CFG_REQ_FLAGS_RSVD_SFT 2
1433 #define FUNC_CFG_REQ_FLAGS_STD_TX_RING_MODE_ENABLE 0x200UL
1434 #define FUNC_CFG_REQ_FLAGS_STD_TX_RING_MODE_DISABLE 0x400UL
1435 #define FUNC_CFG_REQ_FLAGS_VIRT_MAC_PERSIST 0x800UL
1436 #define FUNC_CFG_REQ_FLAGS_NO_AUTOCLEAR_STATISTIC 0x1000UL
1437 #define FUNC_CFG_REQ_FLAGS_TX_ASSETS_TEST 0x2000UL
1438 #define FUNC_CFG_REQ_FLAGS_RX_ASSETS_TEST 0x4000UL
1439 #define FUNC_CFG_REQ_FLAGS_CMPL_ASSETS_TEST 0x8000UL
1440 #define FUNC_CFG_REQ_FLAGS_RSSCOS_CTX_ASSETS_TEST 0x10000UL
1441 #define FUNC_CFG_REQ_FLAGS_RING_GRP_ASSETS_TEST 0x20000UL
1442 #define FUNC_CFG_REQ_FLAGS_STAT_CTX_ASSETS_TEST 0x40000UL
1443 #define FUNC_CFG_REQ_FLAGS_VNIC_ASSETS_TEST 0x80000UL
1444 #define FUNC_CFG_REQ_FLAGS_L2_CTX_ASSETS_TEST 0x100000UL
1445 #define FUNC_CFG_REQ_FLAGS_TRUSTED_VF_ENABLE 0x200000UL
1446 #define FUNC_CFG_REQ_FLAGS_DYNAMIC_TX_RING_ALLOC 0x400000UL
1447 #define FUNC_CFG_REQ_FLAGS_NQ_ASSETS_TEST 0x800000UL
1448 #define FUNC_CFG_REQ_FLAGS_TRUSTED_VF_DISABLE 0x1000000UL
1449 #define FUNC_CFG_REQ_FLAGS_PREBOOT_LEGACY_L2_RINGS 0x2000000UL
1450 #define FUNC_CFG_REQ_FLAGS_HOT_RESET_IF_EN_DIS 0x4000000UL
1451 #define FUNC_CFG_REQ_FLAGS_PPP_PUSH_MODE_ENABLE 0x8000000UL
1452 #define FUNC_CFG_REQ_FLAGS_PPP_PUSH_MODE_DISABLE 0x10000000UL
1454 #define FUNC_CFG_REQ_ENABLES_MTU 0x1UL
1455 #define FUNC_CFG_REQ_ENABLES_MRU 0x2UL
1456 #define FUNC_CFG_REQ_ENABLES_NUM_RSSCOS_CTXS 0x4UL
1457 #define FUNC_CFG_REQ_ENABLES_NUM_CMPL_RINGS 0x8UL
1458 #define FUNC_CFG_REQ_ENABLES_NUM_TX_RINGS 0x10UL
1459 #define FUNC_CFG_REQ_ENABLES_NUM_RX_RINGS 0x20UL
1460 #define FUNC_CFG_REQ_ENABLES_NUM_L2_CTXS 0x40UL
1461 #define FUNC_CFG_REQ_ENABLES_NUM_VNICS 0x80UL
1462 #define FUNC_CFG_REQ_ENABLES_NUM_STAT_CTXS 0x100UL
1463 #define FUNC_CFG_REQ_ENABLES_DFLT_MAC_ADDR 0x200UL
1464 #define FUNC_CFG_REQ_ENABLES_DFLT_VLAN 0x400UL
1465 #define FUNC_CFG_REQ_ENABLES_DFLT_IP_ADDR 0x800UL
1466 #define FUNC_CFG_REQ_ENABLES_MIN_BW 0x1000UL
1467 #define FUNC_CFG_REQ_ENABLES_MAX_BW 0x2000UL
1468 #define FUNC_CFG_REQ_ENABLES_ASYNC_EVENT_CR 0x4000UL
1469 #define FUNC_CFG_REQ_ENABLES_VLAN_ANTISPOOF_MODE 0x8000UL
1470 #define FUNC_CFG_REQ_ENABLES_ALLOWED_VLAN_PRIS 0x10000UL
1471 #define FUNC_CFG_REQ_ENABLES_EVB_MODE 0x20000UL
1472 #define FUNC_CFG_REQ_ENABLES_NUM_MCAST_FILTERS 0x40000UL
1473 #define FUNC_CFG_REQ_ENABLES_NUM_HW_RING_GRPS 0x80000UL
1474 #define FUNC_CFG_REQ_ENABLES_CACHE_LINESIZE 0x100000UL
1475 #define FUNC_CFG_REQ_ENABLES_NUM_MSIX 0x200000UL
1476 #define FUNC_CFG_REQ_ENABLES_ADMIN_LINK_STATE 0x400000UL
1477 #define FUNC_CFG_REQ_ENABLES_HOT_RESET_IF_SUPPORT 0x800000UL
1478 #define FUNC_CFG_REQ_ENABLES_SCHQ_ID 0x1000000UL
1479 #define FUNC_CFG_REQ_ENABLES_MPC_CHNLS 0x2000000UL
1482 __le16 num_rsscos_ctxs
;
1483 __le16 num_cmpl_rings
;
1484 __le16 num_tx_rings
;
1485 __le16 num_rx_rings
;
1488 __le16 num_stat_ctxs
;
1489 __le16 num_hw_ring_grps
;
1490 u8 dflt_mac_addr
[6];
1492 __be32 dflt_ip_addr
[4];
1494 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_MASK 0xfffffffUL
1495 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_SFT 0
1496 #define FUNC_CFG_REQ_MIN_BW_SCALE 0x10000000UL
1497 #define FUNC_CFG_REQ_MIN_BW_SCALE_BITS (0x0UL << 28)
1498 #define FUNC_CFG_REQ_MIN_BW_SCALE_BYTES (0x1UL << 28)
1499 #define FUNC_CFG_REQ_MIN_BW_SCALE_LAST FUNC_CFG_REQ_MIN_BW_SCALE_BYTES
1500 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
1501 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_SFT 29
1502 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
1503 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
1504 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
1505 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
1506 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
1507 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
1508 #define FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_LAST FUNC_CFG_REQ_MIN_BW_BW_VALUE_UNIT_INVALID
1510 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_MASK 0xfffffffUL
1511 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_SFT 0
1512 #define FUNC_CFG_REQ_MAX_BW_SCALE 0x10000000UL
1513 #define FUNC_CFG_REQ_MAX_BW_SCALE_BITS (0x0UL << 28)
1514 #define FUNC_CFG_REQ_MAX_BW_SCALE_BYTES (0x1UL << 28)
1515 #define FUNC_CFG_REQ_MAX_BW_SCALE_LAST FUNC_CFG_REQ_MAX_BW_SCALE_BYTES
1516 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
1517 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_SFT 29
1518 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
1519 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
1520 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
1521 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
1522 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
1523 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
1524 #define FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_LAST FUNC_CFG_REQ_MAX_BW_BW_VALUE_UNIT_INVALID
1525 __le16 async_event_cr
;
1526 u8 vlan_antispoof_mode
;
1527 #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_NOCHECK 0x0UL
1528 #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_VALIDATE_VLAN 0x1UL
1529 #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_IF_VLANDNE 0x2UL
1530 #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_OR_OVERRIDE_VLAN 0x3UL
1531 #define FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_LAST FUNC_CFG_REQ_VLAN_ANTISPOOF_MODE_INSERT_OR_OVERRIDE_VLAN
1532 u8 allowed_vlan_pris
;
1534 #define FUNC_CFG_REQ_EVB_MODE_NO_EVB 0x0UL
1535 #define FUNC_CFG_REQ_EVB_MODE_VEB 0x1UL
1536 #define FUNC_CFG_REQ_EVB_MODE_VEPA 0x2UL
1537 #define FUNC_CFG_REQ_EVB_MODE_LAST FUNC_CFG_REQ_EVB_MODE_VEPA
1539 #define FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_MASK 0x3UL
1540 #define FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_SFT 0
1541 #define FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_SIZE_64 0x0UL
1542 #define FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_SIZE_128 0x1UL
1543 #define FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_LAST FUNC_CFG_REQ_OPTIONS_CACHE_LINESIZE_SIZE_128
1544 #define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_MASK 0xcUL
1545 #define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_SFT 2
1546 #define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_FORCED_DOWN (0x0UL << 2)
1547 #define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_FORCED_UP (0x1UL << 2)
1548 #define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_AUTO (0x2UL << 2)
1549 #define FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_LAST FUNC_CFG_REQ_OPTIONS_LINK_ADMIN_STATE_AUTO
1550 #define FUNC_CFG_REQ_OPTIONS_RSVD_MASK 0xf0UL
1551 #define FUNC_CFG_REQ_OPTIONS_RSVD_SFT 4
1552 __le16 num_mcast_filters
;
1555 #define FUNC_CFG_REQ_MPC_CHNLS_TCE_ENABLE 0x1UL
1556 #define FUNC_CFG_REQ_MPC_CHNLS_TCE_DISABLE 0x2UL
1557 #define FUNC_CFG_REQ_MPC_CHNLS_RCE_ENABLE 0x4UL
1558 #define FUNC_CFG_REQ_MPC_CHNLS_RCE_DISABLE 0x8UL
1559 #define FUNC_CFG_REQ_MPC_CHNLS_TE_CFA_ENABLE 0x10UL
1560 #define FUNC_CFG_REQ_MPC_CHNLS_TE_CFA_DISABLE 0x20UL
1561 #define FUNC_CFG_REQ_MPC_CHNLS_RE_CFA_ENABLE 0x40UL
1562 #define FUNC_CFG_REQ_MPC_CHNLS_RE_CFA_DISABLE 0x80UL
1563 #define FUNC_CFG_REQ_MPC_CHNLS_PRIMATE_ENABLE 0x100UL
1564 #define FUNC_CFG_REQ_MPC_CHNLS_PRIMATE_DISABLE 0x200UL
1568 /* hwrm_func_cfg_output (size:128b/16B) */
1569 struct hwrm_func_cfg_output
{
1578 /* hwrm_func_qstats_input (size:192b/24B) */
1579 struct hwrm_func_qstats_input
{
1587 #define FUNC_QSTATS_REQ_FLAGS_UNUSED 0x0UL
1588 #define FUNC_QSTATS_REQ_FLAGS_ROCE_ONLY 0x1UL
1589 #define FUNC_QSTATS_REQ_FLAGS_COUNTER_MASK 0x2UL
1590 #define FUNC_QSTATS_REQ_FLAGS_LAST FUNC_QSTATS_REQ_FLAGS_COUNTER_MASK
1594 /* hwrm_func_qstats_output (size:1408b/176B) */
1595 struct hwrm_func_qstats_output
{
1600 __le64 tx_ucast_pkts
;
1601 __le64 tx_mcast_pkts
;
1602 __le64 tx_bcast_pkts
;
1603 __le64 tx_discard_pkts
;
1604 __le64 tx_drop_pkts
;
1605 __le64 tx_ucast_bytes
;
1606 __le64 tx_mcast_bytes
;
1607 __le64 tx_bcast_bytes
;
1608 __le64 rx_ucast_pkts
;
1609 __le64 rx_mcast_pkts
;
1610 __le64 rx_bcast_pkts
;
1611 __le64 rx_discard_pkts
;
1612 __le64 rx_drop_pkts
;
1613 __le64 rx_ucast_bytes
;
1614 __le64 rx_mcast_bytes
;
1615 __le64 rx_bcast_bytes
;
1617 __le64 rx_agg_bytes
;
1618 __le64 rx_agg_events
;
1619 __le64 rx_agg_aborts
;
1624 /* hwrm_func_qstats_ext_input (size:256b/32B) */
1625 struct hwrm_func_qstats_ext_input
{
1633 #define FUNC_QSTATS_EXT_REQ_FLAGS_UNUSED 0x0UL
1634 #define FUNC_QSTATS_EXT_REQ_FLAGS_ROCE_ONLY 0x1UL
1635 #define FUNC_QSTATS_EXT_REQ_FLAGS_COUNTER_MASK 0x2UL
1636 #define FUNC_QSTATS_EXT_REQ_FLAGS_LAST FUNC_QSTATS_EXT_REQ_FLAGS_COUNTER_MASK
1639 #define FUNC_QSTATS_EXT_REQ_ENABLES_SCHQ_ID 0x1UL
1641 __le16 traffic_class
;
1645 /* hwrm_func_qstats_ext_output (size:1536b/192B) */
1646 struct hwrm_func_qstats_ext_output
{
1651 __le64 rx_ucast_pkts
;
1652 __le64 rx_mcast_pkts
;
1653 __le64 rx_bcast_pkts
;
1654 __le64 rx_discard_pkts
;
1655 __le64 rx_error_pkts
;
1656 __le64 rx_ucast_bytes
;
1657 __le64 rx_mcast_bytes
;
1658 __le64 rx_bcast_bytes
;
1659 __le64 tx_ucast_pkts
;
1660 __le64 tx_mcast_pkts
;
1661 __le64 tx_bcast_pkts
;
1662 __le64 tx_error_pkts
;
1663 __le64 tx_discard_pkts
;
1664 __le64 tx_ucast_bytes
;
1665 __le64 tx_mcast_bytes
;
1666 __le64 tx_bcast_bytes
;
1667 __le64 rx_tpa_eligible_pkt
;
1668 __le64 rx_tpa_eligible_bytes
;
1670 __le64 rx_tpa_bytes
;
1671 __le64 rx_tpa_errors
;
1672 __le64 rx_tpa_events
;
1677 /* hwrm_func_clr_stats_input (size:192b/24B) */
1678 struct hwrm_func_clr_stats_input
{
1688 /* hwrm_func_clr_stats_output (size:128b/16B) */
1689 struct hwrm_func_clr_stats_output
{
1698 /* hwrm_func_vf_resc_free_input (size:192b/24B) */
1699 struct hwrm_func_vf_resc_free_input
{
1709 /* hwrm_func_vf_resc_free_output (size:128b/16B) */
1710 struct hwrm_func_vf_resc_free_output
{
1719 /* hwrm_func_drv_rgtr_input (size:896b/112B) */
1720 struct hwrm_func_drv_rgtr_input
{
1727 #define FUNC_DRV_RGTR_REQ_FLAGS_FWD_ALL_MODE 0x1UL
1728 #define FUNC_DRV_RGTR_REQ_FLAGS_FWD_NONE_MODE 0x2UL
1729 #define FUNC_DRV_RGTR_REQ_FLAGS_16BIT_VER_MODE 0x4UL
1730 #define FUNC_DRV_RGTR_REQ_FLAGS_FLOW_HANDLE_64BIT_MODE 0x8UL
1731 #define FUNC_DRV_RGTR_REQ_FLAGS_HOT_RESET_SUPPORT 0x10UL
1732 #define FUNC_DRV_RGTR_REQ_FLAGS_ERROR_RECOVERY_SUPPORT 0x20UL
1733 #define FUNC_DRV_RGTR_REQ_FLAGS_MASTER_SUPPORT 0x40UL
1735 #define FUNC_DRV_RGTR_REQ_ENABLES_OS_TYPE 0x1UL
1736 #define FUNC_DRV_RGTR_REQ_ENABLES_VER 0x2UL
1737 #define FUNC_DRV_RGTR_REQ_ENABLES_TIMESTAMP 0x4UL
1738 #define FUNC_DRV_RGTR_REQ_ENABLES_VF_REQ_FWD 0x8UL
1739 #define FUNC_DRV_RGTR_REQ_ENABLES_ASYNC_EVENT_FWD 0x10UL
1741 #define FUNC_DRV_RGTR_REQ_OS_TYPE_UNKNOWN 0x0UL
1742 #define FUNC_DRV_RGTR_REQ_OS_TYPE_OTHER 0x1UL
1743 #define FUNC_DRV_RGTR_REQ_OS_TYPE_MSDOS 0xeUL
1744 #define FUNC_DRV_RGTR_REQ_OS_TYPE_WINDOWS 0x12UL
1745 #define FUNC_DRV_RGTR_REQ_OS_TYPE_SOLARIS 0x1dUL
1746 #define FUNC_DRV_RGTR_REQ_OS_TYPE_LINUX 0x24UL
1747 #define FUNC_DRV_RGTR_REQ_OS_TYPE_FREEBSD 0x2aUL
1748 #define FUNC_DRV_RGTR_REQ_OS_TYPE_ESXI 0x68UL
1749 #define FUNC_DRV_RGTR_REQ_OS_TYPE_WIN864 0x73UL
1750 #define FUNC_DRV_RGTR_REQ_OS_TYPE_WIN2012R2 0x74UL
1751 #define FUNC_DRV_RGTR_REQ_OS_TYPE_UEFI 0x8000UL
1752 #define FUNC_DRV_RGTR_REQ_OS_TYPE_LAST FUNC_DRV_RGTR_REQ_OS_TYPE_UEFI
1759 __le32 vf_req_fwd
[8];
1760 __le32 async_event_fwd
[8];
1767 /* hwrm_func_drv_rgtr_output (size:128b/16B) */
1768 struct hwrm_func_drv_rgtr_output
{
1774 #define FUNC_DRV_RGTR_RESP_FLAGS_IF_CHANGE_SUPPORTED 0x1UL
1779 /* hwrm_func_drv_unrgtr_input (size:192b/24B) */
1780 struct hwrm_func_drv_unrgtr_input
{
1787 #define FUNC_DRV_UNRGTR_REQ_FLAGS_PREPARE_FOR_SHUTDOWN 0x1UL
1791 /* hwrm_func_drv_unrgtr_output (size:128b/16B) */
1792 struct hwrm_func_drv_unrgtr_output
{
1801 /* hwrm_func_buf_rgtr_input (size:1024b/128B) */
1802 struct hwrm_func_buf_rgtr_input
{
1809 #define FUNC_BUF_RGTR_REQ_ENABLES_VF_ID 0x1UL
1810 #define FUNC_BUF_RGTR_REQ_ENABLES_ERR_BUF_ADDR 0x2UL
1812 __le16 req_buf_num_pages
;
1813 __le16 req_buf_page_size
;
1814 #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_16B 0x4UL
1815 #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_4K 0xcUL
1816 #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_8K 0xdUL
1817 #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_64K 0x10UL
1818 #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_2M 0x15UL
1819 #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_4M 0x16UL
1820 #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_1G 0x1eUL
1821 #define FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_LAST FUNC_BUF_RGTR_REQ_REQ_BUF_PAGE_SIZE_1G
1823 __le16 resp_buf_len
;
1825 __le64 req_buf_page_addr0
;
1826 __le64 req_buf_page_addr1
;
1827 __le64 req_buf_page_addr2
;
1828 __le64 req_buf_page_addr3
;
1829 __le64 req_buf_page_addr4
;
1830 __le64 req_buf_page_addr5
;
1831 __le64 req_buf_page_addr6
;
1832 __le64 req_buf_page_addr7
;
1833 __le64 req_buf_page_addr8
;
1834 __le64 req_buf_page_addr9
;
1835 __le64 error_buf_addr
;
1836 __le64 resp_buf_addr
;
1839 /* hwrm_func_buf_rgtr_output (size:128b/16B) */
1840 struct hwrm_func_buf_rgtr_output
{
1849 /* hwrm_func_drv_qver_input (size:192b/24B) */
1850 struct hwrm_func_drv_qver_input
{
1861 /* hwrm_func_drv_qver_output (size:256b/32B) */
1862 struct hwrm_func_drv_qver_output
{
1868 #define FUNC_DRV_QVER_RESP_OS_TYPE_UNKNOWN 0x0UL
1869 #define FUNC_DRV_QVER_RESP_OS_TYPE_OTHER 0x1UL
1870 #define FUNC_DRV_QVER_RESP_OS_TYPE_MSDOS 0xeUL
1871 #define FUNC_DRV_QVER_RESP_OS_TYPE_WINDOWS 0x12UL
1872 #define FUNC_DRV_QVER_RESP_OS_TYPE_SOLARIS 0x1dUL
1873 #define FUNC_DRV_QVER_RESP_OS_TYPE_LINUX 0x24UL
1874 #define FUNC_DRV_QVER_RESP_OS_TYPE_FREEBSD 0x2aUL
1875 #define FUNC_DRV_QVER_RESP_OS_TYPE_ESXI 0x68UL
1876 #define FUNC_DRV_QVER_RESP_OS_TYPE_WIN864 0x73UL
1877 #define FUNC_DRV_QVER_RESP_OS_TYPE_WIN2012R2 0x74UL
1878 #define FUNC_DRV_QVER_RESP_OS_TYPE_UEFI 0x8000UL
1879 #define FUNC_DRV_QVER_RESP_OS_TYPE_LAST FUNC_DRV_QVER_RESP_OS_TYPE_UEFI
1892 /* hwrm_func_resource_qcaps_input (size:192b/24B) */
1893 struct hwrm_func_resource_qcaps_input
{
1903 /* hwrm_func_resource_qcaps_output (size:448b/56B) */
1904 struct hwrm_func_resource_qcaps_output
{
1911 __le16 vf_reservation_strategy
;
1912 #define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MAXIMAL 0x0UL
1913 #define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MINIMAL 0x1UL
1914 #define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MINIMAL_STATIC 0x2UL
1915 #define FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_LAST FUNC_RESOURCE_QCAPS_RESP_VF_RESERVATION_STRATEGY_MINIMAL_STATIC
1916 __le16 min_rsscos_ctx
;
1917 __le16 max_rsscos_ctx
;
1918 __le16 min_cmpl_rings
;
1919 __le16 max_cmpl_rings
;
1920 __le16 min_tx_rings
;
1921 __le16 max_tx_rings
;
1922 __le16 min_rx_rings
;
1923 __le16 max_rx_rings
;
1928 __le16 min_stat_ctx
;
1929 __le16 max_stat_ctx
;
1930 __le16 min_hw_ring_grps
;
1931 __le16 max_hw_ring_grps
;
1932 __le16 max_tx_scheduler_inputs
;
1934 #define FUNC_RESOURCE_QCAPS_RESP_FLAGS_MIN_GUARANTEED 0x1UL
1939 /* hwrm_func_vf_resource_cfg_input (size:448b/56B) */
1940 struct hwrm_func_vf_resource_cfg_input
{
1948 __le16 min_rsscos_ctx
;
1949 __le16 max_rsscos_ctx
;
1950 __le16 min_cmpl_rings
;
1951 __le16 max_cmpl_rings
;
1952 __le16 min_tx_rings
;
1953 __le16 max_tx_rings
;
1954 __le16 min_rx_rings
;
1955 __le16 max_rx_rings
;
1960 __le16 min_stat_ctx
;
1961 __le16 max_stat_ctx
;
1962 __le16 min_hw_ring_grps
;
1963 __le16 max_hw_ring_grps
;
1965 #define FUNC_VF_RESOURCE_CFG_REQ_FLAGS_MIN_GUARANTEED 0x1UL
1969 /* hwrm_func_vf_resource_cfg_output (size:256b/32B) */
1970 struct hwrm_func_vf_resource_cfg_output
{
1975 __le16 reserved_rsscos_ctx
;
1976 __le16 reserved_cmpl_rings
;
1977 __le16 reserved_tx_rings
;
1978 __le16 reserved_rx_rings
;
1979 __le16 reserved_l2_ctxs
;
1980 __le16 reserved_vnics
;
1981 __le16 reserved_stat_ctx
;
1982 __le16 reserved_hw_ring_grps
;
1987 /* hwrm_func_backing_store_qcaps_input (size:128b/16B) */
1988 struct hwrm_func_backing_store_qcaps_input
{
1996 /* hwrm_func_backing_store_qcaps_output (size:640b/80B) */
1997 struct hwrm_func_backing_store_qcaps_output
{
2002 __le32 qp_max_entries
;
2003 __le16 qp_min_qp1_entries
;
2004 __le16 qp_max_l2_entries
;
2005 __le16 qp_entry_size
;
2006 __le16 srq_max_l2_entries
;
2007 __le32 srq_max_entries
;
2008 __le16 srq_entry_size
;
2009 __le16 cq_max_l2_entries
;
2010 __le32 cq_max_entries
;
2011 __le16 cq_entry_size
;
2012 __le16 vnic_max_vnic_entries
;
2013 __le16 vnic_max_ring_table_entries
;
2014 __le16 vnic_entry_size
;
2015 __le32 stat_max_entries
;
2016 __le16 stat_entry_size
;
2017 __le16 tqm_entry_size
;
2018 __le32 tqm_min_entries_per_ring
;
2019 __le32 tqm_max_entries_per_ring
;
2020 __le32 mrav_max_entries
;
2021 __le16 mrav_entry_size
;
2022 __le16 tim_entry_size
;
2023 __le32 tim_max_entries
;
2024 __le16 mrav_num_entries_units
;
2025 u8 tqm_entries_multiple
;
2026 u8 ctx_kind_initializer
;
2029 u8 tqm_fp_rings_count
;
2033 /* hwrm_func_backing_store_cfg_input (size:2048b/256B) */
2034 struct hwrm_func_backing_store_cfg_input
{
2041 #define FUNC_BACKING_STORE_CFG_REQ_FLAGS_PREBOOT_MODE 0x1UL
2042 #define FUNC_BACKING_STORE_CFG_REQ_FLAGS_MRAV_RESERVATION_SPLIT 0x2UL
2044 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_QP 0x1UL
2045 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_SRQ 0x2UL
2046 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_CQ 0x4UL
2047 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_VNIC 0x8UL
2048 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_STAT 0x10UL
2049 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_SP 0x20UL
2050 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING0 0x40UL
2051 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING1 0x80UL
2052 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING2 0x100UL
2053 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING3 0x200UL
2054 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING4 0x400UL
2055 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING5 0x800UL
2056 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING6 0x1000UL
2057 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_RING7 0x2000UL
2058 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_MRAV 0x4000UL
2059 #define FUNC_BACKING_STORE_CFG_REQ_ENABLES_TIM 0x8000UL
2060 u8 qpc_pg_size_qpc_lvl
;
2061 #define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_MASK 0xfUL
2062 #define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_SFT 0
2063 #define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_LVL_0 0x0UL
2064 #define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_LVL_1 0x1UL
2065 #define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_LVL_2 0x2UL
2066 #define FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_QPC_LVL_LVL_2
2067 #define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_MASK 0xf0UL
2068 #define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_SFT 4
2069 #define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_4K (0x0UL << 4)
2070 #define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_8K (0x1UL << 4)
2071 #define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_64K (0x2UL << 4)
2072 #define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_2M (0x3UL << 4)
2073 #define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_8M (0x4UL << 4)
2074 #define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_1G (0x5UL << 4)
2075 #define FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_QPC_PG_SIZE_PG_1G
2076 u8 srq_pg_size_srq_lvl
;
2077 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_MASK 0xfUL
2078 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_SFT 0
2079 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_LVL_0 0x0UL
2080 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_LVL_1 0x1UL
2081 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_LVL_2 0x2UL
2082 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_SRQ_LVL_LVL_2
2083 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_MASK 0xf0UL
2084 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_SFT 4
2085 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_4K (0x0UL << 4)
2086 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_8K (0x1UL << 4)
2087 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_64K (0x2UL << 4)
2088 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_2M (0x3UL << 4)
2089 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_8M (0x4UL << 4)
2090 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_1G (0x5UL << 4)
2091 #define FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_SRQ_PG_SIZE_PG_1G
2092 u8 cq_pg_size_cq_lvl
;
2093 #define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_MASK 0xfUL
2094 #define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_SFT 0
2095 #define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_LVL_0 0x0UL
2096 #define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_LVL_1 0x1UL
2097 #define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_LVL_2 0x2UL
2098 #define FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_CQ_LVL_LVL_2
2099 #define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_MASK 0xf0UL
2100 #define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_SFT 4
2101 #define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_4K (0x0UL << 4)
2102 #define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_8K (0x1UL << 4)
2103 #define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_64K (0x2UL << 4)
2104 #define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_2M (0x3UL << 4)
2105 #define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_8M (0x4UL << 4)
2106 #define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_1G (0x5UL << 4)
2107 #define FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_CQ_PG_SIZE_PG_1G
2108 u8 vnic_pg_size_vnic_lvl
;
2109 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_MASK 0xfUL
2110 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_SFT 0
2111 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_LVL_0 0x0UL
2112 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_LVL_1 0x1UL
2113 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_LVL_2 0x2UL
2114 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_VNIC_LVL_LVL_2
2115 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_MASK 0xf0UL
2116 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_SFT 4
2117 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_4K (0x0UL << 4)
2118 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_8K (0x1UL << 4)
2119 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_64K (0x2UL << 4)
2120 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_2M (0x3UL << 4)
2121 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_8M (0x4UL << 4)
2122 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_1G (0x5UL << 4)
2123 #define FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_VNIC_PG_SIZE_PG_1G
2124 u8 stat_pg_size_stat_lvl
;
2125 #define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_MASK 0xfUL
2126 #define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_SFT 0
2127 #define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_LVL_0 0x0UL
2128 #define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_LVL_1 0x1UL
2129 #define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_LVL_2 0x2UL
2130 #define FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_STAT_LVL_LVL_2
2131 #define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_MASK 0xf0UL
2132 #define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_SFT 4
2133 #define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_4K (0x0UL << 4)
2134 #define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_8K (0x1UL << 4)
2135 #define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_64K (0x2UL << 4)
2136 #define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_2M (0x3UL << 4)
2137 #define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_8M (0x4UL << 4)
2138 #define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_1G (0x5UL << 4)
2139 #define FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_STAT_PG_SIZE_PG_1G
2140 u8 tqm_sp_pg_size_tqm_sp_lvl
;
2141 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_MASK 0xfUL
2142 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_SFT 0
2143 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_LVL_0 0x0UL
2144 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_LVL_1 0x1UL
2145 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_LVL_2 0x2UL
2146 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_SP_LVL_LVL_2
2147 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_MASK 0xf0UL
2148 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_SFT 4
2149 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_4K (0x0UL << 4)
2150 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_8K (0x1UL << 4)
2151 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_64K (0x2UL << 4)
2152 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_2M (0x3UL << 4)
2153 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_8M (0x4UL << 4)
2154 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_1G (0x5UL << 4)
2155 #define FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_SP_PG_SIZE_PG_1G
2156 u8 tqm_ring0_pg_size_tqm_ring0_lvl
;
2157 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_MASK 0xfUL
2158 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_SFT 0
2159 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_LVL_0 0x0UL
2160 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_LVL_1 0x1UL
2161 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_LVL_2 0x2UL
2162 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_LVL_LVL_2
2163 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_MASK 0xf0UL
2164 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_SFT 4
2165 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_4K (0x0UL << 4)
2166 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_8K (0x1UL << 4)
2167 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_64K (0x2UL << 4)
2168 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_2M (0x3UL << 4)
2169 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_8M (0x4UL << 4)
2170 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_1G (0x5UL << 4)
2171 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING0_PG_SIZE_PG_1G
2172 u8 tqm_ring1_pg_size_tqm_ring1_lvl
;
2173 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_MASK 0xfUL
2174 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_SFT 0
2175 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_LVL_0 0x0UL
2176 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_LVL_1 0x1UL
2177 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_LVL_2 0x2UL
2178 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_LVL_LVL_2
2179 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_MASK 0xf0UL
2180 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_SFT 4
2181 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_4K (0x0UL << 4)
2182 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_8K (0x1UL << 4)
2183 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_64K (0x2UL << 4)
2184 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_2M (0x3UL << 4)
2185 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_8M (0x4UL << 4)
2186 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_1G (0x5UL << 4)
2187 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING1_PG_SIZE_PG_1G
2188 u8 tqm_ring2_pg_size_tqm_ring2_lvl
;
2189 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_MASK 0xfUL
2190 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_SFT 0
2191 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_LVL_0 0x0UL
2192 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_LVL_1 0x1UL
2193 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_LVL_2 0x2UL
2194 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_LVL_LVL_2
2195 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_MASK 0xf0UL
2196 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_SFT 4
2197 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_4K (0x0UL << 4)
2198 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_8K (0x1UL << 4)
2199 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_64K (0x2UL << 4)
2200 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_2M (0x3UL << 4)
2201 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_8M (0x4UL << 4)
2202 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_1G (0x5UL << 4)
2203 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING2_PG_SIZE_PG_1G
2204 u8 tqm_ring3_pg_size_tqm_ring3_lvl
;
2205 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_MASK 0xfUL
2206 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_SFT 0
2207 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_LVL_0 0x0UL
2208 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_LVL_1 0x1UL
2209 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_LVL_2 0x2UL
2210 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_LVL_LVL_2
2211 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_MASK 0xf0UL
2212 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_SFT 4
2213 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_4K (0x0UL << 4)
2214 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_8K (0x1UL << 4)
2215 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_64K (0x2UL << 4)
2216 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_2M (0x3UL << 4)
2217 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_8M (0x4UL << 4)
2218 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_1G (0x5UL << 4)
2219 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING3_PG_SIZE_PG_1G
2220 u8 tqm_ring4_pg_size_tqm_ring4_lvl
;
2221 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_MASK 0xfUL
2222 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_SFT 0
2223 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_LVL_0 0x0UL
2224 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_LVL_1 0x1UL
2225 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_LVL_2 0x2UL
2226 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_LVL_LVL_2
2227 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_MASK 0xf0UL
2228 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_SFT 4
2229 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_4K (0x0UL << 4)
2230 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_8K (0x1UL << 4)
2231 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_64K (0x2UL << 4)
2232 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_2M (0x3UL << 4)
2233 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_8M (0x4UL << 4)
2234 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_1G (0x5UL << 4)
2235 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING4_PG_SIZE_PG_1G
2236 u8 tqm_ring5_pg_size_tqm_ring5_lvl
;
2237 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_MASK 0xfUL
2238 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_SFT 0
2239 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_LVL_0 0x0UL
2240 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_LVL_1 0x1UL
2241 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_LVL_2 0x2UL
2242 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_LVL_LVL_2
2243 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_MASK 0xf0UL
2244 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_SFT 4
2245 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_4K (0x0UL << 4)
2246 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_8K (0x1UL << 4)
2247 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_64K (0x2UL << 4)
2248 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_2M (0x3UL << 4)
2249 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_8M (0x4UL << 4)
2250 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_1G (0x5UL << 4)
2251 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING5_PG_SIZE_PG_1G
2252 u8 tqm_ring6_pg_size_tqm_ring6_lvl
;
2253 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_MASK 0xfUL
2254 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_SFT 0
2255 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_LVL_0 0x0UL
2256 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_LVL_1 0x1UL
2257 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_LVL_2 0x2UL
2258 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_LVL_LVL_2
2259 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_MASK 0xf0UL
2260 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_SFT 4
2261 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_4K (0x0UL << 4)
2262 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_8K (0x1UL << 4)
2263 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_64K (0x2UL << 4)
2264 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_2M (0x3UL << 4)
2265 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_8M (0x4UL << 4)
2266 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_1G (0x5UL << 4)
2267 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING6_PG_SIZE_PG_1G
2268 u8 tqm_ring7_pg_size_tqm_ring7_lvl
;
2269 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_MASK 0xfUL
2270 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_SFT 0
2271 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_LVL_0 0x0UL
2272 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_LVL_1 0x1UL
2273 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_LVL_2 0x2UL
2274 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_LVL_LVL_2
2275 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_MASK 0xf0UL
2276 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_SFT 4
2277 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_4K (0x0UL << 4)
2278 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_8K (0x1UL << 4)
2279 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_64K (0x2UL << 4)
2280 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_2M (0x3UL << 4)
2281 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_8M (0x4UL << 4)
2282 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_1G (0x5UL << 4)
2283 #define FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_TQM_RING7_PG_SIZE_PG_1G
2284 u8 mrav_pg_size_mrav_lvl
;
2285 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_MASK 0xfUL
2286 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_SFT 0
2287 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_LVL_0 0x0UL
2288 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_LVL_1 0x1UL
2289 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_LVL_2 0x2UL
2290 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_MRAV_LVL_LVL_2
2291 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_MASK 0xf0UL
2292 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_SFT 4
2293 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_4K (0x0UL << 4)
2294 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_8K (0x1UL << 4)
2295 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_64K (0x2UL << 4)
2296 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_2M (0x3UL << 4)
2297 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_8M (0x4UL << 4)
2298 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_1G (0x5UL << 4)
2299 #define FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_MRAV_PG_SIZE_PG_1G
2300 u8 tim_pg_size_tim_lvl
;
2301 #define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_MASK 0xfUL
2302 #define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_SFT 0
2303 #define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_LVL_0 0x0UL
2304 #define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_LVL_1 0x1UL
2305 #define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_LVL_2 0x2UL
2306 #define FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_LAST FUNC_BACKING_STORE_CFG_REQ_TIM_LVL_LVL_2
2307 #define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_MASK 0xf0UL
2308 #define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_SFT 4
2309 #define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_4K (0x0UL << 4)
2310 #define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_8K (0x1UL << 4)
2311 #define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_64K (0x2UL << 4)
2312 #define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_2M (0x3UL << 4)
2313 #define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_8M (0x4UL << 4)
2314 #define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_1G (0x5UL << 4)
2315 #define FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_LAST FUNC_BACKING_STORE_CFG_REQ_TIM_PG_SIZE_PG_1G
2316 __le64 qpc_page_dir
;
2317 __le64 srq_page_dir
;
2319 __le64 vnic_page_dir
;
2320 __le64 stat_page_dir
;
2321 __le64 tqm_sp_page_dir
;
2322 __le64 tqm_ring0_page_dir
;
2323 __le64 tqm_ring1_page_dir
;
2324 __le64 tqm_ring2_page_dir
;
2325 __le64 tqm_ring3_page_dir
;
2326 __le64 tqm_ring4_page_dir
;
2327 __le64 tqm_ring5_page_dir
;
2328 __le64 tqm_ring6_page_dir
;
2329 __le64 tqm_ring7_page_dir
;
2330 __le64 mrav_page_dir
;
2331 __le64 tim_page_dir
;
2332 __le32 qp_num_entries
;
2333 __le32 srq_num_entries
;
2334 __le32 cq_num_entries
;
2335 __le32 stat_num_entries
;
2336 __le32 tqm_sp_num_entries
;
2337 __le32 tqm_ring0_num_entries
;
2338 __le32 tqm_ring1_num_entries
;
2339 __le32 tqm_ring2_num_entries
;
2340 __le32 tqm_ring3_num_entries
;
2341 __le32 tqm_ring4_num_entries
;
2342 __le32 tqm_ring5_num_entries
;
2343 __le32 tqm_ring6_num_entries
;
2344 __le32 tqm_ring7_num_entries
;
2345 __le32 mrav_num_entries
;
2346 __le32 tim_num_entries
;
2347 __le16 qp_num_qp1_entries
;
2348 __le16 qp_num_l2_entries
;
2349 __le16 qp_entry_size
;
2350 __le16 srq_num_l2_entries
;
2351 __le16 srq_entry_size
;
2352 __le16 cq_num_l2_entries
;
2353 __le16 cq_entry_size
;
2354 __le16 vnic_num_vnic_entries
;
2355 __le16 vnic_num_ring_table_entries
;
2356 __le16 vnic_entry_size
;
2357 __le16 stat_entry_size
;
2358 __le16 tqm_entry_size
;
2359 __le16 mrav_entry_size
;
2360 __le16 tim_entry_size
;
2363 /* hwrm_func_backing_store_cfg_output (size:128b/16B) */
2364 struct hwrm_func_backing_store_cfg_output
{
2373 /* hwrm_error_recovery_qcfg_input (size:192b/24B) */
2374 struct hwrm_error_recovery_qcfg_input
{
2383 /* hwrm_error_recovery_qcfg_output (size:1664b/208B) */
2384 struct hwrm_error_recovery_qcfg_output
{
2390 #define ERROR_RECOVERY_QCFG_RESP_FLAGS_HOST 0x1UL
2391 #define ERROR_RECOVERY_QCFG_RESP_FLAGS_CO_CPU 0x2UL
2392 __le32 driver_polling_freq
;
2393 __le32 master_func_wait_period
;
2394 __le32 normal_func_wait_period
;
2395 __le32 master_func_wait_period_after_reset
;
2396 __le32 max_bailout_time_after_reset
;
2397 __le32 fw_health_status_reg
;
2398 #define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_MASK 0x3UL
2399 #define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_SFT 0
2400 #define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_PCIE_CFG 0x0UL
2401 #define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_GRC 0x1UL
2402 #define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_BAR0 0x2UL
2403 #define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_BAR1 0x3UL
2404 #define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_LAST ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SPACE_BAR1
2405 #define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_MASK 0xfffffffcUL
2406 #define ERROR_RECOVERY_QCFG_RESP_FW_HEALTH_STATUS_REG_ADDR_SFT 2
2407 __le32 fw_heartbeat_reg
;
2408 #define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_MASK 0x3UL
2409 #define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_SFT 0
2410 #define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_PCIE_CFG 0x0UL
2411 #define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_GRC 0x1UL
2412 #define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_BAR0 0x2UL
2413 #define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_BAR1 0x3UL
2414 #define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_LAST ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SPACE_BAR1
2415 #define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_MASK 0xfffffffcUL
2416 #define ERROR_RECOVERY_QCFG_RESP_FW_HEARTBEAT_REG_ADDR_SFT 2
2417 __le32 fw_reset_cnt_reg
;
2418 #define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_MASK 0x3UL
2419 #define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_SFT 0
2420 #define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_PCIE_CFG 0x0UL
2421 #define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_GRC 0x1UL
2422 #define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_BAR0 0x2UL
2423 #define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_BAR1 0x3UL
2424 #define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_LAST ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SPACE_BAR1
2425 #define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_MASK 0xfffffffcUL
2426 #define ERROR_RECOVERY_QCFG_RESP_FW_RESET_CNT_REG_ADDR_SFT 2
2427 __le32 reset_inprogress_reg
;
2428 #define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_MASK 0x3UL
2429 #define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_SFT 0
2430 #define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_PCIE_CFG 0x0UL
2431 #define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_GRC 0x1UL
2432 #define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_BAR0 0x2UL
2433 #define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_BAR1 0x3UL
2434 #define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_LAST ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SPACE_BAR1
2435 #define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_MASK 0xfffffffcUL
2436 #define ERROR_RECOVERY_QCFG_RESP_RESET_INPROGRESS_REG_ADDR_SFT 2
2437 __le32 reset_inprogress_reg_mask
;
2440 __le32 reset_reg
[16];
2441 #define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_MASK 0x3UL
2442 #define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_SFT 0
2443 #define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_PCIE_CFG 0x0UL
2444 #define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_GRC 0x1UL
2445 #define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_BAR0 0x2UL
2446 #define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_BAR1 0x3UL
2447 #define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_LAST ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SPACE_BAR1
2448 #define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_MASK 0xfffffffcUL
2449 #define ERROR_RECOVERY_QCFG_RESP_RESET_REG_ADDR_SFT 2
2450 __le32 reset_reg_val
[16];
2451 u8 delay_after_reset
[16];
2452 __le32 err_recovery_cnt_reg
;
2453 #define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_MASK 0x3UL
2454 #define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_SFT 0
2455 #define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_PCIE_CFG 0x0UL
2456 #define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_GRC 0x1UL
2457 #define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_BAR0 0x2UL
2458 #define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_BAR1 0x3UL
2459 #define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_LAST ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SPACE_BAR1
2460 #define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_MASK 0xfffffffcUL
2461 #define ERROR_RECOVERY_QCFG_RESP_ERR_RECOVERY_CNT_REG_ADDR_SFT 2
2466 /* hwrm_func_drv_if_change_input (size:192b/24B) */
2467 struct hwrm_func_drv_if_change_input
{
2474 #define FUNC_DRV_IF_CHANGE_REQ_FLAGS_UP 0x1UL
2478 /* hwrm_func_drv_if_change_output (size:128b/16B) */
2479 struct hwrm_func_drv_if_change_output
{
2485 #define FUNC_DRV_IF_CHANGE_RESP_FLAGS_RESC_CHANGE 0x1UL
2486 #define FUNC_DRV_IF_CHANGE_RESP_FLAGS_HOT_FW_RESET_DONE 0x2UL
2491 /* hwrm_port_phy_cfg_input (size:448b/56B) */
2492 struct hwrm_port_phy_cfg_input
{
2499 #define PORT_PHY_CFG_REQ_FLAGS_RESET_PHY 0x1UL
2500 #define PORT_PHY_CFG_REQ_FLAGS_DEPRECATED 0x2UL
2501 #define PORT_PHY_CFG_REQ_FLAGS_FORCE 0x4UL
2502 #define PORT_PHY_CFG_REQ_FLAGS_RESTART_AUTONEG 0x8UL
2503 #define PORT_PHY_CFG_REQ_FLAGS_EEE_ENABLE 0x10UL
2504 #define PORT_PHY_CFG_REQ_FLAGS_EEE_DISABLE 0x20UL
2505 #define PORT_PHY_CFG_REQ_FLAGS_EEE_TX_LPI_ENABLE 0x40UL
2506 #define PORT_PHY_CFG_REQ_FLAGS_EEE_TX_LPI_DISABLE 0x80UL
2507 #define PORT_PHY_CFG_REQ_FLAGS_FEC_AUTONEG_ENABLE 0x100UL
2508 #define PORT_PHY_CFG_REQ_FLAGS_FEC_AUTONEG_DISABLE 0x200UL
2509 #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE74_ENABLE 0x400UL
2510 #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE74_DISABLE 0x800UL
2511 #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE91_ENABLE 0x1000UL
2512 #define PORT_PHY_CFG_REQ_FLAGS_FEC_CLAUSE91_DISABLE 0x2000UL
2513 #define PORT_PHY_CFG_REQ_FLAGS_FORCE_LINK_DWN 0x4000UL
2514 #define PORT_PHY_CFG_REQ_FLAGS_FEC_RS544_1XN_ENABLE 0x8000UL
2515 #define PORT_PHY_CFG_REQ_FLAGS_FEC_RS544_1XN_DISABLE 0x10000UL
2516 #define PORT_PHY_CFG_REQ_FLAGS_FEC_RS544_IEEE_ENABLE 0x20000UL
2517 #define PORT_PHY_CFG_REQ_FLAGS_FEC_RS544_IEEE_DISABLE 0x40000UL
2518 #define PORT_PHY_CFG_REQ_FLAGS_FEC_RS272_1XN_ENABLE 0x80000UL
2519 #define PORT_PHY_CFG_REQ_FLAGS_FEC_RS272_1XN_DISABLE 0x100000UL
2520 #define PORT_PHY_CFG_REQ_FLAGS_FEC_RS272_IEEE_ENABLE 0x200000UL
2521 #define PORT_PHY_CFG_REQ_FLAGS_FEC_RS272_IEEE_DISABLE 0x400000UL
2523 #define PORT_PHY_CFG_REQ_ENABLES_AUTO_MODE 0x1UL
2524 #define PORT_PHY_CFG_REQ_ENABLES_AUTO_DUPLEX 0x2UL
2525 #define PORT_PHY_CFG_REQ_ENABLES_AUTO_PAUSE 0x4UL
2526 #define PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED 0x8UL
2527 #define PORT_PHY_CFG_REQ_ENABLES_AUTO_LINK_SPEED_MASK 0x10UL
2528 #define PORT_PHY_CFG_REQ_ENABLES_WIRESPEED 0x20UL
2529 #define PORT_PHY_CFG_REQ_ENABLES_LPBK 0x40UL
2530 #define PORT_PHY_CFG_REQ_ENABLES_PREEMPHASIS 0x80UL
2531 #define PORT_PHY_CFG_REQ_ENABLES_FORCE_PAUSE 0x100UL
2532 #define PORT_PHY_CFG_REQ_ENABLES_EEE_LINK_SPEED_MASK 0x200UL
2533 #define PORT_PHY_CFG_REQ_ENABLES_TX_LPI_TIMER 0x400UL
2534 #define PORT_PHY_CFG_REQ_ENABLES_FORCE_PAM4_LINK_SPEED 0x800UL
2535 #define PORT_PHY_CFG_REQ_ENABLES_AUTO_PAM4_LINK_SPEED_MASK 0x1000UL
2537 __le16 force_link_speed
;
2538 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100MB 0x1UL
2539 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_1GB 0xaUL
2540 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_2GB 0x14UL
2541 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_2_5GB 0x19UL
2542 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10GB 0x64UL
2543 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_20GB 0xc8UL
2544 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_25GB 0xfaUL
2545 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_40GB 0x190UL
2546 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_50GB 0x1f4UL
2547 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_100GB 0x3e8UL
2548 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10MB 0xffffUL
2549 #define PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_LAST PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10MB
2551 #define PORT_PHY_CFG_REQ_AUTO_MODE_NONE 0x0UL
2552 #define PORT_PHY_CFG_REQ_AUTO_MODE_ALL_SPEEDS 0x1UL
2553 #define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_SPEED 0x2UL
2554 #define PORT_PHY_CFG_REQ_AUTO_MODE_ONE_OR_BELOW 0x3UL
2555 #define PORT_PHY_CFG_REQ_AUTO_MODE_SPEED_MASK 0x4UL
2556 #define PORT_PHY_CFG_REQ_AUTO_MODE_LAST PORT_PHY_CFG_REQ_AUTO_MODE_SPEED_MASK
2558 #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_HALF 0x0UL
2559 #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_FULL 0x1UL
2560 #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_BOTH 0x2UL
2561 #define PORT_PHY_CFG_REQ_AUTO_DUPLEX_LAST PORT_PHY_CFG_REQ_AUTO_DUPLEX_BOTH
2563 #define PORT_PHY_CFG_REQ_AUTO_PAUSE_TX 0x1UL
2564 #define PORT_PHY_CFG_REQ_AUTO_PAUSE_RX 0x2UL
2565 #define PORT_PHY_CFG_REQ_AUTO_PAUSE_AUTONEG_PAUSE 0x4UL
2567 __le16 auto_link_speed
;
2568 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100MB 0x1UL
2569 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_1GB 0xaUL
2570 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_2GB 0x14UL
2571 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_2_5GB 0x19UL
2572 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10GB 0x64UL
2573 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_20GB 0xc8UL
2574 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_25GB 0xfaUL
2575 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_40GB 0x190UL
2576 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_50GB 0x1f4UL
2577 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_100GB 0x3e8UL
2578 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10MB 0xffffUL
2579 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_LAST PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_10MB
2580 __le16 auto_link_speed_mask
;
2581 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MBHD 0x1UL
2582 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100MB 0x2UL
2583 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_1GBHD 0x4UL
2584 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_1GB 0x8UL
2585 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_2GB 0x10UL
2586 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_2_5GB 0x20UL
2587 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10GB 0x40UL
2588 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_20GB 0x80UL
2589 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_25GB 0x100UL
2590 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_40GB 0x200UL
2591 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_50GB 0x400UL
2592 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_100GB 0x800UL
2593 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10MBHD 0x1000UL
2594 #define PORT_PHY_CFG_REQ_AUTO_LINK_SPEED_MASK_10MB 0x2000UL
2596 #define PORT_PHY_CFG_REQ_WIRESPEED_OFF 0x0UL
2597 #define PORT_PHY_CFG_REQ_WIRESPEED_ON 0x1UL
2598 #define PORT_PHY_CFG_REQ_WIRESPEED_LAST PORT_PHY_CFG_REQ_WIRESPEED_ON
2600 #define PORT_PHY_CFG_REQ_LPBK_NONE 0x0UL
2601 #define PORT_PHY_CFG_REQ_LPBK_LOCAL 0x1UL
2602 #define PORT_PHY_CFG_REQ_LPBK_REMOTE 0x2UL
2603 #define PORT_PHY_CFG_REQ_LPBK_EXTERNAL 0x3UL
2604 #define PORT_PHY_CFG_REQ_LPBK_LAST PORT_PHY_CFG_REQ_LPBK_EXTERNAL
2606 #define PORT_PHY_CFG_REQ_FORCE_PAUSE_TX 0x1UL
2607 #define PORT_PHY_CFG_REQ_FORCE_PAUSE_RX 0x2UL
2610 __le16 eee_link_speed_mask
;
2611 #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD1 0x1UL
2612 #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_100MB 0x2UL
2613 #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD2 0x4UL
2614 #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_1GB 0x8UL
2615 #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD3 0x10UL
2616 #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_RSVD4 0x20UL
2617 #define PORT_PHY_CFG_REQ_EEE_LINK_SPEED_MASK_10GB 0x40UL
2618 __le16 force_pam4_link_speed
;
2619 #define PORT_PHY_CFG_REQ_FORCE_PAM4_LINK_SPEED_50GB 0x1f4UL
2620 #define PORT_PHY_CFG_REQ_FORCE_PAM4_LINK_SPEED_100GB 0x3e8UL
2621 #define PORT_PHY_CFG_REQ_FORCE_PAM4_LINK_SPEED_200GB 0x7d0UL
2622 #define PORT_PHY_CFG_REQ_FORCE_PAM4_LINK_SPEED_LAST PORT_PHY_CFG_REQ_FORCE_PAM4_LINK_SPEED_200GB
2623 __le32 tx_lpi_timer
;
2624 #define PORT_PHY_CFG_REQ_TX_LPI_TIMER_MASK 0xffffffUL
2625 #define PORT_PHY_CFG_REQ_TX_LPI_TIMER_SFT 0
2626 __le16 auto_link_pam4_speed_mask
;
2627 #define PORT_PHY_CFG_REQ_AUTO_LINK_PAM4_SPEED_MASK_50G 0x1UL
2628 #define PORT_PHY_CFG_REQ_AUTO_LINK_PAM4_SPEED_MASK_100G 0x2UL
2629 #define PORT_PHY_CFG_REQ_AUTO_LINK_PAM4_SPEED_MASK_200G 0x4UL
2633 /* hwrm_port_phy_cfg_output (size:128b/16B) */
2634 struct hwrm_port_phy_cfg_output
{
2643 /* hwrm_port_phy_cfg_cmd_err (size:64b/8B) */
2644 struct hwrm_port_phy_cfg_cmd_err
{
2646 #define PORT_PHY_CFG_CMD_ERR_CODE_UNKNOWN 0x0UL
2647 #define PORT_PHY_CFG_CMD_ERR_CODE_ILLEGAL_SPEED 0x1UL
2648 #define PORT_PHY_CFG_CMD_ERR_CODE_RETRY 0x2UL
2649 #define PORT_PHY_CFG_CMD_ERR_CODE_LAST PORT_PHY_CFG_CMD_ERR_CODE_RETRY
2653 /* hwrm_port_phy_qcfg_input (size:192b/24B) */
2654 struct hwrm_port_phy_qcfg_input
{
2664 /* hwrm_port_phy_qcfg_output (size:768b/96B) */
2665 struct hwrm_port_phy_qcfg_output
{
2671 #define PORT_PHY_QCFG_RESP_LINK_NO_LINK 0x0UL
2672 #define PORT_PHY_QCFG_RESP_LINK_SIGNAL 0x1UL
2673 #define PORT_PHY_QCFG_RESP_LINK_LINK 0x2UL
2674 #define PORT_PHY_QCFG_RESP_LINK_LAST PORT_PHY_QCFG_RESP_LINK_LINK
2675 u8 active_fec_signal_mode
;
2676 #define PORT_PHY_QCFG_RESP_SIGNAL_MODE_MASK 0xfUL
2677 #define PORT_PHY_QCFG_RESP_SIGNAL_MODE_SFT 0
2678 #define PORT_PHY_QCFG_RESP_SIGNAL_MODE_NRZ 0x0UL
2679 #define PORT_PHY_QCFG_RESP_SIGNAL_MODE_PAM4 0x1UL
2680 #define PORT_PHY_QCFG_RESP_SIGNAL_MODE_LAST PORT_PHY_QCFG_RESP_SIGNAL_MODE_PAM4
2681 #define PORT_PHY_QCFG_RESP_ACTIVE_FEC_MASK 0xf0UL
2682 #define PORT_PHY_QCFG_RESP_ACTIVE_FEC_SFT 4
2683 #define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_NONE_ACTIVE (0x0UL << 4)
2684 #define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_CLAUSE74_ACTIVE (0x1UL << 4)
2685 #define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_CLAUSE91_ACTIVE (0x2UL << 4)
2686 #define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_RS544_1XN_ACTIVE (0x3UL << 4)
2687 #define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_RS544_IEEE_ACTIVE (0x4UL << 4)
2688 #define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_RS272_1XN_ACTIVE (0x5UL << 4)
2689 #define PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_RS272_IEEE_ACTIVE (0x6UL << 4)
2690 #define PORT_PHY_QCFG_RESP_ACTIVE_FEC_LAST PORT_PHY_QCFG_RESP_ACTIVE_FEC_FEC_RS272_IEEE_ACTIVE
2692 #define PORT_PHY_QCFG_RESP_LINK_SPEED_100MB 0x1UL
2693 #define PORT_PHY_QCFG_RESP_LINK_SPEED_1GB 0xaUL
2694 #define PORT_PHY_QCFG_RESP_LINK_SPEED_2GB 0x14UL
2695 #define PORT_PHY_QCFG_RESP_LINK_SPEED_2_5GB 0x19UL
2696 #define PORT_PHY_QCFG_RESP_LINK_SPEED_10GB 0x64UL
2697 #define PORT_PHY_QCFG_RESP_LINK_SPEED_20GB 0xc8UL
2698 #define PORT_PHY_QCFG_RESP_LINK_SPEED_25GB 0xfaUL
2699 #define PORT_PHY_QCFG_RESP_LINK_SPEED_40GB 0x190UL
2700 #define PORT_PHY_QCFG_RESP_LINK_SPEED_50GB 0x1f4UL
2701 #define PORT_PHY_QCFG_RESP_LINK_SPEED_100GB 0x3e8UL
2702 #define PORT_PHY_QCFG_RESP_LINK_SPEED_200GB 0x7d0UL
2703 #define PORT_PHY_QCFG_RESP_LINK_SPEED_10MB 0xffffUL
2704 #define PORT_PHY_QCFG_RESP_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_LINK_SPEED_10MB
2706 #define PORT_PHY_QCFG_RESP_DUPLEX_CFG_HALF 0x0UL
2707 #define PORT_PHY_QCFG_RESP_DUPLEX_CFG_FULL 0x1UL
2708 #define PORT_PHY_QCFG_RESP_DUPLEX_CFG_LAST PORT_PHY_QCFG_RESP_DUPLEX_CFG_FULL
2710 #define PORT_PHY_QCFG_RESP_PAUSE_TX 0x1UL
2711 #define PORT_PHY_QCFG_RESP_PAUSE_RX 0x2UL
2712 __le16 support_speeds
;
2713 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100MBHD 0x1UL
2714 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100MB 0x2UL
2715 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_1GBHD 0x4UL
2716 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_1GB 0x8UL
2717 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_2GB 0x10UL
2718 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_2_5GB 0x20UL
2719 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10GB 0x40UL
2720 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_20GB 0x80UL
2721 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_25GB 0x100UL
2722 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_40GB 0x200UL
2723 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_50GB 0x400UL
2724 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_100GB 0x800UL
2725 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10MBHD 0x1000UL
2726 #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS_10MB 0x2000UL
2727 __le16 force_link_speed
;
2728 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100MB 0x1UL
2729 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_1GB 0xaUL
2730 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_2GB 0x14UL
2731 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_2_5GB 0x19UL
2732 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10GB 0x64UL
2733 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_20GB 0xc8UL
2734 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_25GB 0xfaUL
2735 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_40GB 0x190UL
2736 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_50GB 0x1f4UL
2737 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_100GB 0x3e8UL
2738 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10MB 0xffffUL
2739 #define PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_FORCE_LINK_SPEED_10MB
2741 #define PORT_PHY_QCFG_RESP_AUTO_MODE_NONE 0x0UL
2742 #define PORT_PHY_QCFG_RESP_AUTO_MODE_ALL_SPEEDS 0x1UL
2743 #define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_SPEED 0x2UL
2744 #define PORT_PHY_QCFG_RESP_AUTO_MODE_ONE_OR_BELOW 0x3UL
2745 #define PORT_PHY_QCFG_RESP_AUTO_MODE_SPEED_MASK 0x4UL
2746 #define PORT_PHY_QCFG_RESP_AUTO_MODE_LAST PORT_PHY_QCFG_RESP_AUTO_MODE_SPEED_MASK
2748 #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_TX 0x1UL
2749 #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_RX 0x2UL
2750 #define PORT_PHY_QCFG_RESP_AUTO_PAUSE_AUTONEG_PAUSE 0x4UL
2751 __le16 auto_link_speed
;
2752 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100MB 0x1UL
2753 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_1GB 0xaUL
2754 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_2GB 0x14UL
2755 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_2_5GB 0x19UL
2756 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10GB 0x64UL
2757 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_20GB 0xc8UL
2758 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_25GB 0xfaUL
2759 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_40GB 0x190UL
2760 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_50GB 0x1f4UL
2761 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_100GB 0x3e8UL
2762 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10MB 0xffffUL
2763 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_10MB
2764 __le16 auto_link_speed_mask
;
2765 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MBHD 0x1UL
2766 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100MB 0x2UL
2767 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_1GBHD 0x4UL
2768 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_1GB 0x8UL
2769 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_2GB 0x10UL
2770 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_2_5GB 0x20UL
2771 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10GB 0x40UL
2772 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_20GB 0x80UL
2773 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_25GB 0x100UL
2774 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_40GB 0x200UL
2775 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_50GB 0x400UL
2776 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_100GB 0x800UL
2777 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10MBHD 0x1000UL
2778 #define PORT_PHY_QCFG_RESP_AUTO_LINK_SPEED_MASK_10MB 0x2000UL
2780 #define PORT_PHY_QCFG_RESP_WIRESPEED_OFF 0x0UL
2781 #define PORT_PHY_QCFG_RESP_WIRESPEED_ON 0x1UL
2782 #define PORT_PHY_QCFG_RESP_WIRESPEED_LAST PORT_PHY_QCFG_RESP_WIRESPEED_ON
2784 #define PORT_PHY_QCFG_RESP_LPBK_NONE 0x0UL
2785 #define PORT_PHY_QCFG_RESP_LPBK_LOCAL 0x1UL
2786 #define PORT_PHY_QCFG_RESP_LPBK_REMOTE 0x2UL
2787 #define PORT_PHY_QCFG_RESP_LPBK_EXTERNAL 0x3UL
2788 #define PORT_PHY_QCFG_RESP_LPBK_LAST PORT_PHY_QCFG_RESP_LPBK_EXTERNAL
2790 #define PORT_PHY_QCFG_RESP_FORCE_PAUSE_TX 0x1UL
2791 #define PORT_PHY_QCFG_RESP_FORCE_PAUSE_RX 0x2UL
2793 #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NONE 0x0UL
2794 #define PORT_PHY_QCFG_RESP_MODULE_STATUS_DISABLETX 0x1UL
2795 #define PORT_PHY_QCFG_RESP_MODULE_STATUS_WARNINGMSG 0x2UL
2796 #define PORT_PHY_QCFG_RESP_MODULE_STATUS_PWRDOWN 0x3UL
2797 #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTINSERTED 0x4UL
2798 #define PORT_PHY_QCFG_RESP_MODULE_STATUS_CURRENTFAULT 0x5UL
2799 #define PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTAPPLICABLE 0xffUL
2800 #define PORT_PHY_QCFG_RESP_MODULE_STATUS_LAST PORT_PHY_QCFG_RESP_MODULE_STATUS_NOTAPPLICABLE
2806 #define PORT_PHY_QCFG_RESP_PHY_TYPE_UNKNOWN 0x0UL
2807 #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASECR 0x1UL
2808 #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR4 0x2UL
2809 #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASELR 0x3UL
2810 #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASESR 0x4UL
2811 #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR2 0x5UL
2812 #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKX 0x6UL
2813 #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASEKR 0x7UL
2814 #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASET 0x8UL
2815 #define PORT_PHY_QCFG_RESP_PHY_TYPE_BASETE 0x9UL
2816 #define PORT_PHY_QCFG_RESP_PHY_TYPE_SGMIIEXTPHY 0xaUL
2817 #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_L 0xbUL
2818 #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_S 0xcUL
2819 #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASECR_CA_N 0xdUL
2820 #define PORT_PHY_QCFG_RESP_PHY_TYPE_25G_BASESR 0xeUL
2821 #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASECR4 0xfUL
2822 #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASESR4 0x10UL
2823 #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASELR4 0x11UL
2824 #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASEER4 0x12UL
2825 #define PORT_PHY_QCFG_RESP_PHY_TYPE_100G_BASESR10 0x13UL
2826 #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASECR4 0x14UL
2827 #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASESR4 0x15UL
2828 #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASELR4 0x16UL
2829 #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_BASEER4 0x17UL
2830 #define PORT_PHY_QCFG_RESP_PHY_TYPE_40G_ACTIVE_CABLE 0x18UL
2831 #define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASET 0x19UL
2832 #define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASESX 0x1aUL
2833 #define PORT_PHY_QCFG_RESP_PHY_TYPE_1G_BASECX 0x1bUL
2834 #define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASECR4 0x1cUL
2835 #define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASESR4 0x1dUL
2836 #define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASELR4 0x1eUL
2837 #define PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASEER4 0x1fUL
2838 #define PORT_PHY_QCFG_RESP_PHY_TYPE_LAST PORT_PHY_QCFG_RESP_PHY_TYPE_200G_BASEER4
2840 #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_UNKNOWN 0x0UL
2841 #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP 0x1UL
2842 #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_DAC 0x2UL
2843 #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE 0x3UL
2844 #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_LAST PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE
2846 #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_INTERNAL 0x1UL
2847 #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_EXTERNAL 0x2UL
2848 #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_LAST PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_EXTERNAL
2849 u8 eee_config_phy_addr
;
2850 #define PORT_PHY_QCFG_RESP_PHY_ADDR_MASK 0x1fUL
2851 #define PORT_PHY_QCFG_RESP_PHY_ADDR_SFT 0
2852 #define PORT_PHY_QCFG_RESP_EEE_CONFIG_MASK 0xe0UL
2853 #define PORT_PHY_QCFG_RESP_EEE_CONFIG_SFT 5
2854 #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_ENABLED 0x20UL
2855 #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_ACTIVE 0x40UL
2856 #define PORT_PHY_QCFG_RESP_EEE_CONFIG_EEE_TX_LPI 0x80UL
2858 #define PORT_PHY_QCFG_RESP_PARALLEL_DETECT 0x1UL
2859 __le16 link_partner_adv_speeds
;
2860 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MBHD 0x1UL
2861 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100MB 0x2UL
2862 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_1GBHD 0x4UL
2863 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_1GB 0x8UL
2864 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_2GB 0x10UL
2865 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_2_5GB 0x20UL
2866 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10GB 0x40UL
2867 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_20GB 0x80UL
2868 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_25GB 0x100UL
2869 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_40GB 0x200UL
2870 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_50GB 0x400UL
2871 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_100GB 0x800UL
2872 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10MBHD 0x1000UL
2873 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_SPEEDS_10MB 0x2000UL
2874 u8 link_partner_adv_auto_mode
;
2875 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_NONE 0x0UL
2876 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ALL_SPEEDS 0x1UL
2877 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_SPEED 0x2UL
2878 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_ONE_OR_BELOW 0x3UL
2879 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_SPEED_MASK 0x4UL
2880 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_LAST PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_AUTO_MODE_SPEED_MASK
2881 u8 link_partner_adv_pause
;
2882 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_TX 0x1UL
2883 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_PAUSE_RX 0x2UL
2884 __le16 adv_eee_link_speed_mask
;
2885 #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD1 0x1UL
2886 #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_100MB 0x2UL
2887 #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD2 0x4UL
2888 #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_1GB 0x8UL
2889 #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD3 0x10UL
2890 #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_RSVD4 0x20UL
2891 #define PORT_PHY_QCFG_RESP_ADV_EEE_LINK_SPEED_MASK_10GB 0x40UL
2892 __le16 link_partner_adv_eee_link_speed_mask
;
2893 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD1 0x1UL
2894 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_100MB 0x2UL
2895 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD2 0x4UL
2896 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_1GB 0x8UL
2897 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD3 0x10UL
2898 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_RSVD4 0x20UL
2899 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_ADV_EEE_LINK_SPEED_MASK_10GB 0x40UL
2900 __le32 xcvr_identifier_type_tx_lpi_timer
;
2901 #define PORT_PHY_QCFG_RESP_TX_LPI_TIMER_MASK 0xffffffUL
2902 #define PORT_PHY_QCFG_RESP_TX_LPI_TIMER_SFT 0
2903 #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_MASK 0xff000000UL
2904 #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFT 24
2905 #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_UNKNOWN (0x0UL << 24)
2906 #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_SFP (0x3UL << 24)
2907 #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP (0xcUL << 24)
2908 #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFPPLUS (0xdUL << 24)
2909 #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP28 (0x11UL << 24)
2910 #define PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_LAST PORT_PHY_QCFG_RESP_XCVR_IDENTIFIER_TYPE_QSFP28
2912 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_NONE_SUPPORTED 0x1UL
2913 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_AUTONEG_SUPPORTED 0x2UL
2914 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_AUTONEG_ENABLED 0x4UL
2915 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE74_SUPPORTED 0x8UL
2916 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE74_ENABLED 0x10UL
2917 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE91_SUPPORTED 0x20UL
2918 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_CLAUSE91_ENABLED 0x40UL
2919 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS544_1XN_SUPPORTED 0x80UL
2920 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS544_1XN_ENABLED 0x100UL
2921 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS544_IEEE_SUPPORTED 0x200UL
2922 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS544_IEEE_ENABLED 0x400UL
2923 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS272_1XN_SUPPORTED 0x800UL
2924 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS272_1XN_ENABLED 0x1000UL
2925 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS272_IEEE_SUPPORTED 0x2000UL
2926 #define PORT_PHY_QCFG_RESP_FEC_CFG_FEC_RS272_IEEE_ENABLED 0x4000UL
2928 #define PORT_PHY_QCFG_RESP_DUPLEX_STATE_HALF 0x0UL
2929 #define PORT_PHY_QCFG_RESP_DUPLEX_STATE_FULL 0x1UL
2930 #define PORT_PHY_QCFG_RESP_DUPLEX_STATE_LAST PORT_PHY_QCFG_RESP_DUPLEX_STATE_FULL
2932 #define PORT_PHY_QCFG_RESP_OPTION_FLAGS_MEDIA_AUTO_DETECT 0x1UL
2933 char phy_vendor_name
[16];
2934 char phy_vendor_partnumber
[16];
2935 __le16 support_pam4_speeds
;
2936 #define PORT_PHY_QCFG_RESP_SUPPORT_PAM4_SPEEDS_50G 0x1UL
2937 #define PORT_PHY_QCFG_RESP_SUPPORT_PAM4_SPEEDS_100G 0x2UL
2938 #define PORT_PHY_QCFG_RESP_SUPPORT_PAM4_SPEEDS_200G 0x4UL
2939 __le16 force_pam4_link_speed
;
2940 #define PORT_PHY_QCFG_RESP_FORCE_PAM4_LINK_SPEED_50GB 0x1f4UL
2941 #define PORT_PHY_QCFG_RESP_FORCE_PAM4_LINK_SPEED_100GB 0x3e8UL
2942 #define PORT_PHY_QCFG_RESP_FORCE_PAM4_LINK_SPEED_200GB 0x7d0UL
2943 #define PORT_PHY_QCFG_RESP_FORCE_PAM4_LINK_SPEED_LAST PORT_PHY_QCFG_RESP_FORCE_PAM4_LINK_SPEED_200GB
2944 __le16 auto_pam4_link_speed_mask
;
2945 #define PORT_PHY_QCFG_RESP_AUTO_PAM4_LINK_SPEED_MASK_50G 0x1UL
2946 #define PORT_PHY_QCFG_RESP_AUTO_PAM4_LINK_SPEED_MASK_100G 0x2UL
2947 #define PORT_PHY_QCFG_RESP_AUTO_PAM4_LINK_SPEED_MASK_200G 0x4UL
2948 u8 link_partner_pam4_adv_speeds
;
2949 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_PAM4_ADV_SPEEDS_50GB 0x1UL
2950 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_PAM4_ADV_SPEEDS_100GB 0x2UL
2951 #define PORT_PHY_QCFG_RESP_LINK_PARTNER_PAM4_ADV_SPEEDS_200GB 0x4UL
2955 /* hwrm_port_mac_cfg_input (size:384b/48B) */
2956 struct hwrm_port_mac_cfg_input
{
2963 #define PORT_MAC_CFG_REQ_FLAGS_MATCH_LINK 0x1UL
2964 #define PORT_MAC_CFG_REQ_FLAGS_VLAN_PRI2COS_ENABLE 0x2UL
2965 #define PORT_MAC_CFG_REQ_FLAGS_TUNNEL_PRI2COS_ENABLE 0x4UL
2966 #define PORT_MAC_CFG_REQ_FLAGS_IP_DSCP2COS_ENABLE 0x8UL
2967 #define PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_ENABLE 0x10UL
2968 #define PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_DISABLE 0x20UL
2969 #define PORT_MAC_CFG_REQ_FLAGS_PTP_TX_TS_CAPTURE_ENABLE 0x40UL
2970 #define PORT_MAC_CFG_REQ_FLAGS_PTP_TX_TS_CAPTURE_DISABLE 0x80UL
2971 #define PORT_MAC_CFG_REQ_FLAGS_OOB_WOL_ENABLE 0x100UL
2972 #define PORT_MAC_CFG_REQ_FLAGS_OOB_WOL_DISABLE 0x200UL
2973 #define PORT_MAC_CFG_REQ_FLAGS_VLAN_PRI2COS_DISABLE 0x400UL
2974 #define PORT_MAC_CFG_REQ_FLAGS_TUNNEL_PRI2COS_DISABLE 0x800UL
2975 #define PORT_MAC_CFG_REQ_FLAGS_IP_DSCP2COS_DISABLE 0x1000UL
2976 #define PORT_MAC_CFG_REQ_FLAGS_PTP_ONE_STEP_TX_TS 0x2000UL
2978 #define PORT_MAC_CFG_REQ_ENABLES_IPG 0x1UL
2979 #define PORT_MAC_CFG_REQ_ENABLES_LPBK 0x2UL
2980 #define PORT_MAC_CFG_REQ_ENABLES_VLAN_PRI2COS_MAP_PRI 0x4UL
2981 #define PORT_MAC_CFG_REQ_ENABLES_TUNNEL_PRI2COS_MAP_PRI 0x10UL
2982 #define PORT_MAC_CFG_REQ_ENABLES_DSCP2COS_MAP_PRI 0x20UL
2983 #define PORT_MAC_CFG_REQ_ENABLES_RX_TS_CAPTURE_PTP_MSG_TYPE 0x40UL
2984 #define PORT_MAC_CFG_REQ_ENABLES_TX_TS_CAPTURE_PTP_MSG_TYPE 0x80UL
2985 #define PORT_MAC_CFG_REQ_ENABLES_COS_FIELD_CFG 0x100UL
2986 #define PORT_MAC_CFG_REQ_ENABLES_PTP_FREQ_ADJ_PPB 0x200UL
2990 #define PORT_MAC_CFG_REQ_LPBK_NONE 0x0UL
2991 #define PORT_MAC_CFG_REQ_LPBK_LOCAL 0x1UL
2992 #define PORT_MAC_CFG_REQ_LPBK_REMOTE 0x2UL
2993 #define PORT_MAC_CFG_REQ_LPBK_LAST PORT_MAC_CFG_REQ_LPBK_REMOTE
2994 u8 vlan_pri2cos_map_pri
;
2996 u8 tunnel_pri2cos_map_pri
;
2997 u8 dscp2pri_map_pri
;
2998 __le16 rx_ts_capture_ptp_msg_type
;
2999 __le16 tx_ts_capture_ptp_msg_type
;
3001 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_RSVD1 0x1UL
3002 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_MASK 0x6UL
3003 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_SFT 1
3004 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_INNERMOST (0x0UL << 1)
3005 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_OUTER (0x1UL << 1)
3006 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_OUTERMOST (0x2UL << 1)
3007 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_UNSPECIFIED (0x3UL << 1)
3008 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_LAST PORT_MAC_CFG_REQ_COS_FIELD_CFG_VLAN_PRI_SEL_UNSPECIFIED
3009 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_MASK 0x18UL
3010 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_SFT 3
3011 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_INNERMOST (0x0UL << 3)
3012 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_OUTER (0x1UL << 3)
3013 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_OUTERMOST (0x2UL << 3)
3014 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_UNSPECIFIED (0x3UL << 3)
3015 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_LAST PORT_MAC_CFG_REQ_COS_FIELD_CFG_T_VLAN_PRI_SEL_UNSPECIFIED
3016 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_DEFAULT_COS_MASK 0xe0UL
3017 #define PORT_MAC_CFG_REQ_COS_FIELD_CFG_DEFAULT_COS_SFT 5
3019 __s32 ptp_freq_adj_ppb
;
3023 /* hwrm_port_mac_cfg_output (size:128b/16B) */
3024 struct hwrm_port_mac_cfg_output
{
3033 #define PORT_MAC_CFG_RESP_LPBK_NONE 0x0UL
3034 #define PORT_MAC_CFG_RESP_LPBK_LOCAL 0x1UL
3035 #define PORT_MAC_CFG_RESP_LPBK_REMOTE 0x2UL
3036 #define PORT_MAC_CFG_RESP_LPBK_LAST PORT_MAC_CFG_RESP_LPBK_REMOTE
3041 /* hwrm_port_mac_ptp_qcfg_input (size:192b/24B) */
3042 struct hwrm_port_mac_ptp_qcfg_input
{
3052 /* hwrm_port_mac_ptp_qcfg_output (size:640b/80B) */
3053 struct hwrm_port_mac_ptp_qcfg_output
{
3059 #define PORT_MAC_PTP_QCFG_RESP_FLAGS_DIRECT_ACCESS 0x1UL
3060 #define PORT_MAC_PTP_QCFG_RESP_FLAGS_ONE_STEP_TX_TS 0x4UL
3061 #define PORT_MAC_PTP_QCFG_RESP_FLAGS_HWRM_ACCESS 0x8UL
3063 __le32 rx_ts_reg_off_lower
;
3064 __le32 rx_ts_reg_off_upper
;
3065 __le32 rx_ts_reg_off_seq_id
;
3066 __le32 rx_ts_reg_off_src_id_0
;
3067 __le32 rx_ts_reg_off_src_id_1
;
3068 __le32 rx_ts_reg_off_src_id_2
;
3069 __le32 rx_ts_reg_off_domain_id
;
3070 __le32 rx_ts_reg_off_fifo
;
3071 __le32 rx_ts_reg_off_fifo_adv
;
3072 __le32 rx_ts_reg_off_granularity
;
3073 __le32 tx_ts_reg_off_lower
;
3074 __le32 tx_ts_reg_off_upper
;
3075 __le32 tx_ts_reg_off_seq_id
;
3076 __le32 tx_ts_reg_off_fifo
;
3077 __le32 tx_ts_reg_off_granularity
;
3082 /* tx_port_stats (size:3264b/408B) */
3083 struct tx_port_stats
{
3084 __le64 tx_64b_frames
;
3085 __le64 tx_65b_127b_frames
;
3086 __le64 tx_128b_255b_frames
;
3087 __le64 tx_256b_511b_frames
;
3088 __le64 tx_512b_1023b_frames
;
3089 __le64 tx_1024b_1518b_frames
;
3090 __le64 tx_good_vlan_frames
;
3091 __le64 tx_1519b_2047b_frames
;
3092 __le64 tx_2048b_4095b_frames
;
3093 __le64 tx_4096b_9216b_frames
;
3094 __le64 tx_9217b_16383b_frames
;
3095 __le64 tx_good_frames
;
3096 __le64 tx_total_frames
;
3097 __le64 tx_ucast_frames
;
3098 __le64 tx_mcast_frames
;
3099 __le64 tx_bcast_frames
;
3100 __le64 tx_pause_frames
;
3101 __le64 tx_pfc_frames
;
3102 __le64 tx_jabber_frames
;
3103 __le64 tx_fcs_err_frames
;
3104 __le64 tx_control_frames
;
3105 __le64 tx_oversz_frames
;
3106 __le64 tx_single_dfrl_frames
;
3107 __le64 tx_multi_dfrl_frames
;
3108 __le64 tx_single_coll_frames
;
3109 __le64 tx_multi_coll_frames
;
3110 __le64 tx_late_coll_frames
;
3111 __le64 tx_excessive_coll_frames
;
3112 __le64 tx_frag_frames
;
3114 __le64 tx_tagged_frames
;
3115 __le64 tx_dbl_tagged_frames
;
3116 __le64 tx_runt_frames
;
3117 __le64 tx_fifo_underruns
;
3118 __le64 tx_pfc_ena_frames_pri0
;
3119 __le64 tx_pfc_ena_frames_pri1
;
3120 __le64 tx_pfc_ena_frames_pri2
;
3121 __le64 tx_pfc_ena_frames_pri3
;
3122 __le64 tx_pfc_ena_frames_pri4
;
3123 __le64 tx_pfc_ena_frames_pri5
;
3124 __le64 tx_pfc_ena_frames_pri6
;
3125 __le64 tx_pfc_ena_frames_pri7
;
3126 __le64 tx_eee_lpi_events
;
3127 __le64 tx_eee_lpi_duration
;
3128 __le64 tx_llfc_logical_msgs
;
3129 __le64 tx_hcfc_msgs
;
3130 __le64 tx_total_collisions
;
3132 __le64 tx_xthol_frames
;
3133 __le64 tx_stat_discard
;
3134 __le64 tx_stat_error
;
3137 /* rx_port_stats (size:4224b/528B) */
3138 struct rx_port_stats
{
3139 __le64 rx_64b_frames
;
3140 __le64 rx_65b_127b_frames
;
3141 __le64 rx_128b_255b_frames
;
3142 __le64 rx_256b_511b_frames
;
3143 __le64 rx_512b_1023b_frames
;
3144 __le64 rx_1024b_1518b_frames
;
3145 __le64 rx_good_vlan_frames
;
3146 __le64 rx_1519b_2047b_frames
;
3147 __le64 rx_2048b_4095b_frames
;
3148 __le64 rx_4096b_9216b_frames
;
3149 __le64 rx_9217b_16383b_frames
;
3150 __le64 rx_total_frames
;
3151 __le64 rx_ucast_frames
;
3152 __le64 rx_mcast_frames
;
3153 __le64 rx_bcast_frames
;
3154 __le64 rx_fcs_err_frames
;
3155 __le64 rx_ctrl_frames
;
3156 __le64 rx_pause_frames
;
3157 __le64 rx_pfc_frames
;
3158 __le64 rx_unsupported_opcode_frames
;
3159 __le64 rx_unsupported_da_pausepfc_frames
;
3160 __le64 rx_wrong_sa_frames
;
3161 __le64 rx_align_err_frames
;
3162 __le64 rx_oor_len_frames
;
3163 __le64 rx_code_err_frames
;
3164 __le64 rx_false_carrier_frames
;
3165 __le64 rx_ovrsz_frames
;
3166 __le64 rx_jbr_frames
;
3167 __le64 rx_mtu_err_frames
;
3168 __le64 rx_match_crc_frames
;
3169 __le64 rx_promiscuous_frames
;
3170 __le64 rx_tagged_frames
;
3171 __le64 rx_double_tagged_frames
;
3172 __le64 rx_trunc_frames
;
3173 __le64 rx_good_frames
;
3174 __le64 rx_pfc_xon2xoff_frames_pri0
;
3175 __le64 rx_pfc_xon2xoff_frames_pri1
;
3176 __le64 rx_pfc_xon2xoff_frames_pri2
;
3177 __le64 rx_pfc_xon2xoff_frames_pri3
;
3178 __le64 rx_pfc_xon2xoff_frames_pri4
;
3179 __le64 rx_pfc_xon2xoff_frames_pri5
;
3180 __le64 rx_pfc_xon2xoff_frames_pri6
;
3181 __le64 rx_pfc_xon2xoff_frames_pri7
;
3182 __le64 rx_pfc_ena_frames_pri0
;
3183 __le64 rx_pfc_ena_frames_pri1
;
3184 __le64 rx_pfc_ena_frames_pri2
;
3185 __le64 rx_pfc_ena_frames_pri3
;
3186 __le64 rx_pfc_ena_frames_pri4
;
3187 __le64 rx_pfc_ena_frames_pri5
;
3188 __le64 rx_pfc_ena_frames_pri6
;
3189 __le64 rx_pfc_ena_frames_pri7
;
3190 __le64 rx_sch_crc_err_frames
;
3191 __le64 rx_undrsz_frames
;
3192 __le64 rx_frag_frames
;
3193 __le64 rx_eee_lpi_events
;
3194 __le64 rx_eee_lpi_duration
;
3195 __le64 rx_llfc_physical_msgs
;
3196 __le64 rx_llfc_logical_msgs
;
3197 __le64 rx_llfc_msgs_with_crc_err
;
3198 __le64 rx_hcfc_msgs
;
3199 __le64 rx_hcfc_msgs_with_crc_err
;
3201 __le64 rx_runt_bytes
;
3202 __le64 rx_runt_frames
;
3203 __le64 rx_stat_discard
;
3207 /* hwrm_port_qstats_input (size:320b/40B) */
3208 struct hwrm_port_qstats_input
{
3216 #define PORT_QSTATS_REQ_FLAGS_UNUSED 0x0UL
3217 #define PORT_QSTATS_REQ_FLAGS_COUNTER_MASK 0x1UL
3218 #define PORT_QSTATS_REQ_FLAGS_LAST PORT_QSTATS_REQ_FLAGS_COUNTER_MASK
3220 __le64 tx_stat_host_addr
;
3221 __le64 rx_stat_host_addr
;
3224 /* hwrm_port_qstats_output (size:128b/16B) */
3225 struct hwrm_port_qstats_output
{
3230 __le16 tx_stat_size
;
3231 __le16 rx_stat_size
;
3236 /* tx_port_stats_ext (size:2048b/256B) */
3237 struct tx_port_stats_ext
{
3238 __le64 tx_bytes_cos0
;
3239 __le64 tx_bytes_cos1
;
3240 __le64 tx_bytes_cos2
;
3241 __le64 tx_bytes_cos3
;
3242 __le64 tx_bytes_cos4
;
3243 __le64 tx_bytes_cos5
;
3244 __le64 tx_bytes_cos6
;
3245 __le64 tx_bytes_cos7
;
3246 __le64 tx_packets_cos0
;
3247 __le64 tx_packets_cos1
;
3248 __le64 tx_packets_cos2
;
3249 __le64 tx_packets_cos3
;
3250 __le64 tx_packets_cos4
;
3251 __le64 tx_packets_cos5
;
3252 __le64 tx_packets_cos6
;
3253 __le64 tx_packets_cos7
;
3254 __le64 pfc_pri0_tx_duration_us
;
3255 __le64 pfc_pri0_tx_transitions
;
3256 __le64 pfc_pri1_tx_duration_us
;
3257 __le64 pfc_pri1_tx_transitions
;
3258 __le64 pfc_pri2_tx_duration_us
;
3259 __le64 pfc_pri2_tx_transitions
;
3260 __le64 pfc_pri3_tx_duration_us
;
3261 __le64 pfc_pri3_tx_transitions
;
3262 __le64 pfc_pri4_tx_duration_us
;
3263 __le64 pfc_pri4_tx_transitions
;
3264 __le64 pfc_pri5_tx_duration_us
;
3265 __le64 pfc_pri5_tx_transitions
;
3266 __le64 pfc_pri6_tx_duration_us
;
3267 __le64 pfc_pri6_tx_transitions
;
3268 __le64 pfc_pri7_tx_duration_us
;
3269 __le64 pfc_pri7_tx_transitions
;
3272 /* rx_port_stats_ext (size:3648b/456B) */
3273 struct rx_port_stats_ext
{
3274 __le64 link_down_events
;
3275 __le64 continuous_pause_events
;
3276 __le64 resume_pause_events
;
3277 __le64 continuous_roce_pause_events
;
3278 __le64 resume_roce_pause_events
;
3279 __le64 rx_bytes_cos0
;
3280 __le64 rx_bytes_cos1
;
3281 __le64 rx_bytes_cos2
;
3282 __le64 rx_bytes_cos3
;
3283 __le64 rx_bytes_cos4
;
3284 __le64 rx_bytes_cos5
;
3285 __le64 rx_bytes_cos6
;
3286 __le64 rx_bytes_cos7
;
3287 __le64 rx_packets_cos0
;
3288 __le64 rx_packets_cos1
;
3289 __le64 rx_packets_cos2
;
3290 __le64 rx_packets_cos3
;
3291 __le64 rx_packets_cos4
;
3292 __le64 rx_packets_cos5
;
3293 __le64 rx_packets_cos6
;
3294 __le64 rx_packets_cos7
;
3295 __le64 pfc_pri0_rx_duration_us
;
3296 __le64 pfc_pri0_rx_transitions
;
3297 __le64 pfc_pri1_rx_duration_us
;
3298 __le64 pfc_pri1_rx_transitions
;
3299 __le64 pfc_pri2_rx_duration_us
;
3300 __le64 pfc_pri2_rx_transitions
;
3301 __le64 pfc_pri3_rx_duration_us
;
3302 __le64 pfc_pri3_rx_transitions
;
3303 __le64 pfc_pri4_rx_duration_us
;
3304 __le64 pfc_pri4_rx_transitions
;
3305 __le64 pfc_pri5_rx_duration_us
;
3306 __le64 pfc_pri5_rx_transitions
;
3307 __le64 pfc_pri6_rx_duration_us
;
3308 __le64 pfc_pri6_rx_transitions
;
3309 __le64 pfc_pri7_rx_duration_us
;
3310 __le64 pfc_pri7_rx_transitions
;
3312 __le64 rx_buffer_passed_threshold
;
3313 __le64 rx_pcs_symbol_err
;
3314 __le64 rx_corrected_bits
;
3315 __le64 rx_discard_bytes_cos0
;
3316 __le64 rx_discard_bytes_cos1
;
3317 __le64 rx_discard_bytes_cos2
;
3318 __le64 rx_discard_bytes_cos3
;
3319 __le64 rx_discard_bytes_cos4
;
3320 __le64 rx_discard_bytes_cos5
;
3321 __le64 rx_discard_bytes_cos6
;
3322 __le64 rx_discard_bytes_cos7
;
3323 __le64 rx_discard_packets_cos0
;
3324 __le64 rx_discard_packets_cos1
;
3325 __le64 rx_discard_packets_cos2
;
3326 __le64 rx_discard_packets_cos3
;
3327 __le64 rx_discard_packets_cos4
;
3328 __le64 rx_discard_packets_cos5
;
3329 __le64 rx_discard_packets_cos6
;
3330 __le64 rx_discard_packets_cos7
;
3333 /* hwrm_port_qstats_ext_input (size:320b/40B) */
3334 struct hwrm_port_qstats_ext_input
{
3341 __le16 tx_stat_size
;
3342 __le16 rx_stat_size
;
3344 #define PORT_QSTATS_EXT_REQ_FLAGS_UNUSED 0x0UL
3345 #define PORT_QSTATS_EXT_REQ_FLAGS_COUNTER_MASK 0x1UL
3346 #define PORT_QSTATS_EXT_REQ_FLAGS_LAST PORT_QSTATS_EXT_REQ_FLAGS_COUNTER_MASK
3348 __le64 tx_stat_host_addr
;
3349 __le64 rx_stat_host_addr
;
3352 /* hwrm_port_qstats_ext_output (size:128b/16B) */
3353 struct hwrm_port_qstats_ext_output
{
3358 __le16 tx_stat_size
;
3359 __le16 rx_stat_size
;
3360 __le16 total_active_cos_queues
;
3362 #define PORT_QSTATS_EXT_RESP_FLAGS_CLEAR_ROCE_COUNTERS_SUPPORTED 0x1UL
3366 /* hwrm_port_lpbk_qstats_input (size:128b/16B) */
3367 struct hwrm_port_lpbk_qstats_input
{
3375 /* hwrm_port_lpbk_qstats_output (size:768b/96B) */
3376 struct hwrm_port_lpbk_qstats_output
{
3381 __le64 lpbk_ucast_frames
;
3382 __le64 lpbk_mcast_frames
;
3383 __le64 lpbk_bcast_frames
;
3384 __le64 lpbk_ucast_bytes
;
3385 __le64 lpbk_mcast_bytes
;
3386 __le64 lpbk_bcast_bytes
;
3387 __le64 tx_stat_discard
;
3388 __le64 tx_stat_error
;
3389 __le64 rx_stat_discard
;
3390 __le64 rx_stat_error
;
3395 /* hwrm_port_ecn_qstats_input (size:256b/32B) */
3396 struct hwrm_port_ecn_qstats_input
{
3403 __le16 ecn_stat_buf_size
;
3405 #define PORT_ECN_QSTATS_REQ_FLAGS_UNUSED 0x0UL
3406 #define PORT_ECN_QSTATS_REQ_FLAGS_COUNTER_MASK 0x1UL
3407 #define PORT_ECN_QSTATS_REQ_FLAGS_LAST PORT_ECN_QSTATS_REQ_FLAGS_COUNTER_MASK
3409 __le64 ecn_stat_host_addr
;
3412 /* hwrm_port_ecn_qstats_output (size:128b/16B) */
3413 struct hwrm_port_ecn_qstats_output
{
3418 __le16 ecn_stat_buf_size
;
3424 /* port_stats_ecn (size:512b/64B) */
3425 struct port_stats_ecn
{
3426 __le64 mark_cnt_cos0
;
3427 __le64 mark_cnt_cos1
;
3428 __le64 mark_cnt_cos2
;
3429 __le64 mark_cnt_cos3
;
3430 __le64 mark_cnt_cos4
;
3431 __le64 mark_cnt_cos5
;
3432 __le64 mark_cnt_cos6
;
3433 __le64 mark_cnt_cos7
;
3436 /* hwrm_port_clr_stats_input (size:192b/24B) */
3437 struct hwrm_port_clr_stats_input
{
3445 #define PORT_CLR_STATS_REQ_FLAGS_ROCE_COUNTERS 0x1UL
3449 /* hwrm_port_clr_stats_output (size:128b/16B) */
3450 struct hwrm_port_clr_stats_output
{
3459 /* hwrm_port_lpbk_clr_stats_input (size:128b/16B) */
3460 struct hwrm_port_lpbk_clr_stats_input
{
3468 /* hwrm_port_lpbk_clr_stats_output (size:128b/16B) */
3469 struct hwrm_port_lpbk_clr_stats_output
{
3478 /* hwrm_port_ts_query_input (size:192b/24B) */
3479 struct hwrm_port_ts_query_input
{
3486 #define PORT_TS_QUERY_REQ_FLAGS_PATH 0x1UL
3487 #define PORT_TS_QUERY_REQ_FLAGS_PATH_TX 0x0UL
3488 #define PORT_TS_QUERY_REQ_FLAGS_PATH_RX 0x1UL
3489 #define PORT_TS_QUERY_REQ_FLAGS_PATH_LAST PORT_TS_QUERY_REQ_FLAGS_PATH_RX
3490 #define PORT_TS_QUERY_REQ_FLAGS_CURRENT_TIME 0x2UL
3495 /* hwrm_port_ts_query_output (size:192b/24B) */
3496 struct hwrm_port_ts_query_output
{
3502 __le16 ptp_msg_seqid
;
3507 /* hwrm_port_phy_qcaps_input (size:192b/24B) */
3508 struct hwrm_port_phy_qcaps_input
{
3518 /* hwrm_port_phy_qcaps_output (size:256b/32B) */
3519 struct hwrm_port_phy_qcaps_output
{
3525 #define PORT_PHY_QCAPS_RESP_FLAGS_EEE_SUPPORTED 0x1UL
3526 #define PORT_PHY_QCAPS_RESP_FLAGS_EXTERNAL_LPBK_SUPPORTED 0x2UL
3527 #define PORT_PHY_QCAPS_RESP_FLAGS_AUTONEG_LPBK_SUPPORTED 0x4UL
3528 #define PORT_PHY_QCAPS_RESP_FLAGS_SHARED_PHY_CFG_SUPPORTED 0x8UL
3529 #define PORT_PHY_QCAPS_RESP_FLAGS_CUMULATIVE_COUNTERS_ON_RESET 0x10UL
3530 #define PORT_PHY_QCAPS_RESP_FLAGS_LOCAL_LPBK_NOT_SUPPORTED 0x20UL
3531 #define PORT_PHY_QCAPS_RESP_FLAGS_RSVD1_MASK 0xc0UL
3532 #define PORT_PHY_QCAPS_RESP_FLAGS_RSVD1_SFT 6
3534 #define PORT_PHY_QCAPS_RESP_PORT_CNT_UNKNOWN 0x0UL
3535 #define PORT_PHY_QCAPS_RESP_PORT_CNT_1 0x1UL
3536 #define PORT_PHY_QCAPS_RESP_PORT_CNT_2 0x2UL
3537 #define PORT_PHY_QCAPS_RESP_PORT_CNT_3 0x3UL
3538 #define PORT_PHY_QCAPS_RESP_PORT_CNT_4 0x4UL
3539 #define PORT_PHY_QCAPS_RESP_PORT_CNT_LAST PORT_PHY_QCAPS_RESP_PORT_CNT_4
3540 __le16 supported_speeds_force_mode
;
3541 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100MBHD 0x1UL
3542 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100MB 0x2UL
3543 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_1GBHD 0x4UL
3544 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_1GB 0x8UL
3545 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_2GB 0x10UL
3546 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_2_5GB 0x20UL
3547 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10GB 0x40UL
3548 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_20GB 0x80UL
3549 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_25GB 0x100UL
3550 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_40GB 0x200UL
3551 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_50GB 0x400UL
3552 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_100GB 0x800UL
3553 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10MBHD 0x1000UL
3554 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_FORCE_MODE_10MB 0x2000UL
3555 __le16 supported_speeds_auto_mode
;
3556 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100MBHD 0x1UL
3557 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100MB 0x2UL
3558 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_1GBHD 0x4UL
3559 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_1GB 0x8UL
3560 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_2GB 0x10UL
3561 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_2_5GB 0x20UL
3562 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10GB 0x40UL
3563 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_20GB 0x80UL
3564 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_25GB 0x100UL
3565 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_40GB 0x200UL
3566 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_50GB 0x400UL
3567 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_100GB 0x800UL
3568 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10MBHD 0x1000UL
3569 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_AUTO_MODE_10MB 0x2000UL
3570 __le16 supported_speeds_eee_mode
;
3571 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD1 0x1UL
3572 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_100MB 0x2UL
3573 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD2 0x4UL
3574 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_1GB 0x8UL
3575 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD3 0x10UL
3576 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_RSVD4 0x20UL
3577 #define PORT_PHY_QCAPS_RESP_SUPPORTED_SPEEDS_EEE_MODE_10GB 0x40UL
3578 __le32 tx_lpi_timer_low
;
3579 #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_LOW_MASK 0xffffffUL
3580 #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_LOW_SFT 0
3581 #define PORT_PHY_QCAPS_RESP_RSVD2_MASK 0xff000000UL
3582 #define PORT_PHY_QCAPS_RESP_RSVD2_SFT 24
3583 __le32 valid_tx_lpi_timer_high
;
3584 #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_MASK 0xffffffUL
3585 #define PORT_PHY_QCAPS_RESP_TX_LPI_TIMER_HIGH_SFT 0
3586 #define PORT_PHY_QCAPS_RESP_RSVD_MASK 0xff000000UL
3587 #define PORT_PHY_QCAPS_RESP_RSVD_SFT 24
3588 __le16 supported_pam4_speeds_auto_mode
;
3589 #define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_AUTO_MODE_50G 0x1UL
3590 #define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_AUTO_MODE_100G 0x2UL
3591 #define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_AUTO_MODE_200G 0x4UL
3592 __le16 supported_pam4_speeds_force_mode
;
3593 #define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_FORCE_MODE_50G 0x1UL
3594 #define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_FORCE_MODE_100G 0x2UL
3595 #define PORT_PHY_QCAPS_RESP_SUPPORTED_PAM4_SPEEDS_FORCE_MODE_200G 0x4UL
3600 /* hwrm_port_phy_i2c_read_input (size:320b/40B) */
3601 struct hwrm_port_phy_i2c_read_input
{
3609 #define PORT_PHY_I2C_READ_REQ_ENABLES_PAGE_OFFSET 0x1UL
3619 /* hwrm_port_phy_i2c_read_output (size:640b/80B) */
3620 struct hwrm_port_phy_i2c_read_output
{
3630 /* hwrm_port_phy_mdio_write_input (size:320b/40B) */
3631 struct hwrm_port_phy_mdio_write_input
{
3647 /* hwrm_port_phy_mdio_write_output (size:128b/16B) */
3648 struct hwrm_port_phy_mdio_write_output
{
3657 /* hwrm_port_phy_mdio_read_input (size:256b/32B) */
3658 struct hwrm_port_phy_mdio_read_input
{
3673 /* hwrm_port_phy_mdio_read_output (size:128b/16B) */
3674 struct hwrm_port_phy_mdio_read_output
{
3684 /* hwrm_port_led_cfg_input (size:512b/64B) */
3685 struct hwrm_port_led_cfg_input
{
3692 #define PORT_LED_CFG_REQ_ENABLES_LED0_ID 0x1UL
3693 #define PORT_LED_CFG_REQ_ENABLES_LED0_STATE 0x2UL
3694 #define PORT_LED_CFG_REQ_ENABLES_LED0_COLOR 0x4UL
3695 #define PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_ON 0x8UL
3696 #define PORT_LED_CFG_REQ_ENABLES_LED0_BLINK_OFF 0x10UL
3697 #define PORT_LED_CFG_REQ_ENABLES_LED0_GROUP_ID 0x20UL
3698 #define PORT_LED_CFG_REQ_ENABLES_LED1_ID 0x40UL
3699 #define PORT_LED_CFG_REQ_ENABLES_LED1_STATE 0x80UL
3700 #define PORT_LED_CFG_REQ_ENABLES_LED1_COLOR 0x100UL
3701 #define PORT_LED_CFG_REQ_ENABLES_LED1_BLINK_ON 0x200UL
3702 #define PORT_LED_CFG_REQ_ENABLES_LED1_BLINK_OFF 0x400UL
3703 #define PORT_LED_CFG_REQ_ENABLES_LED1_GROUP_ID 0x800UL
3704 #define PORT_LED_CFG_REQ_ENABLES_LED2_ID 0x1000UL
3705 #define PORT_LED_CFG_REQ_ENABLES_LED2_STATE 0x2000UL
3706 #define PORT_LED_CFG_REQ_ENABLES_LED2_COLOR 0x4000UL
3707 #define PORT_LED_CFG_REQ_ENABLES_LED2_BLINK_ON 0x8000UL
3708 #define PORT_LED_CFG_REQ_ENABLES_LED2_BLINK_OFF 0x10000UL
3709 #define PORT_LED_CFG_REQ_ENABLES_LED2_GROUP_ID 0x20000UL
3710 #define PORT_LED_CFG_REQ_ENABLES_LED3_ID 0x40000UL
3711 #define PORT_LED_CFG_REQ_ENABLES_LED3_STATE 0x80000UL
3712 #define PORT_LED_CFG_REQ_ENABLES_LED3_COLOR 0x100000UL
3713 #define PORT_LED_CFG_REQ_ENABLES_LED3_BLINK_ON 0x200000UL
3714 #define PORT_LED_CFG_REQ_ENABLES_LED3_BLINK_OFF 0x400000UL
3715 #define PORT_LED_CFG_REQ_ENABLES_LED3_GROUP_ID 0x800000UL
3721 #define PORT_LED_CFG_REQ_LED0_STATE_DEFAULT 0x0UL
3722 #define PORT_LED_CFG_REQ_LED0_STATE_OFF 0x1UL
3723 #define PORT_LED_CFG_REQ_LED0_STATE_ON 0x2UL
3724 #define PORT_LED_CFG_REQ_LED0_STATE_BLINK 0x3UL
3725 #define PORT_LED_CFG_REQ_LED0_STATE_BLINKALT 0x4UL
3726 #define PORT_LED_CFG_REQ_LED0_STATE_LAST PORT_LED_CFG_REQ_LED0_STATE_BLINKALT
3728 #define PORT_LED_CFG_REQ_LED0_COLOR_DEFAULT 0x0UL
3729 #define PORT_LED_CFG_REQ_LED0_COLOR_AMBER 0x1UL
3730 #define PORT_LED_CFG_REQ_LED0_COLOR_GREEN 0x2UL
3731 #define PORT_LED_CFG_REQ_LED0_COLOR_GREENAMBER 0x3UL
3732 #define PORT_LED_CFG_REQ_LED0_COLOR_LAST PORT_LED_CFG_REQ_LED0_COLOR_GREENAMBER
3734 __le16 led0_blink_on
;
3735 __le16 led0_blink_off
;
3740 #define PORT_LED_CFG_REQ_LED1_STATE_DEFAULT 0x0UL
3741 #define PORT_LED_CFG_REQ_LED1_STATE_OFF 0x1UL
3742 #define PORT_LED_CFG_REQ_LED1_STATE_ON 0x2UL
3743 #define PORT_LED_CFG_REQ_LED1_STATE_BLINK 0x3UL
3744 #define PORT_LED_CFG_REQ_LED1_STATE_BLINKALT 0x4UL
3745 #define PORT_LED_CFG_REQ_LED1_STATE_LAST PORT_LED_CFG_REQ_LED1_STATE_BLINKALT
3747 #define PORT_LED_CFG_REQ_LED1_COLOR_DEFAULT 0x0UL
3748 #define PORT_LED_CFG_REQ_LED1_COLOR_AMBER 0x1UL
3749 #define PORT_LED_CFG_REQ_LED1_COLOR_GREEN 0x2UL
3750 #define PORT_LED_CFG_REQ_LED1_COLOR_GREENAMBER 0x3UL
3751 #define PORT_LED_CFG_REQ_LED1_COLOR_LAST PORT_LED_CFG_REQ_LED1_COLOR_GREENAMBER
3753 __le16 led1_blink_on
;
3754 __le16 led1_blink_off
;
3759 #define PORT_LED_CFG_REQ_LED2_STATE_DEFAULT 0x0UL
3760 #define PORT_LED_CFG_REQ_LED2_STATE_OFF 0x1UL
3761 #define PORT_LED_CFG_REQ_LED2_STATE_ON 0x2UL
3762 #define PORT_LED_CFG_REQ_LED2_STATE_BLINK 0x3UL
3763 #define PORT_LED_CFG_REQ_LED2_STATE_BLINKALT 0x4UL
3764 #define PORT_LED_CFG_REQ_LED2_STATE_LAST PORT_LED_CFG_REQ_LED2_STATE_BLINKALT
3766 #define PORT_LED_CFG_REQ_LED2_COLOR_DEFAULT 0x0UL
3767 #define PORT_LED_CFG_REQ_LED2_COLOR_AMBER 0x1UL
3768 #define PORT_LED_CFG_REQ_LED2_COLOR_GREEN 0x2UL
3769 #define PORT_LED_CFG_REQ_LED2_COLOR_GREENAMBER 0x3UL
3770 #define PORT_LED_CFG_REQ_LED2_COLOR_LAST PORT_LED_CFG_REQ_LED2_COLOR_GREENAMBER
3772 __le16 led2_blink_on
;
3773 __le16 led2_blink_off
;
3778 #define PORT_LED_CFG_REQ_LED3_STATE_DEFAULT 0x0UL
3779 #define PORT_LED_CFG_REQ_LED3_STATE_OFF 0x1UL
3780 #define PORT_LED_CFG_REQ_LED3_STATE_ON 0x2UL
3781 #define PORT_LED_CFG_REQ_LED3_STATE_BLINK 0x3UL
3782 #define PORT_LED_CFG_REQ_LED3_STATE_BLINKALT 0x4UL
3783 #define PORT_LED_CFG_REQ_LED3_STATE_LAST PORT_LED_CFG_REQ_LED3_STATE_BLINKALT
3785 #define PORT_LED_CFG_REQ_LED3_COLOR_DEFAULT 0x0UL
3786 #define PORT_LED_CFG_REQ_LED3_COLOR_AMBER 0x1UL
3787 #define PORT_LED_CFG_REQ_LED3_COLOR_GREEN 0x2UL
3788 #define PORT_LED_CFG_REQ_LED3_COLOR_GREENAMBER 0x3UL
3789 #define PORT_LED_CFG_REQ_LED3_COLOR_LAST PORT_LED_CFG_REQ_LED3_COLOR_GREENAMBER
3791 __le16 led3_blink_on
;
3792 __le16 led3_blink_off
;
3797 /* hwrm_port_led_cfg_output (size:128b/16B) */
3798 struct hwrm_port_led_cfg_output
{
3807 /* hwrm_port_led_qcfg_input (size:192b/24B) */
3808 struct hwrm_port_led_qcfg_input
{
3818 /* hwrm_port_led_qcfg_output (size:448b/56B) */
3819 struct hwrm_port_led_qcfg_output
{
3827 #define PORT_LED_QCFG_RESP_LED0_TYPE_SPEED 0x0UL
3828 #define PORT_LED_QCFG_RESP_LED0_TYPE_ACTIVITY 0x1UL
3829 #define PORT_LED_QCFG_RESP_LED0_TYPE_INVALID 0xffUL
3830 #define PORT_LED_QCFG_RESP_LED0_TYPE_LAST PORT_LED_QCFG_RESP_LED0_TYPE_INVALID
3832 #define PORT_LED_QCFG_RESP_LED0_STATE_DEFAULT 0x0UL
3833 #define PORT_LED_QCFG_RESP_LED0_STATE_OFF 0x1UL
3834 #define PORT_LED_QCFG_RESP_LED0_STATE_ON 0x2UL
3835 #define PORT_LED_QCFG_RESP_LED0_STATE_BLINK 0x3UL
3836 #define PORT_LED_QCFG_RESP_LED0_STATE_BLINKALT 0x4UL
3837 #define PORT_LED_QCFG_RESP_LED0_STATE_LAST PORT_LED_QCFG_RESP_LED0_STATE_BLINKALT
3839 #define PORT_LED_QCFG_RESP_LED0_COLOR_DEFAULT 0x0UL
3840 #define PORT_LED_QCFG_RESP_LED0_COLOR_AMBER 0x1UL
3841 #define PORT_LED_QCFG_RESP_LED0_COLOR_GREEN 0x2UL
3842 #define PORT_LED_QCFG_RESP_LED0_COLOR_GREENAMBER 0x3UL
3843 #define PORT_LED_QCFG_RESP_LED0_COLOR_LAST PORT_LED_QCFG_RESP_LED0_COLOR_GREENAMBER
3845 __le16 led0_blink_on
;
3846 __le16 led0_blink_off
;
3850 #define PORT_LED_QCFG_RESP_LED1_TYPE_SPEED 0x0UL
3851 #define PORT_LED_QCFG_RESP_LED1_TYPE_ACTIVITY 0x1UL
3852 #define PORT_LED_QCFG_RESP_LED1_TYPE_INVALID 0xffUL
3853 #define PORT_LED_QCFG_RESP_LED1_TYPE_LAST PORT_LED_QCFG_RESP_LED1_TYPE_INVALID
3855 #define PORT_LED_QCFG_RESP_LED1_STATE_DEFAULT 0x0UL
3856 #define PORT_LED_QCFG_RESP_LED1_STATE_OFF 0x1UL
3857 #define PORT_LED_QCFG_RESP_LED1_STATE_ON 0x2UL
3858 #define PORT_LED_QCFG_RESP_LED1_STATE_BLINK 0x3UL
3859 #define PORT_LED_QCFG_RESP_LED1_STATE_BLINKALT 0x4UL
3860 #define PORT_LED_QCFG_RESP_LED1_STATE_LAST PORT_LED_QCFG_RESP_LED1_STATE_BLINKALT
3862 #define PORT_LED_QCFG_RESP_LED1_COLOR_DEFAULT 0x0UL
3863 #define PORT_LED_QCFG_RESP_LED1_COLOR_AMBER 0x1UL
3864 #define PORT_LED_QCFG_RESP_LED1_COLOR_GREEN 0x2UL
3865 #define PORT_LED_QCFG_RESP_LED1_COLOR_GREENAMBER 0x3UL
3866 #define PORT_LED_QCFG_RESP_LED1_COLOR_LAST PORT_LED_QCFG_RESP_LED1_COLOR_GREENAMBER
3868 __le16 led1_blink_on
;
3869 __le16 led1_blink_off
;
3873 #define PORT_LED_QCFG_RESP_LED2_TYPE_SPEED 0x0UL
3874 #define PORT_LED_QCFG_RESP_LED2_TYPE_ACTIVITY 0x1UL
3875 #define PORT_LED_QCFG_RESP_LED2_TYPE_INVALID 0xffUL
3876 #define PORT_LED_QCFG_RESP_LED2_TYPE_LAST PORT_LED_QCFG_RESP_LED2_TYPE_INVALID
3878 #define PORT_LED_QCFG_RESP_LED2_STATE_DEFAULT 0x0UL
3879 #define PORT_LED_QCFG_RESP_LED2_STATE_OFF 0x1UL
3880 #define PORT_LED_QCFG_RESP_LED2_STATE_ON 0x2UL
3881 #define PORT_LED_QCFG_RESP_LED2_STATE_BLINK 0x3UL
3882 #define PORT_LED_QCFG_RESP_LED2_STATE_BLINKALT 0x4UL
3883 #define PORT_LED_QCFG_RESP_LED2_STATE_LAST PORT_LED_QCFG_RESP_LED2_STATE_BLINKALT
3885 #define PORT_LED_QCFG_RESP_LED2_COLOR_DEFAULT 0x0UL
3886 #define PORT_LED_QCFG_RESP_LED2_COLOR_AMBER 0x1UL
3887 #define PORT_LED_QCFG_RESP_LED2_COLOR_GREEN 0x2UL
3888 #define PORT_LED_QCFG_RESP_LED2_COLOR_GREENAMBER 0x3UL
3889 #define PORT_LED_QCFG_RESP_LED2_COLOR_LAST PORT_LED_QCFG_RESP_LED2_COLOR_GREENAMBER
3891 __le16 led2_blink_on
;
3892 __le16 led2_blink_off
;
3896 #define PORT_LED_QCFG_RESP_LED3_TYPE_SPEED 0x0UL
3897 #define PORT_LED_QCFG_RESP_LED3_TYPE_ACTIVITY 0x1UL
3898 #define PORT_LED_QCFG_RESP_LED3_TYPE_INVALID 0xffUL
3899 #define PORT_LED_QCFG_RESP_LED3_TYPE_LAST PORT_LED_QCFG_RESP_LED3_TYPE_INVALID
3901 #define PORT_LED_QCFG_RESP_LED3_STATE_DEFAULT 0x0UL
3902 #define PORT_LED_QCFG_RESP_LED3_STATE_OFF 0x1UL
3903 #define PORT_LED_QCFG_RESP_LED3_STATE_ON 0x2UL
3904 #define PORT_LED_QCFG_RESP_LED3_STATE_BLINK 0x3UL
3905 #define PORT_LED_QCFG_RESP_LED3_STATE_BLINKALT 0x4UL
3906 #define PORT_LED_QCFG_RESP_LED3_STATE_LAST PORT_LED_QCFG_RESP_LED3_STATE_BLINKALT
3908 #define PORT_LED_QCFG_RESP_LED3_COLOR_DEFAULT 0x0UL
3909 #define PORT_LED_QCFG_RESP_LED3_COLOR_AMBER 0x1UL
3910 #define PORT_LED_QCFG_RESP_LED3_COLOR_GREEN 0x2UL
3911 #define PORT_LED_QCFG_RESP_LED3_COLOR_GREENAMBER 0x3UL
3912 #define PORT_LED_QCFG_RESP_LED3_COLOR_LAST PORT_LED_QCFG_RESP_LED3_COLOR_GREENAMBER
3914 __le16 led3_blink_on
;
3915 __le16 led3_blink_off
;
3921 /* hwrm_port_led_qcaps_input (size:192b/24B) */
3922 struct hwrm_port_led_qcaps_input
{
3932 /* hwrm_port_led_qcaps_output (size:384b/48B) */
3933 struct hwrm_port_led_qcaps_output
{
3942 #define PORT_LED_QCAPS_RESP_LED0_TYPE_SPEED 0x0UL
3943 #define PORT_LED_QCAPS_RESP_LED0_TYPE_ACTIVITY 0x1UL
3944 #define PORT_LED_QCAPS_RESP_LED0_TYPE_INVALID 0xffUL
3945 #define PORT_LED_QCAPS_RESP_LED0_TYPE_LAST PORT_LED_QCAPS_RESP_LED0_TYPE_INVALID
3948 __le16 led0_state_caps
;
3949 #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_ENABLED 0x1UL
3950 #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_OFF_SUPPORTED 0x2UL
3951 #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_ON_SUPPORTED 0x4UL
3952 #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_BLINK_SUPPORTED 0x8UL
3953 #define PORT_LED_QCAPS_RESP_LED0_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL
3954 __le16 led0_color_caps
;
3955 #define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_RSVD 0x1UL
3956 #define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_AMBER_SUPPORTED 0x2UL
3957 #define PORT_LED_QCAPS_RESP_LED0_COLOR_CAPS_GREEN_SUPPORTED 0x4UL
3960 #define PORT_LED_QCAPS_RESP_LED1_TYPE_SPEED 0x0UL
3961 #define PORT_LED_QCAPS_RESP_LED1_TYPE_ACTIVITY 0x1UL
3962 #define PORT_LED_QCAPS_RESP_LED1_TYPE_INVALID 0xffUL
3963 #define PORT_LED_QCAPS_RESP_LED1_TYPE_LAST PORT_LED_QCAPS_RESP_LED1_TYPE_INVALID
3966 __le16 led1_state_caps
;
3967 #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_ENABLED 0x1UL
3968 #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_OFF_SUPPORTED 0x2UL
3969 #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_ON_SUPPORTED 0x4UL
3970 #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_BLINK_SUPPORTED 0x8UL
3971 #define PORT_LED_QCAPS_RESP_LED1_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL
3972 __le16 led1_color_caps
;
3973 #define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_RSVD 0x1UL
3974 #define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_AMBER_SUPPORTED 0x2UL
3975 #define PORT_LED_QCAPS_RESP_LED1_COLOR_CAPS_GREEN_SUPPORTED 0x4UL
3978 #define PORT_LED_QCAPS_RESP_LED2_TYPE_SPEED 0x0UL
3979 #define PORT_LED_QCAPS_RESP_LED2_TYPE_ACTIVITY 0x1UL
3980 #define PORT_LED_QCAPS_RESP_LED2_TYPE_INVALID 0xffUL
3981 #define PORT_LED_QCAPS_RESP_LED2_TYPE_LAST PORT_LED_QCAPS_RESP_LED2_TYPE_INVALID
3984 __le16 led2_state_caps
;
3985 #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_ENABLED 0x1UL
3986 #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_OFF_SUPPORTED 0x2UL
3987 #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_ON_SUPPORTED 0x4UL
3988 #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_BLINK_SUPPORTED 0x8UL
3989 #define PORT_LED_QCAPS_RESP_LED2_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL
3990 __le16 led2_color_caps
;
3991 #define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_RSVD 0x1UL
3992 #define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_AMBER_SUPPORTED 0x2UL
3993 #define PORT_LED_QCAPS_RESP_LED2_COLOR_CAPS_GREEN_SUPPORTED 0x4UL
3996 #define PORT_LED_QCAPS_RESP_LED3_TYPE_SPEED 0x0UL
3997 #define PORT_LED_QCAPS_RESP_LED3_TYPE_ACTIVITY 0x1UL
3998 #define PORT_LED_QCAPS_RESP_LED3_TYPE_INVALID 0xffUL
3999 #define PORT_LED_QCAPS_RESP_LED3_TYPE_LAST PORT_LED_QCAPS_RESP_LED3_TYPE_INVALID
4002 __le16 led3_state_caps
;
4003 #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_ENABLED 0x1UL
4004 #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_OFF_SUPPORTED 0x2UL
4005 #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_ON_SUPPORTED 0x4UL
4006 #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_BLINK_SUPPORTED 0x8UL
4007 #define PORT_LED_QCAPS_RESP_LED3_STATE_CAPS_BLINK_ALT_SUPPORTED 0x10UL
4008 __le16 led3_color_caps
;
4009 #define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_RSVD 0x1UL
4010 #define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_AMBER_SUPPORTED 0x2UL
4011 #define PORT_LED_QCAPS_RESP_LED3_COLOR_CAPS_GREEN_SUPPORTED 0x4UL
4016 /* hwrm_queue_qportcfg_input (size:192b/24B) */
4017 struct hwrm_queue_qportcfg_input
{
4024 #define QUEUE_QPORTCFG_REQ_FLAGS_PATH 0x1UL
4025 #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_TX 0x0UL
4026 #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX 0x1UL
4027 #define QUEUE_QPORTCFG_REQ_FLAGS_PATH_LAST QUEUE_QPORTCFG_REQ_FLAGS_PATH_RX
4030 #define QUEUE_QPORTCFG_REQ_DRV_QMAP_CAP_DISABLED 0x0UL
4031 #define QUEUE_QPORTCFG_REQ_DRV_QMAP_CAP_ENABLED 0x1UL
4032 #define QUEUE_QPORTCFG_REQ_DRV_QMAP_CAP_LAST QUEUE_QPORTCFG_REQ_DRV_QMAP_CAP_ENABLED
4036 /* hwrm_queue_qportcfg_output (size:1344b/168B) */
4037 struct hwrm_queue_qportcfg_output
{
4042 u8 max_configurable_queues
;
4043 u8 max_configurable_lossless_queues
;
4044 u8 queue_cfg_allowed
;
4046 #define QUEUE_QPORTCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG 0x1UL
4047 u8 queue_pfcenable_cfg_allowed
;
4048 u8 queue_pri2cos_cfg_allowed
;
4049 u8 queue_cos2bw_cfg_allowed
;
4051 u8 queue_id0_service_profile
;
4052 #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSY 0x0UL
4053 #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS 0x1UL
4054 #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS_ROCE 0x1UL
4055 #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
4056 #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS_NIC 0x3UL
4057 #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_UNKNOWN 0xffUL
4058 #define QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_UNKNOWN
4060 u8 queue_id1_service_profile
;
4061 #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSY 0x0UL
4062 #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSLESS 0x1UL
4063 #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSLESS_ROCE 0x1UL
4064 #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
4065 #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LOSSLESS_NIC 0x3UL
4066 #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_UNKNOWN 0xffUL
4067 #define QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID1_SERVICE_PROFILE_UNKNOWN
4069 u8 queue_id2_service_profile
;
4070 #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSY 0x0UL
4071 #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSLESS 0x1UL
4072 #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSLESS_ROCE 0x1UL
4073 #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
4074 #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LOSSLESS_NIC 0x3UL
4075 #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_UNKNOWN 0xffUL
4076 #define QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID2_SERVICE_PROFILE_UNKNOWN
4078 u8 queue_id3_service_profile
;
4079 #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSY 0x0UL
4080 #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSLESS 0x1UL
4081 #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSLESS_ROCE 0x1UL
4082 #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
4083 #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LOSSLESS_NIC 0x3UL
4084 #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_UNKNOWN 0xffUL
4085 #define QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID3_SERVICE_PROFILE_UNKNOWN
4087 u8 queue_id4_service_profile
;
4088 #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSY 0x0UL
4089 #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSLESS 0x1UL
4090 #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSLESS_ROCE 0x1UL
4091 #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
4092 #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LOSSLESS_NIC 0x3UL
4093 #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_UNKNOWN 0xffUL
4094 #define QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID4_SERVICE_PROFILE_UNKNOWN
4096 u8 queue_id5_service_profile
;
4097 #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSY 0x0UL
4098 #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSLESS 0x1UL
4099 #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSLESS_ROCE 0x1UL
4100 #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
4101 #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LOSSLESS_NIC 0x3UL
4102 #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_UNKNOWN 0xffUL
4103 #define QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID5_SERVICE_PROFILE_UNKNOWN
4105 u8 queue_id6_service_profile
;
4106 #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSY 0x0UL
4107 #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSLESS 0x1UL
4108 #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSLESS_ROCE 0x1UL
4109 #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
4110 #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LOSSLESS_NIC 0x3UL
4111 #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_UNKNOWN 0xffUL
4112 #define QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID6_SERVICE_PROFILE_UNKNOWN
4114 u8 queue_id7_service_profile
;
4115 #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSY 0x0UL
4116 #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSLESS 0x1UL
4117 #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSLESS_ROCE 0x1UL
4118 #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSY_ROCE_CNP 0x2UL
4119 #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LOSSLESS_NIC 0x3UL
4120 #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_UNKNOWN 0xffUL
4121 #define QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_LAST QUEUE_QPORTCFG_RESP_QUEUE_ID7_SERVICE_PROFILE_UNKNOWN
4135 /* hwrm_queue_qcfg_input (size:192b/24B) */
4136 struct hwrm_queue_qcfg_input
{
4143 #define QUEUE_QCFG_REQ_FLAGS_PATH 0x1UL
4144 #define QUEUE_QCFG_REQ_FLAGS_PATH_TX 0x0UL
4145 #define QUEUE_QCFG_REQ_FLAGS_PATH_RX 0x1UL
4146 #define QUEUE_QCFG_REQ_FLAGS_PATH_LAST QUEUE_QCFG_REQ_FLAGS_PATH_RX
4150 /* hwrm_queue_qcfg_output (size:128b/16B) */
4151 struct hwrm_queue_qcfg_output
{
4158 #define QUEUE_QCFG_RESP_SERVICE_PROFILE_LOSSY 0x0UL
4159 #define QUEUE_QCFG_RESP_SERVICE_PROFILE_LOSSLESS 0x1UL
4160 #define QUEUE_QCFG_RESP_SERVICE_PROFILE_UNKNOWN 0xffUL
4161 #define QUEUE_QCFG_RESP_SERVICE_PROFILE_LAST QUEUE_QCFG_RESP_SERVICE_PROFILE_UNKNOWN
4163 #define QUEUE_QCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG 0x1UL
4168 /* hwrm_queue_cfg_input (size:320b/40B) */
4169 struct hwrm_queue_cfg_input
{
4176 #define QUEUE_CFG_REQ_FLAGS_PATH_MASK 0x3UL
4177 #define QUEUE_CFG_REQ_FLAGS_PATH_SFT 0
4178 #define QUEUE_CFG_REQ_FLAGS_PATH_TX 0x0UL
4179 #define QUEUE_CFG_REQ_FLAGS_PATH_RX 0x1UL
4180 #define QUEUE_CFG_REQ_FLAGS_PATH_BIDIR 0x2UL
4181 #define QUEUE_CFG_REQ_FLAGS_PATH_LAST QUEUE_CFG_REQ_FLAGS_PATH_BIDIR
4183 #define QUEUE_CFG_REQ_ENABLES_DFLT_LEN 0x1UL
4184 #define QUEUE_CFG_REQ_ENABLES_SERVICE_PROFILE 0x2UL
4188 #define QUEUE_CFG_REQ_SERVICE_PROFILE_LOSSY 0x0UL
4189 #define QUEUE_CFG_REQ_SERVICE_PROFILE_LOSSLESS 0x1UL
4190 #define QUEUE_CFG_REQ_SERVICE_PROFILE_UNKNOWN 0xffUL
4191 #define QUEUE_CFG_REQ_SERVICE_PROFILE_LAST QUEUE_CFG_REQ_SERVICE_PROFILE_UNKNOWN
4195 /* hwrm_queue_cfg_output (size:128b/16B) */
4196 struct hwrm_queue_cfg_output
{
4205 /* hwrm_queue_pfcenable_qcfg_input (size:192b/24B) */
4206 struct hwrm_queue_pfcenable_qcfg_input
{
4216 /* hwrm_queue_pfcenable_qcfg_output (size:128b/16B) */
4217 struct hwrm_queue_pfcenable_qcfg_output
{
4223 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI0_PFC_ENABLED 0x1UL
4224 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI1_PFC_ENABLED 0x2UL
4225 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI2_PFC_ENABLED 0x4UL
4226 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI3_PFC_ENABLED 0x8UL
4227 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI4_PFC_ENABLED 0x10UL
4228 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI5_PFC_ENABLED 0x20UL
4229 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI6_PFC_ENABLED 0x40UL
4230 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI7_PFC_ENABLED 0x80UL
4231 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI0_PFC_WATCHDOG_ENABLED 0x100UL
4232 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI1_PFC_WATCHDOG_ENABLED 0x200UL
4233 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI2_PFC_WATCHDOG_ENABLED 0x400UL
4234 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI3_PFC_WATCHDOG_ENABLED 0x800UL
4235 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI4_PFC_WATCHDOG_ENABLED 0x1000UL
4236 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI5_PFC_WATCHDOG_ENABLED 0x2000UL
4237 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI6_PFC_WATCHDOG_ENABLED 0x4000UL
4238 #define QUEUE_PFCENABLE_QCFG_RESP_FLAGS_PRI7_PFC_WATCHDOG_ENABLED 0x8000UL
4243 /* hwrm_queue_pfcenable_cfg_input (size:192b/24B) */
4244 struct hwrm_queue_pfcenable_cfg_input
{
4251 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI0_PFC_ENABLED 0x1UL
4252 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI1_PFC_ENABLED 0x2UL
4253 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI2_PFC_ENABLED 0x4UL
4254 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI3_PFC_ENABLED 0x8UL
4255 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI4_PFC_ENABLED 0x10UL
4256 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI5_PFC_ENABLED 0x20UL
4257 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI6_PFC_ENABLED 0x40UL
4258 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI7_PFC_ENABLED 0x80UL
4259 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI0_PFC_WATCHDOG_ENABLED 0x100UL
4260 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI1_PFC_WATCHDOG_ENABLED 0x200UL
4261 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI2_PFC_WATCHDOG_ENABLED 0x400UL
4262 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI3_PFC_WATCHDOG_ENABLED 0x800UL
4263 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI4_PFC_WATCHDOG_ENABLED 0x1000UL
4264 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI5_PFC_WATCHDOG_ENABLED 0x2000UL
4265 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI6_PFC_WATCHDOG_ENABLED 0x4000UL
4266 #define QUEUE_PFCENABLE_CFG_REQ_FLAGS_PRI7_PFC_WATCHDOG_ENABLED 0x8000UL
4271 /* hwrm_queue_pfcenable_cfg_output (size:128b/16B) */
4272 struct hwrm_queue_pfcenable_cfg_output
{
4281 /* hwrm_queue_pri2cos_qcfg_input (size:192b/24B) */
4282 struct hwrm_queue_pri2cos_qcfg_input
{
4289 #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH 0x1UL
4290 #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_TX 0x0UL
4291 #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_RX 0x1UL
4292 #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_LAST QUEUE_PRI2COS_QCFG_REQ_FLAGS_PATH_RX
4293 #define QUEUE_PRI2COS_QCFG_REQ_FLAGS_IVLAN 0x2UL
4298 /* hwrm_queue_pri2cos_qcfg_output (size:192b/24B) */
4299 struct hwrm_queue_pri2cos_qcfg_output
{
4304 u8 pri0_cos_queue_id
;
4305 u8 pri1_cos_queue_id
;
4306 u8 pri2_cos_queue_id
;
4307 u8 pri3_cos_queue_id
;
4308 u8 pri4_cos_queue_id
;
4309 u8 pri5_cos_queue_id
;
4310 u8 pri6_cos_queue_id
;
4311 u8 pri7_cos_queue_id
;
4313 #define QUEUE_PRI2COS_QCFG_RESP_QUEUE_CFG_INFO_ASYM_CFG 0x1UL
4318 /* hwrm_queue_pri2cos_cfg_input (size:320b/40B) */
4319 struct hwrm_queue_pri2cos_cfg_input
{
4326 #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_MASK 0x3UL
4327 #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_SFT 0
4328 #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_TX 0x0UL
4329 #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_RX 0x1UL
4330 #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_BIDIR 0x2UL
4331 #define QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_LAST QUEUE_PRI2COS_CFG_REQ_FLAGS_PATH_BIDIR
4332 #define QUEUE_PRI2COS_CFG_REQ_FLAGS_IVLAN 0x4UL
4334 #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI0_COS_QUEUE_ID 0x1UL
4335 #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI1_COS_QUEUE_ID 0x2UL
4336 #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI2_COS_QUEUE_ID 0x4UL
4337 #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI3_COS_QUEUE_ID 0x8UL
4338 #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI4_COS_QUEUE_ID 0x10UL
4339 #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI5_COS_QUEUE_ID 0x20UL
4340 #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI6_COS_QUEUE_ID 0x40UL
4341 #define QUEUE_PRI2COS_CFG_REQ_ENABLES_PRI7_COS_QUEUE_ID 0x80UL
4343 u8 pri0_cos_queue_id
;
4344 u8 pri1_cos_queue_id
;
4345 u8 pri2_cos_queue_id
;
4346 u8 pri3_cos_queue_id
;
4347 u8 pri4_cos_queue_id
;
4348 u8 pri5_cos_queue_id
;
4349 u8 pri6_cos_queue_id
;
4350 u8 pri7_cos_queue_id
;
4354 /* hwrm_queue_pri2cos_cfg_output (size:128b/16B) */
4355 struct hwrm_queue_pri2cos_cfg_output
{
4364 /* hwrm_queue_cos2bw_qcfg_input (size:192b/24B) */
4365 struct hwrm_queue_cos2bw_qcfg_input
{
4375 /* hwrm_queue_cos2bw_qcfg_output (size:896b/112B) */
4376 struct hwrm_queue_cos2bw_qcfg_output
{
4384 __le32 queue_id0_min_bw
;
4385 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4386 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_SFT 0
4387 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE 0x10000000UL
4388 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BITS (0x0UL << 28)
4389 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BYTES (0x1UL << 28)
4390 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_SCALE_BYTES
4391 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4392 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_SFT 29
4393 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4394 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4395 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4396 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4397 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4398 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4399 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID
4400 __le32 queue_id0_max_bw
;
4401 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4402 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_SFT 0
4403 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE 0x10000000UL
4404 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BITS (0x0UL << 28)
4405 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BYTES (0x1UL << 28)
4406 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_SCALE_BYTES
4407 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4408 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_SFT 29
4409 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4410 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4411 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4412 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4413 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4414 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4415 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID
4416 u8 queue_id0_tsa_assign
;
4417 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_SP 0x0UL
4418 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_ETS 0x1UL
4419 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4420 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID0_TSA_ASSIGN_RESERVED_LAST 0xffUL
4421 u8 queue_id0_pri_lvl
;
4422 u8 queue_id0_bw_weight
;
4424 __le32 queue_id1_min_bw
;
4425 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4426 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_SFT 0
4427 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE 0x10000000UL
4428 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_BITS (0x0UL << 28)
4429 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_BYTES (0x1UL << 28)
4430 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_SCALE_BYTES
4431 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4432 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_SFT 29
4433 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4434 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4435 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4436 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4437 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4438 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4439 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID
4440 __le32 queue_id1_max_bw
;
4441 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4442 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_SFT 0
4443 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE 0x10000000UL
4444 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_BITS (0x0UL << 28)
4445 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_BYTES (0x1UL << 28)
4446 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_SCALE_BYTES
4447 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4448 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_SFT 29
4449 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4450 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4451 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4452 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4453 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4454 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4455 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID
4456 u8 queue_id1_tsa_assign
;
4457 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_SP 0x0UL
4458 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_ETS 0x1UL
4459 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4460 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID1_TSA_ASSIGN_RESERVED_LAST 0xffUL
4461 u8 queue_id1_pri_lvl
;
4462 u8 queue_id1_bw_weight
;
4464 __le32 queue_id2_min_bw
;
4465 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4466 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_SFT 0
4467 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE 0x10000000UL
4468 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_BITS (0x0UL << 28)
4469 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_BYTES (0x1UL << 28)
4470 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_SCALE_BYTES
4471 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4472 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_SFT 29
4473 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4474 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4475 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4476 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4477 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4478 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4479 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID
4480 __le32 queue_id2_max_bw
;
4481 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4482 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_SFT 0
4483 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE 0x10000000UL
4484 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_BITS (0x0UL << 28)
4485 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_BYTES (0x1UL << 28)
4486 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_SCALE_BYTES
4487 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4488 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_SFT 29
4489 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4490 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4491 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4492 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4493 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4494 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4495 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID
4496 u8 queue_id2_tsa_assign
;
4497 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_SP 0x0UL
4498 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_ETS 0x1UL
4499 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4500 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID2_TSA_ASSIGN_RESERVED_LAST 0xffUL
4501 u8 queue_id2_pri_lvl
;
4502 u8 queue_id2_bw_weight
;
4504 __le32 queue_id3_min_bw
;
4505 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4506 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_SFT 0
4507 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE 0x10000000UL
4508 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_BITS (0x0UL << 28)
4509 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_BYTES (0x1UL << 28)
4510 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_SCALE_BYTES
4511 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4512 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_SFT 29
4513 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4514 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4515 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4516 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4517 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4518 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4519 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID
4520 __le32 queue_id3_max_bw
;
4521 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4522 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_SFT 0
4523 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE 0x10000000UL
4524 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_BITS (0x0UL << 28)
4525 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_BYTES (0x1UL << 28)
4526 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_SCALE_BYTES
4527 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4528 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_SFT 29
4529 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4530 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4531 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4532 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4533 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4534 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4535 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID
4536 u8 queue_id3_tsa_assign
;
4537 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_SP 0x0UL
4538 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_ETS 0x1UL
4539 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4540 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID3_TSA_ASSIGN_RESERVED_LAST 0xffUL
4541 u8 queue_id3_pri_lvl
;
4542 u8 queue_id3_bw_weight
;
4544 __le32 queue_id4_min_bw
;
4545 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4546 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_SFT 0
4547 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE 0x10000000UL
4548 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_BITS (0x0UL << 28)
4549 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_BYTES (0x1UL << 28)
4550 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_SCALE_BYTES
4551 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4552 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_SFT 29
4553 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4554 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4555 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4556 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4557 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4558 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4559 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID
4560 __le32 queue_id4_max_bw
;
4561 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4562 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_SFT 0
4563 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE 0x10000000UL
4564 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_BITS (0x0UL << 28)
4565 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_BYTES (0x1UL << 28)
4566 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_SCALE_BYTES
4567 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4568 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_SFT 29
4569 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4570 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4571 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4572 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4573 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4574 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4575 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID
4576 u8 queue_id4_tsa_assign
;
4577 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_SP 0x0UL
4578 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_ETS 0x1UL
4579 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4580 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID4_TSA_ASSIGN_RESERVED_LAST 0xffUL
4581 u8 queue_id4_pri_lvl
;
4582 u8 queue_id4_bw_weight
;
4584 __le32 queue_id5_min_bw
;
4585 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4586 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_SFT 0
4587 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE 0x10000000UL
4588 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_BITS (0x0UL << 28)
4589 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_BYTES (0x1UL << 28)
4590 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_SCALE_BYTES
4591 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4592 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_SFT 29
4593 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4594 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4595 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4596 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4597 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4598 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4599 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID
4600 __le32 queue_id5_max_bw
;
4601 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4602 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_SFT 0
4603 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE 0x10000000UL
4604 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_BITS (0x0UL << 28)
4605 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_BYTES (0x1UL << 28)
4606 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_SCALE_BYTES
4607 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4608 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_SFT 29
4609 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4610 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4611 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4612 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4613 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4614 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4615 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID
4616 u8 queue_id5_tsa_assign
;
4617 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_SP 0x0UL
4618 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_ETS 0x1UL
4619 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4620 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID5_TSA_ASSIGN_RESERVED_LAST 0xffUL
4621 u8 queue_id5_pri_lvl
;
4622 u8 queue_id5_bw_weight
;
4624 __le32 queue_id6_min_bw
;
4625 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4626 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_SFT 0
4627 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE 0x10000000UL
4628 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_BITS (0x0UL << 28)
4629 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_BYTES (0x1UL << 28)
4630 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_SCALE_BYTES
4631 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4632 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_SFT 29
4633 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4634 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4635 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4636 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4637 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4638 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4639 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID
4640 __le32 queue_id6_max_bw
;
4641 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4642 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_SFT 0
4643 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE 0x10000000UL
4644 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_BITS (0x0UL << 28)
4645 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_BYTES (0x1UL << 28)
4646 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_SCALE_BYTES
4647 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4648 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_SFT 29
4649 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4650 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4651 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4652 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4653 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4654 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4655 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID
4656 u8 queue_id6_tsa_assign
;
4657 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_SP 0x0UL
4658 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_ETS 0x1UL
4659 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4660 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID6_TSA_ASSIGN_RESERVED_LAST 0xffUL
4661 u8 queue_id6_pri_lvl
;
4662 u8 queue_id6_bw_weight
;
4664 __le32 queue_id7_min_bw
;
4665 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4666 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_SFT 0
4667 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE 0x10000000UL
4668 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_BITS (0x0UL << 28)
4669 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_BYTES (0x1UL << 28)
4670 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_SCALE_BYTES
4671 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4672 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_SFT 29
4673 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4674 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4675 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4676 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4677 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4678 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4679 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID
4680 __le32 queue_id7_max_bw
;
4681 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4682 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_SFT 0
4683 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE 0x10000000UL
4684 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_BITS (0x0UL << 28)
4685 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_BYTES (0x1UL << 28)
4686 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_SCALE_BYTES
4687 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4688 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_SFT 29
4689 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4690 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4691 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4692 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4693 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4694 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4695 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID
4696 u8 queue_id7_tsa_assign
;
4697 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_SP 0x0UL
4698 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_ETS 0x1UL
4699 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4700 #define QUEUE_COS2BW_QCFG_RESP_QUEUE_ID7_TSA_ASSIGN_RESERVED_LAST 0xffUL
4701 u8 queue_id7_pri_lvl
;
4702 u8 queue_id7_bw_weight
;
4707 /* hwrm_queue_cos2bw_cfg_input (size:1024b/128B) */
4708 struct hwrm_queue_cos2bw_cfg_input
{
4716 #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID0_VALID 0x1UL
4717 #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID1_VALID 0x2UL
4718 #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID2_VALID 0x4UL
4719 #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID3_VALID 0x8UL
4720 #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID4_VALID 0x10UL
4721 #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID5_VALID 0x20UL
4722 #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID6_VALID 0x40UL
4723 #define QUEUE_COS2BW_CFG_REQ_ENABLES_COS_QUEUE_ID7_VALID 0x80UL
4727 __le32 queue_id0_min_bw
;
4728 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4729 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_SFT 0
4730 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE 0x10000000UL
4731 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BITS (0x0UL << 28)
4732 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BYTES (0x1UL << 28)
4733 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_SCALE_BYTES
4734 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4735 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_SFT 29
4736 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4737 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4738 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4739 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4740 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4741 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4742 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MIN_BW_BW_VALUE_UNIT_INVALID
4743 __le32 queue_id0_max_bw
;
4744 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4745 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_SFT 0
4746 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE 0x10000000UL
4747 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BITS (0x0UL << 28)
4748 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BYTES (0x1UL << 28)
4749 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_SCALE_BYTES
4750 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4751 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_SFT 29
4752 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4753 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4754 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4755 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4756 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4757 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4758 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_MAX_BW_BW_VALUE_UNIT_INVALID
4759 u8 queue_id0_tsa_assign
;
4760 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_SP 0x0UL
4761 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_ETS 0x1UL
4762 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4763 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID0_TSA_ASSIGN_RESERVED_LAST 0xffUL
4764 u8 queue_id0_pri_lvl
;
4765 u8 queue_id0_bw_weight
;
4767 __le32 queue_id1_min_bw
;
4768 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4769 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_SFT 0
4770 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE 0x10000000UL
4771 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_BITS (0x0UL << 28)
4772 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_BYTES (0x1UL << 28)
4773 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_SCALE_BYTES
4774 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4775 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_SFT 29
4776 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4777 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4778 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4779 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4780 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4781 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4782 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MIN_BW_BW_VALUE_UNIT_INVALID
4783 __le32 queue_id1_max_bw
;
4784 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4785 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_SFT 0
4786 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE 0x10000000UL
4787 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_BITS (0x0UL << 28)
4788 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_BYTES (0x1UL << 28)
4789 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_SCALE_BYTES
4790 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4791 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_SFT 29
4792 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4793 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4794 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4795 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4796 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4797 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4798 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_MAX_BW_BW_VALUE_UNIT_INVALID
4799 u8 queue_id1_tsa_assign
;
4800 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_SP 0x0UL
4801 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_ETS 0x1UL
4802 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4803 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID1_TSA_ASSIGN_RESERVED_LAST 0xffUL
4804 u8 queue_id1_pri_lvl
;
4805 u8 queue_id1_bw_weight
;
4807 __le32 queue_id2_min_bw
;
4808 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4809 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_SFT 0
4810 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE 0x10000000UL
4811 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_BITS (0x0UL << 28)
4812 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_BYTES (0x1UL << 28)
4813 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_SCALE_BYTES
4814 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4815 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_SFT 29
4816 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4817 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4818 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4819 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4820 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4821 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4822 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MIN_BW_BW_VALUE_UNIT_INVALID
4823 __le32 queue_id2_max_bw
;
4824 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4825 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_SFT 0
4826 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE 0x10000000UL
4827 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_BITS (0x0UL << 28)
4828 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_BYTES (0x1UL << 28)
4829 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_SCALE_BYTES
4830 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4831 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_SFT 29
4832 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4833 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4834 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4835 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4836 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4837 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4838 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_MAX_BW_BW_VALUE_UNIT_INVALID
4839 u8 queue_id2_tsa_assign
;
4840 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_SP 0x0UL
4841 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_ETS 0x1UL
4842 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4843 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID2_TSA_ASSIGN_RESERVED_LAST 0xffUL
4844 u8 queue_id2_pri_lvl
;
4845 u8 queue_id2_bw_weight
;
4847 __le32 queue_id3_min_bw
;
4848 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4849 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_SFT 0
4850 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE 0x10000000UL
4851 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_BITS (0x0UL << 28)
4852 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_BYTES (0x1UL << 28)
4853 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_SCALE_BYTES
4854 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4855 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_SFT 29
4856 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4857 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4858 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4859 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4860 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4861 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4862 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MIN_BW_BW_VALUE_UNIT_INVALID
4863 __le32 queue_id3_max_bw
;
4864 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4865 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_SFT 0
4866 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE 0x10000000UL
4867 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_BITS (0x0UL << 28)
4868 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_BYTES (0x1UL << 28)
4869 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_SCALE_BYTES
4870 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4871 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_SFT 29
4872 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4873 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4874 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4875 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4876 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4877 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4878 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_MAX_BW_BW_VALUE_UNIT_INVALID
4879 u8 queue_id3_tsa_assign
;
4880 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_SP 0x0UL
4881 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_ETS 0x1UL
4882 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4883 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID3_TSA_ASSIGN_RESERVED_LAST 0xffUL
4884 u8 queue_id3_pri_lvl
;
4885 u8 queue_id3_bw_weight
;
4887 __le32 queue_id4_min_bw
;
4888 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4889 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_SFT 0
4890 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE 0x10000000UL
4891 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_BITS (0x0UL << 28)
4892 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_BYTES (0x1UL << 28)
4893 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_SCALE_BYTES
4894 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4895 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_SFT 29
4896 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4897 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4898 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4899 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4900 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4901 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4902 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MIN_BW_BW_VALUE_UNIT_INVALID
4903 __le32 queue_id4_max_bw
;
4904 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4905 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_SFT 0
4906 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE 0x10000000UL
4907 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_BITS (0x0UL << 28)
4908 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_BYTES (0x1UL << 28)
4909 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_SCALE_BYTES
4910 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4911 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_SFT 29
4912 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4913 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4914 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4915 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4916 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4917 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4918 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_MAX_BW_BW_VALUE_UNIT_INVALID
4919 u8 queue_id4_tsa_assign
;
4920 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_SP 0x0UL
4921 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_ETS 0x1UL
4922 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4923 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID4_TSA_ASSIGN_RESERVED_LAST 0xffUL
4924 u8 queue_id4_pri_lvl
;
4925 u8 queue_id4_bw_weight
;
4927 __le32 queue_id5_min_bw
;
4928 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4929 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_SFT 0
4930 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE 0x10000000UL
4931 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_BITS (0x0UL << 28)
4932 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_BYTES (0x1UL << 28)
4933 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_SCALE_BYTES
4934 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4935 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_SFT 29
4936 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4937 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4938 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4939 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4940 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4941 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4942 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MIN_BW_BW_VALUE_UNIT_INVALID
4943 __le32 queue_id5_max_bw
;
4944 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4945 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_SFT 0
4946 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE 0x10000000UL
4947 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_BITS (0x0UL << 28)
4948 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_BYTES (0x1UL << 28)
4949 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_SCALE_BYTES
4950 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4951 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_SFT 29
4952 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4953 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4954 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4955 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4956 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4957 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4958 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_MAX_BW_BW_VALUE_UNIT_INVALID
4959 u8 queue_id5_tsa_assign
;
4960 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_SP 0x0UL
4961 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_ETS 0x1UL
4962 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_RESERVED_FIRST 0x2UL
4963 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID5_TSA_ASSIGN_RESERVED_LAST 0xffUL
4964 u8 queue_id5_pri_lvl
;
4965 u8 queue_id5_bw_weight
;
4967 __le32 queue_id6_min_bw
;
4968 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_MASK 0xfffffffUL
4969 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_SFT 0
4970 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE 0x10000000UL
4971 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_BITS (0x0UL << 28)
4972 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_BYTES (0x1UL << 28)
4973 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_SCALE_BYTES
4974 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4975 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_SFT 29
4976 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4977 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4978 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4979 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4980 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4981 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4982 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MIN_BW_BW_VALUE_UNIT_INVALID
4983 __le32 queue_id6_max_bw
;
4984 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_MASK 0xfffffffUL
4985 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_SFT 0
4986 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE 0x10000000UL
4987 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_BITS (0x0UL << 28)
4988 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_BYTES (0x1UL << 28)
4989 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_SCALE_BYTES
4990 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
4991 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_SFT 29
4992 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
4993 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
4994 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
4995 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
4996 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
4997 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
4998 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_MAX_BW_BW_VALUE_UNIT_INVALID
4999 u8 queue_id6_tsa_assign
;
5000 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_SP 0x0UL
5001 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_ETS 0x1UL
5002 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_RESERVED_FIRST 0x2UL
5003 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID6_TSA_ASSIGN_RESERVED_LAST 0xffUL
5004 u8 queue_id6_pri_lvl
;
5005 u8 queue_id6_bw_weight
;
5007 __le32 queue_id7_min_bw
;
5008 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_MASK 0xfffffffUL
5009 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_SFT 0
5010 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE 0x10000000UL
5011 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_BITS (0x0UL << 28)
5012 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_BYTES (0x1UL << 28)
5013 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_SCALE_BYTES
5014 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
5015 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_SFT 29
5016 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
5017 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
5018 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
5019 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
5020 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
5021 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
5022 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MIN_BW_BW_VALUE_UNIT_INVALID
5023 __le32 queue_id7_max_bw
;
5024 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_MASK 0xfffffffUL
5025 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_SFT 0
5026 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE 0x10000000UL
5027 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_BITS (0x0UL << 28)
5028 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_BYTES (0x1UL << 28)
5029 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_SCALE_BYTES
5030 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
5031 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_SFT 29
5032 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
5033 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
5034 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
5035 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
5036 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
5037 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
5038 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_LAST QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_MAX_BW_BW_VALUE_UNIT_INVALID
5039 u8 queue_id7_tsa_assign
;
5040 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_SP 0x0UL
5041 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_ETS 0x1UL
5042 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_RESERVED_FIRST 0x2UL
5043 #define QUEUE_COS2BW_CFG_REQ_QUEUE_ID7_TSA_ASSIGN_RESERVED_LAST 0xffUL
5044 u8 queue_id7_pri_lvl
;
5045 u8 queue_id7_bw_weight
;
5049 /* hwrm_queue_cos2bw_cfg_output (size:128b/16B) */
5050 struct hwrm_queue_cos2bw_cfg_output
{
5059 /* hwrm_queue_dscp_qcaps_input (size:192b/24B) */
5060 struct hwrm_queue_dscp_qcaps_input
{
5070 /* hwrm_queue_dscp_qcaps_output (size:128b/16B) */
5071 struct hwrm_queue_dscp_qcaps_output
{
5083 /* hwrm_queue_dscp2pri_qcfg_input (size:256b/32B) */
5084 struct hwrm_queue_dscp2pri_qcfg_input
{
5090 __le64 dest_data_addr
;
5093 __le16 dest_data_buffer_size
;
5097 /* hwrm_queue_dscp2pri_qcfg_output (size:128b/16B) */
5098 struct hwrm_queue_dscp2pri_qcfg_output
{
5109 /* hwrm_queue_dscp2pri_cfg_input (size:320b/40B) */
5110 struct hwrm_queue_dscp2pri_cfg_input
{
5116 __le64 src_data_addr
;
5118 #define QUEUE_DSCP2PRI_CFG_REQ_FLAGS_USE_HW_DEFAULT_PRI 0x1UL
5120 #define QUEUE_DSCP2PRI_CFG_REQ_ENABLES_DEFAULT_PRI 0x1UL
5127 /* hwrm_queue_dscp2pri_cfg_output (size:128b/16B) */
5128 struct hwrm_queue_dscp2pri_cfg_output
{
5137 /* hwrm_vnic_alloc_input (size:192b/24B) */
5138 struct hwrm_vnic_alloc_input
{
5145 #define VNIC_ALLOC_REQ_FLAGS_DEFAULT 0x1UL
5149 /* hwrm_vnic_alloc_output (size:128b/16B) */
5150 struct hwrm_vnic_alloc_output
{
5160 /* hwrm_vnic_free_input (size:192b/24B) */
5161 struct hwrm_vnic_free_input
{
5171 /* hwrm_vnic_free_output (size:128b/16B) */
5172 struct hwrm_vnic_free_output
{
5181 /* hwrm_vnic_cfg_input (size:384b/48B) */
5182 struct hwrm_vnic_cfg_input
{
5189 #define VNIC_CFG_REQ_FLAGS_DEFAULT 0x1UL
5190 #define VNIC_CFG_REQ_FLAGS_VLAN_STRIP_MODE 0x2UL
5191 #define VNIC_CFG_REQ_FLAGS_BD_STALL_MODE 0x4UL
5192 #define VNIC_CFG_REQ_FLAGS_ROCE_DUAL_VNIC_MODE 0x8UL
5193 #define VNIC_CFG_REQ_FLAGS_ROCE_ONLY_VNIC_MODE 0x10UL
5194 #define VNIC_CFG_REQ_FLAGS_RSS_DFLT_CR_MODE 0x20UL
5195 #define VNIC_CFG_REQ_FLAGS_ROCE_MIRRORING_CAPABLE_VNIC_MODE 0x40UL
5197 #define VNIC_CFG_REQ_ENABLES_DFLT_RING_GRP 0x1UL
5198 #define VNIC_CFG_REQ_ENABLES_RSS_RULE 0x2UL
5199 #define VNIC_CFG_REQ_ENABLES_COS_RULE 0x4UL
5200 #define VNIC_CFG_REQ_ENABLES_LB_RULE 0x8UL
5201 #define VNIC_CFG_REQ_ENABLES_MRU 0x10UL
5202 #define VNIC_CFG_REQ_ENABLES_DEFAULT_RX_RING_ID 0x20UL
5203 #define VNIC_CFG_REQ_ENABLES_DEFAULT_CMPL_RING_ID 0x40UL
5204 #define VNIC_CFG_REQ_ENABLES_QUEUE_ID 0x80UL
5205 #define VNIC_CFG_REQ_ENABLES_RX_CSUM_V2_MODE 0x100UL
5207 __le16 dflt_ring_grp
;
5212 __le16 default_rx_ring_id
;
5213 __le16 default_cmpl_ring_id
;
5216 #define VNIC_CFG_REQ_RX_CSUM_V2_MODE_DEFAULT 0x0UL
5217 #define VNIC_CFG_REQ_RX_CSUM_V2_MODE_ALL_OK 0x1UL
5218 #define VNIC_CFG_REQ_RX_CSUM_V2_MODE_MAX 0x2UL
5219 #define VNIC_CFG_REQ_RX_CSUM_V2_MODE_LAST VNIC_CFG_REQ_RX_CSUM_V2_MODE_MAX
5223 /* hwrm_vnic_cfg_output (size:128b/16B) */
5224 struct hwrm_vnic_cfg_output
{
5233 /* hwrm_vnic_qcaps_input (size:192b/24B) */
5234 struct hwrm_vnic_qcaps_input
{
5244 /* hwrm_vnic_qcaps_output (size:192b/24B) */
5245 struct hwrm_vnic_qcaps_output
{
5253 #define VNIC_QCAPS_RESP_FLAGS_UNUSED 0x1UL
5254 #define VNIC_QCAPS_RESP_FLAGS_VLAN_STRIP_CAP 0x2UL
5255 #define VNIC_QCAPS_RESP_FLAGS_BD_STALL_CAP 0x4UL
5256 #define VNIC_QCAPS_RESP_FLAGS_ROCE_DUAL_VNIC_CAP 0x8UL
5257 #define VNIC_QCAPS_RESP_FLAGS_ROCE_ONLY_VNIC_CAP 0x10UL
5258 #define VNIC_QCAPS_RESP_FLAGS_RSS_DFLT_CR_CAP 0x20UL
5259 #define VNIC_QCAPS_RESP_FLAGS_ROCE_MIRRORING_CAPABLE_VNIC_CAP 0x40UL
5260 #define VNIC_QCAPS_RESP_FLAGS_OUTERMOST_RSS_CAP 0x80UL
5261 #define VNIC_QCAPS_RESP_FLAGS_COS_ASSIGNMENT_CAP 0x100UL
5262 #define VNIC_QCAPS_RESP_FLAGS_RX_CMPL_V2_CAP 0x200UL
5263 __le16 max_aggs_supported
;
5268 /* hwrm_vnic_tpa_cfg_input (size:320b/40B) */
5269 struct hwrm_vnic_tpa_cfg_input
{
5276 #define VNIC_TPA_CFG_REQ_FLAGS_TPA 0x1UL
5277 #define VNIC_TPA_CFG_REQ_FLAGS_ENCAP_TPA 0x2UL
5278 #define VNIC_TPA_CFG_REQ_FLAGS_RSC_WND_UPDATE 0x4UL
5279 #define VNIC_TPA_CFG_REQ_FLAGS_GRO 0x8UL
5280 #define VNIC_TPA_CFG_REQ_FLAGS_AGG_WITH_ECN 0x10UL
5281 #define VNIC_TPA_CFG_REQ_FLAGS_AGG_WITH_SAME_GRE_SEQ 0x20UL
5282 #define VNIC_TPA_CFG_REQ_FLAGS_GRO_IPID_CHECK 0x40UL
5283 #define VNIC_TPA_CFG_REQ_FLAGS_GRO_TTL_CHECK 0x80UL
5284 #define VNIC_TPA_CFG_REQ_FLAGS_AGG_PACK_AS_GRO 0x100UL
5286 #define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGG_SEGS 0x1UL
5287 #define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGGS 0x2UL
5288 #define VNIC_TPA_CFG_REQ_ENABLES_MAX_AGG_TIMER 0x4UL
5289 #define VNIC_TPA_CFG_REQ_ENABLES_MIN_AGG_LEN 0x8UL
5291 __le16 max_agg_segs
;
5292 #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_1 0x0UL
5293 #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_2 0x1UL
5294 #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_4 0x2UL
5295 #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_8 0x3UL
5296 #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_MAX 0x1fUL
5297 #define VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_LAST VNIC_TPA_CFG_REQ_MAX_AGG_SEGS_MAX
5299 #define VNIC_TPA_CFG_REQ_MAX_AGGS_1 0x0UL
5300 #define VNIC_TPA_CFG_REQ_MAX_AGGS_2 0x1UL
5301 #define VNIC_TPA_CFG_REQ_MAX_AGGS_4 0x2UL
5302 #define VNIC_TPA_CFG_REQ_MAX_AGGS_8 0x3UL
5303 #define VNIC_TPA_CFG_REQ_MAX_AGGS_16 0x4UL
5304 #define VNIC_TPA_CFG_REQ_MAX_AGGS_MAX 0x7UL
5305 #define VNIC_TPA_CFG_REQ_MAX_AGGS_LAST VNIC_TPA_CFG_REQ_MAX_AGGS_MAX
5307 __le32 max_agg_timer
;
5311 /* hwrm_vnic_tpa_cfg_output (size:128b/16B) */
5312 struct hwrm_vnic_tpa_cfg_output
{
5321 /* hwrm_vnic_tpa_qcfg_input (size:192b/24B) */
5322 struct hwrm_vnic_tpa_qcfg_input
{
5332 /* hwrm_vnic_tpa_qcfg_output (size:256b/32B) */
5333 struct hwrm_vnic_tpa_qcfg_output
{
5339 #define VNIC_TPA_QCFG_RESP_FLAGS_TPA 0x1UL
5340 #define VNIC_TPA_QCFG_RESP_FLAGS_ENCAP_TPA 0x2UL
5341 #define VNIC_TPA_QCFG_RESP_FLAGS_RSC_WND_UPDATE 0x4UL
5342 #define VNIC_TPA_QCFG_RESP_FLAGS_GRO 0x8UL
5343 #define VNIC_TPA_QCFG_RESP_FLAGS_AGG_WITH_ECN 0x10UL
5344 #define VNIC_TPA_QCFG_RESP_FLAGS_AGG_WITH_SAME_GRE_SEQ 0x20UL
5345 #define VNIC_TPA_QCFG_RESP_FLAGS_GRO_IPID_CHECK 0x40UL
5346 #define VNIC_TPA_QCFG_RESP_FLAGS_GRO_TTL_CHECK 0x80UL
5347 __le16 max_agg_segs
;
5348 #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_1 0x0UL
5349 #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_2 0x1UL
5350 #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_4 0x2UL
5351 #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_8 0x3UL
5352 #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_MAX 0x1fUL
5353 #define VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_LAST VNIC_TPA_QCFG_RESP_MAX_AGG_SEGS_MAX
5355 #define VNIC_TPA_QCFG_RESP_MAX_AGGS_1 0x0UL
5356 #define VNIC_TPA_QCFG_RESP_MAX_AGGS_2 0x1UL
5357 #define VNIC_TPA_QCFG_RESP_MAX_AGGS_4 0x2UL
5358 #define VNIC_TPA_QCFG_RESP_MAX_AGGS_8 0x3UL
5359 #define VNIC_TPA_QCFG_RESP_MAX_AGGS_16 0x4UL
5360 #define VNIC_TPA_QCFG_RESP_MAX_AGGS_MAX 0x7UL
5361 #define VNIC_TPA_QCFG_RESP_MAX_AGGS_LAST VNIC_TPA_QCFG_RESP_MAX_AGGS_MAX
5362 __le32 max_agg_timer
;
5368 /* hwrm_vnic_rss_cfg_input (size:384b/48B) */
5369 struct hwrm_vnic_rss_cfg_input
{
5376 #define VNIC_RSS_CFG_REQ_HASH_TYPE_IPV4 0x1UL
5377 #define VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV4 0x2UL
5378 #define VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV4 0x4UL
5379 #define VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6 0x8UL
5380 #define VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV6 0x10UL
5381 #define VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV6 0x20UL
5383 u8 ring_table_pair_index
;
5385 #define VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_DEFAULT 0x1UL
5386 #define VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_INNERMOST_4 0x2UL
5387 #define VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_INNERMOST_2 0x4UL
5388 #define VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_OUTERMOST_4 0x8UL
5389 #define VNIC_RSS_CFG_REQ_HASH_MODE_FLAGS_OUTERMOST_2 0x10UL
5390 __le64 ring_grp_tbl_addr
;
5391 __le64 hash_key_tbl_addr
;
5396 /* hwrm_vnic_rss_cfg_output (size:128b/16B) */
5397 struct hwrm_vnic_rss_cfg_output
{
5406 /* hwrm_vnic_rss_cfg_cmd_err (size:64b/8B) */
5407 struct hwrm_vnic_rss_cfg_cmd_err
{
5409 #define VNIC_RSS_CFG_CMD_ERR_CODE_UNKNOWN 0x0UL
5410 #define VNIC_RSS_CFG_CMD_ERR_CODE_INTERFACE_NOT_READY 0x1UL
5411 #define VNIC_RSS_CFG_CMD_ERR_CODE_LAST VNIC_RSS_CFG_CMD_ERR_CODE_INTERFACE_NOT_READY
5415 /* hwrm_vnic_plcmodes_cfg_input (size:320b/40B) */
5416 struct hwrm_vnic_plcmodes_cfg_input
{
5423 #define VNIC_PLCMODES_CFG_REQ_FLAGS_REGULAR_PLACEMENT 0x1UL
5424 #define VNIC_PLCMODES_CFG_REQ_FLAGS_JUMBO_PLACEMENT 0x2UL
5425 #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV4 0x4UL
5426 #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV6 0x8UL
5427 #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_FCOE 0x10UL
5428 #define VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_ROCE 0x20UL
5429 #define VNIC_PLCMODES_CFG_REQ_FLAGS_VIRTIO_PLACEMENT 0x40UL
5431 #define VNIC_PLCMODES_CFG_REQ_ENABLES_JUMBO_THRESH_VALID 0x1UL
5432 #define VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_OFFSET_VALID 0x2UL
5433 #define VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_THRESHOLD_VALID 0x4UL
5434 #define VNIC_PLCMODES_CFG_REQ_ENABLES_MAX_BDS_VALID 0x8UL
5436 __le16 jumbo_thresh
;
5438 __le16 hds_threshold
;
5443 /* hwrm_vnic_plcmodes_cfg_output (size:128b/16B) */
5444 struct hwrm_vnic_plcmodes_cfg_output
{
5453 /* hwrm_vnic_rss_cos_lb_ctx_alloc_input (size:128b/16B) */
5454 struct hwrm_vnic_rss_cos_lb_ctx_alloc_input
{
5462 /* hwrm_vnic_rss_cos_lb_ctx_alloc_output (size:128b/16B) */
5463 struct hwrm_vnic_rss_cos_lb_ctx_alloc_output
{
5468 __le16 rss_cos_lb_ctx_id
;
5473 /* hwrm_vnic_rss_cos_lb_ctx_free_input (size:192b/24B) */
5474 struct hwrm_vnic_rss_cos_lb_ctx_free_input
{
5480 __le16 rss_cos_lb_ctx_id
;
5484 /* hwrm_vnic_rss_cos_lb_ctx_free_output (size:128b/16B) */
5485 struct hwrm_vnic_rss_cos_lb_ctx_free_output
{
5494 /* hwrm_ring_alloc_input (size:704b/88B) */
5495 struct hwrm_ring_alloc_input
{
5502 #define RING_ALLOC_REQ_ENABLES_RING_ARB_CFG 0x2UL
5503 #define RING_ALLOC_REQ_ENABLES_STAT_CTX_ID_VALID 0x8UL
5504 #define RING_ALLOC_REQ_ENABLES_MAX_BW_VALID 0x20UL
5505 #define RING_ALLOC_REQ_ENABLES_RX_RING_ID_VALID 0x40UL
5506 #define RING_ALLOC_REQ_ENABLES_NQ_RING_ID_VALID 0x80UL
5507 #define RING_ALLOC_REQ_ENABLES_RX_BUF_SIZE_VALID 0x100UL
5508 #define RING_ALLOC_REQ_ENABLES_SCHQ_ID 0x200UL
5509 #define RING_ALLOC_REQ_ENABLES_MPC_CHNLS_TYPE 0x400UL
5511 #define RING_ALLOC_REQ_RING_TYPE_L2_CMPL 0x0UL
5512 #define RING_ALLOC_REQ_RING_TYPE_TX 0x1UL
5513 #define RING_ALLOC_REQ_RING_TYPE_RX 0x2UL
5514 #define RING_ALLOC_REQ_RING_TYPE_ROCE_CMPL 0x3UL
5515 #define RING_ALLOC_REQ_RING_TYPE_RX_AGG 0x4UL
5516 #define RING_ALLOC_REQ_RING_TYPE_NQ 0x5UL
5517 #define RING_ALLOC_REQ_RING_TYPE_LAST RING_ALLOC_REQ_RING_TYPE_NQ
5520 #define RING_ALLOC_REQ_FLAGS_RX_SOP_PAD 0x1UL
5521 __le64 page_tbl_addr
;
5528 __le16 cmpl_ring_id
;
5533 __le16 ring_arb_cfg
;
5534 #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_MASK 0xfUL
5535 #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_SFT 0
5536 #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_SP 0x1UL
5537 #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_WFQ 0x2UL
5538 #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_LAST RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_WFQ
5539 #define RING_ALLOC_REQ_RING_ARB_CFG_RSVD_MASK 0xf0UL
5540 #define RING_ALLOC_REQ_RING_ARB_CFG_RSVD_SFT 4
5541 #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_PARAM_MASK 0xff00UL
5542 #define RING_ALLOC_REQ_RING_ARB_CFG_ARB_POLICY_PARAM_SFT 8
5548 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_MASK 0xfffffffUL
5549 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_SFT 0
5550 #define RING_ALLOC_REQ_MAX_BW_SCALE 0x10000000UL
5551 #define RING_ALLOC_REQ_MAX_BW_SCALE_BITS (0x0UL << 28)
5552 #define RING_ALLOC_REQ_MAX_BW_SCALE_BYTES (0x1UL << 28)
5553 #define RING_ALLOC_REQ_MAX_BW_SCALE_LAST RING_ALLOC_REQ_MAX_BW_SCALE_BYTES
5554 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_MASK 0xe0000000UL
5555 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_SFT 29
5556 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_MEGA (0x0UL << 29)
5557 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_KILO (0x2UL << 29)
5558 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_BASE (0x4UL << 29)
5559 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_GIGA (0x6UL << 29)
5560 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
5561 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_INVALID (0x7UL << 29)
5562 #define RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_LAST RING_ALLOC_REQ_MAX_BW_BW_VALUE_UNIT_INVALID
5564 #define RING_ALLOC_REQ_INT_MODE_LEGACY 0x0UL
5565 #define RING_ALLOC_REQ_INT_MODE_RSVD 0x1UL
5566 #define RING_ALLOC_REQ_INT_MODE_MSIX 0x2UL
5567 #define RING_ALLOC_REQ_INT_MODE_POLL 0x3UL
5568 #define RING_ALLOC_REQ_INT_MODE_LAST RING_ALLOC_REQ_INT_MODE_POLL
5570 #define RING_ALLOC_REQ_MPC_CHNLS_TYPE_TCE 0x0UL
5571 #define RING_ALLOC_REQ_MPC_CHNLS_TYPE_RCE 0x1UL
5572 #define RING_ALLOC_REQ_MPC_CHNLS_TYPE_TE_CFA 0x2UL
5573 #define RING_ALLOC_REQ_MPC_CHNLS_TYPE_RE_CFA 0x3UL
5574 #define RING_ALLOC_REQ_MPC_CHNLS_TYPE_PRIMATE 0x4UL
5575 #define RING_ALLOC_REQ_MPC_CHNLS_TYPE_LAST RING_ALLOC_REQ_MPC_CHNLS_TYPE_PRIMATE
5580 /* hwrm_ring_alloc_output (size:128b/16B) */
5581 struct hwrm_ring_alloc_output
{
5587 __le16 logical_ring_id
;
5592 /* hwrm_ring_free_input (size:192b/24B) */
5593 struct hwrm_ring_free_input
{
5600 #define RING_FREE_REQ_RING_TYPE_L2_CMPL 0x0UL
5601 #define RING_FREE_REQ_RING_TYPE_TX 0x1UL
5602 #define RING_FREE_REQ_RING_TYPE_RX 0x2UL
5603 #define RING_FREE_REQ_RING_TYPE_ROCE_CMPL 0x3UL
5604 #define RING_FREE_REQ_RING_TYPE_RX_AGG 0x4UL
5605 #define RING_FREE_REQ_RING_TYPE_NQ 0x5UL
5606 #define RING_FREE_REQ_RING_TYPE_LAST RING_FREE_REQ_RING_TYPE_NQ
5612 /* hwrm_ring_free_output (size:128b/16B) */
5613 struct hwrm_ring_free_output
{
5622 /* hwrm_ring_reset_input (size:192b/24B) */
5623 struct hwrm_ring_reset_input
{
5630 #define RING_RESET_REQ_RING_TYPE_L2_CMPL 0x0UL
5631 #define RING_RESET_REQ_RING_TYPE_TX 0x1UL
5632 #define RING_RESET_REQ_RING_TYPE_RX 0x2UL
5633 #define RING_RESET_REQ_RING_TYPE_ROCE_CMPL 0x3UL
5634 #define RING_RESET_REQ_RING_TYPE_RX_RING_GRP 0x6UL
5635 #define RING_RESET_REQ_RING_TYPE_LAST RING_RESET_REQ_RING_TYPE_RX_RING_GRP
5641 /* hwrm_ring_reset_output (size:128b/16B) */
5642 struct hwrm_ring_reset_output
{
5652 /* hwrm_ring_aggint_qcaps_input (size:128b/16B) */
5653 struct hwrm_ring_aggint_qcaps_input
{
5661 /* hwrm_ring_aggint_qcaps_output (size:384b/48B) */
5662 struct hwrm_ring_aggint_qcaps_output
{
5668 #define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_INT_LAT_TMR_MIN 0x1UL
5669 #define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_INT_LAT_TMR_MAX 0x2UL
5670 #define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_TIMER_RESET 0x4UL
5671 #define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_RING_IDLE 0x8UL
5672 #define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_NUM_CMPL_DMA_AGGR 0x10UL
5673 #define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_NUM_CMPL_DMA_AGGR_DURING_INT 0x20UL
5674 #define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_CMPL_AGGR_DMA_TMR 0x40UL
5675 #define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_CMPL_AGGR_DMA_TMR_DURING_INT 0x80UL
5676 #define RING_AGGINT_QCAPS_RESP_CMPL_PARAMS_NUM_CMPL_AGGR_INT 0x100UL
5678 #define RING_AGGINT_QCAPS_RESP_NQ_PARAMS_INT_LAT_TMR_MIN 0x1UL
5679 __le16 num_cmpl_dma_aggr_min
;
5680 __le16 num_cmpl_dma_aggr_max
;
5681 __le16 num_cmpl_dma_aggr_during_int_min
;
5682 __le16 num_cmpl_dma_aggr_during_int_max
;
5683 __le16 cmpl_aggr_dma_tmr_min
;
5684 __le16 cmpl_aggr_dma_tmr_max
;
5685 __le16 cmpl_aggr_dma_tmr_during_int_min
;
5686 __le16 cmpl_aggr_dma_tmr_during_int_max
;
5687 __le16 int_lat_tmr_min_min
;
5688 __le16 int_lat_tmr_min_max
;
5689 __le16 int_lat_tmr_max_min
;
5690 __le16 int_lat_tmr_max_max
;
5691 __le16 num_cmpl_aggr_int_min
;
5692 __le16 num_cmpl_aggr_int_max
;
5698 /* hwrm_ring_cmpl_ring_qaggint_params_input (size:192b/24B) */
5699 struct hwrm_ring_cmpl_ring_qaggint_params_input
{
5707 #define RING_CMPL_RING_QAGGINT_PARAMS_REQ_FLAGS_UNUSED_0_MASK 0x3UL
5708 #define RING_CMPL_RING_QAGGINT_PARAMS_REQ_FLAGS_UNUSED_0_SFT 0
5709 #define RING_CMPL_RING_QAGGINT_PARAMS_REQ_FLAGS_IS_NQ 0x4UL
5713 /* hwrm_ring_cmpl_ring_qaggint_params_output (size:256b/32B) */
5714 struct hwrm_ring_cmpl_ring_qaggint_params_output
{
5720 #define RING_CMPL_RING_QAGGINT_PARAMS_RESP_FLAGS_TIMER_RESET 0x1UL
5721 #define RING_CMPL_RING_QAGGINT_PARAMS_RESP_FLAGS_RING_IDLE 0x2UL
5722 __le16 num_cmpl_dma_aggr
;
5723 __le16 num_cmpl_dma_aggr_during_int
;
5724 __le16 cmpl_aggr_dma_tmr
;
5725 __le16 cmpl_aggr_dma_tmr_during_int
;
5726 __le16 int_lat_tmr_min
;
5727 __le16 int_lat_tmr_max
;
5728 __le16 num_cmpl_aggr_int
;
5733 /* hwrm_ring_cmpl_ring_cfg_aggint_params_input (size:320b/40B) */
5734 struct hwrm_ring_cmpl_ring_cfg_aggint_params_input
{
5742 #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_FLAGS_TIMER_RESET 0x1UL
5743 #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_FLAGS_RING_IDLE 0x2UL
5744 #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_FLAGS_IS_NQ 0x4UL
5745 __le16 num_cmpl_dma_aggr
;
5746 __le16 num_cmpl_dma_aggr_during_int
;
5747 __le16 cmpl_aggr_dma_tmr
;
5748 __le16 cmpl_aggr_dma_tmr_during_int
;
5749 __le16 int_lat_tmr_min
;
5750 __le16 int_lat_tmr_max
;
5751 __le16 num_cmpl_aggr_int
;
5753 #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_NUM_CMPL_DMA_AGGR 0x1UL
5754 #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_NUM_CMPL_DMA_AGGR_DURING_INT 0x2UL
5755 #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_CMPL_AGGR_DMA_TMR 0x4UL
5756 #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_INT_LAT_TMR_MIN 0x8UL
5757 #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_INT_LAT_TMR_MAX 0x10UL
5758 #define RING_CMPL_RING_CFG_AGGINT_PARAMS_REQ_ENABLES_NUM_CMPL_AGGR_INT 0x20UL
5762 /* hwrm_ring_cmpl_ring_cfg_aggint_params_output (size:128b/16B) */
5763 struct hwrm_ring_cmpl_ring_cfg_aggint_params_output
{
5772 /* hwrm_ring_grp_alloc_input (size:192b/24B) */
5773 struct hwrm_ring_grp_alloc_input
{
5785 /* hwrm_ring_grp_alloc_output (size:128b/16B) */
5786 struct hwrm_ring_grp_alloc_output
{
5791 __le32 ring_group_id
;
5796 /* hwrm_ring_grp_free_input (size:192b/24B) */
5797 struct hwrm_ring_grp_free_input
{
5803 __le32 ring_group_id
;
5807 /* hwrm_ring_grp_free_output (size:128b/16B) */
5808 struct hwrm_ring_grp_free_output
{
5817 #define DEFAULT_FLOW_ID 0xFFFFFFFFUL
5818 #define ROCEV1_FLOW_ID 0xFFFFFFFEUL
5819 #define ROCEV2_FLOW_ID 0xFFFFFFFDUL
5820 #define ROCEV2_CNP_FLOW_ID 0xFFFFFFFCUL
5822 /* hwrm_cfa_l2_filter_alloc_input (size:768b/96B) */
5823 struct hwrm_cfa_l2_filter_alloc_input
{
5830 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH 0x1UL
5831 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_TX 0x0UL
5832 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX 0x1UL
5833 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_LAST CFA_L2_FILTER_ALLOC_REQ_FLAGS_PATH_RX
5834 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x2UL
5835 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_DROP 0x4UL
5836 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_OUTERMOST 0x8UL
5837 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_MASK 0x30UL
5838 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_SFT 4
5839 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_NO_ROCE_L2 (0x0UL << 4)
5840 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_L2 (0x1UL << 4)
5841 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_ROCE (0x2UL << 4)
5842 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_LAST CFA_L2_FILTER_ALLOC_REQ_FLAGS_TRAFFIC_ROCE
5843 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_XDP_DISABLE 0x40UL
5844 #define CFA_L2_FILTER_ALLOC_REQ_FLAGS_SOURCE_VALID 0x80UL
5846 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_ADDR 0x1UL
5847 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_ADDR_MASK 0x2UL
5848 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_OVLAN 0x4UL
5849 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_OVLAN_MASK 0x8UL
5850 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN 0x10UL
5851 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN_MASK 0x20UL
5852 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_ADDR 0x40UL
5853 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_ADDR_MASK 0x80UL
5854 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_OVLAN 0x100UL
5855 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_OVLAN_MASK 0x200UL
5856 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_IVLAN 0x400UL
5857 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_L2_IVLAN_MASK 0x800UL
5858 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_SRC_TYPE 0x1000UL
5859 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_SRC_ID 0x2000UL
5860 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x4000UL
5861 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_DST_ID 0x8000UL
5862 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x10000UL
5863 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_NUM_VLANS 0x20000UL
5864 #define CFA_L2_FILTER_ALLOC_REQ_ENABLES_T_NUM_VLANS 0x40000UL
5870 __le16 l2_ovlan_mask
;
5872 __le16 l2_ivlan_mask
;
5876 u8 t_l2_addr_mask
[6];
5878 __le16 t_l2_ovlan_mask
;
5880 __le16 t_l2_ivlan_mask
;
5882 #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_NPORT 0x0UL
5883 #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_PF 0x1UL
5884 #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_VF 0x2UL
5885 #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_VNIC 0x3UL
5886 #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_KONG 0x4UL
5887 #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_APE 0x5UL
5888 #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_BONO 0x6UL
5889 #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_TANG 0x7UL
5890 #define CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_LAST CFA_L2_FILTER_ALLOC_REQ_SRC_TYPE_TANG
5894 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL
5895 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL
5896 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL
5897 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE 0x3UL
5898 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP 0x4UL
5899 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL
5900 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS 0x6UL
5901 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT 0x7UL
5902 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL
5903 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL
5904 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1 0xaUL
5905 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE 0xbUL
5906 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
5907 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL
5908 #define CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST CFA_L2_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL
5911 __le16 mirror_vnic_id
;
5913 #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_NO_PREFER 0x0UL
5914 #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_ABOVE_FILTER 0x1UL
5915 #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_BELOW_FILTER 0x2UL
5916 #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MAX 0x3UL
5917 #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MIN 0x4UL
5918 #define CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_LAST CFA_L2_FILTER_ALLOC_REQ_PRI_HINT_MIN
5921 __le64 l2_filter_id_hint
;
5924 /* hwrm_cfa_l2_filter_alloc_output (size:192b/24B) */
5925 struct hwrm_cfa_l2_filter_alloc_output
{
5930 __le64 l2_filter_id
;
5932 #define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_VALUE_MASK 0x3fffffffUL
5933 #define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_VALUE_SFT 0
5934 #define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_TYPE 0x40000000UL
5935 #define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_TYPE_INT (0x0UL << 30)
5936 #define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT (0x1UL << 30)
5937 #define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_TYPE_LAST CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT
5938 #define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_DIR 0x80000000UL
5939 #define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_DIR_RX (0x0UL << 31)
5940 #define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX (0x1UL << 31)
5941 #define CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_DIR_LAST CFA_L2_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX
5946 /* hwrm_cfa_l2_filter_free_input (size:192b/24B) */
5947 struct hwrm_cfa_l2_filter_free_input
{
5953 __le64 l2_filter_id
;
5956 /* hwrm_cfa_l2_filter_free_output (size:128b/16B) */
5957 struct hwrm_cfa_l2_filter_free_output
{
5966 /* hwrm_cfa_l2_filter_cfg_input (size:320b/40B) */
5967 struct hwrm_cfa_l2_filter_cfg_input
{
5974 #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH 0x1UL
5975 #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_TX 0x0UL
5976 #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX 0x1UL
5977 #define CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_LAST CFA_L2_FILTER_CFG_REQ_FLAGS_PATH_RX
5978 #define CFA_L2_FILTER_CFG_REQ_FLAGS_DROP 0x2UL
5979 #define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_MASK 0xcUL
5980 #define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_SFT 2
5981 #define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_NO_ROCE_L2 (0x0UL << 2)
5982 #define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_L2 (0x1UL << 2)
5983 #define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_ROCE (0x2UL << 2)
5984 #define CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_LAST CFA_L2_FILTER_CFG_REQ_FLAGS_TRAFFIC_ROCE
5986 #define CFA_L2_FILTER_CFG_REQ_ENABLES_DST_ID 0x1UL
5987 #define CFA_L2_FILTER_CFG_REQ_ENABLES_NEW_MIRROR_VNIC_ID 0x2UL
5988 __le64 l2_filter_id
;
5990 __le32 new_mirror_vnic_id
;
5993 /* hwrm_cfa_l2_filter_cfg_output (size:128b/16B) */
5994 struct hwrm_cfa_l2_filter_cfg_output
{
6003 /* hwrm_cfa_l2_set_rx_mask_input (size:448b/56B) */
6004 struct hwrm_cfa_l2_set_rx_mask_input
{
6012 #define CFA_L2_SET_RX_MASK_REQ_MASK_MCAST 0x2UL
6013 #define CFA_L2_SET_RX_MASK_REQ_MASK_ALL_MCAST 0x4UL
6014 #define CFA_L2_SET_RX_MASK_REQ_MASK_BCAST 0x8UL
6015 #define CFA_L2_SET_RX_MASK_REQ_MASK_PROMISCUOUS 0x10UL
6016 #define CFA_L2_SET_RX_MASK_REQ_MASK_OUTERMOST 0x20UL
6017 #define CFA_L2_SET_RX_MASK_REQ_MASK_VLANONLY 0x40UL
6018 #define CFA_L2_SET_RX_MASK_REQ_MASK_VLAN_NONVLAN 0x80UL
6019 #define CFA_L2_SET_RX_MASK_REQ_MASK_ANYVLAN_NONVLAN 0x100UL
6021 __le32 num_mc_entries
;
6023 __le64 vlan_tag_tbl_addr
;
6024 __le32 num_vlan_tags
;
6028 /* hwrm_cfa_l2_set_rx_mask_output (size:128b/16B) */
6029 struct hwrm_cfa_l2_set_rx_mask_output
{
6038 /* hwrm_cfa_l2_set_rx_mask_cmd_err (size:64b/8B) */
6039 struct hwrm_cfa_l2_set_rx_mask_cmd_err
{
6041 #define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_UNKNOWN 0x0UL
6042 #define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_NTUPLE_FILTER_CONFLICT_ERR 0x1UL
6043 #define CFA_L2_SET_RX_MASK_CMD_ERR_CODE_LAST CFA_L2_SET_RX_MASK_CMD_ERR_CODE_NTUPLE_FILTER_CONFLICT_ERR
6047 /* hwrm_cfa_tunnel_filter_alloc_input (size:704b/88B) */
6048 struct hwrm_cfa_tunnel_filter_alloc_input
{
6055 #define CFA_TUNNEL_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x1UL
6057 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_FILTER_ID 0x1UL
6058 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_ADDR 0x2UL
6059 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L2_IVLAN 0x4UL
6060 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L3_ADDR 0x8UL
6061 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_L3_ADDR_TYPE 0x10UL
6062 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_T_L3_ADDR_TYPE 0x20UL
6063 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_T_L3_ADDR 0x40UL
6064 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x80UL
6065 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_VNI 0x100UL
6066 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_DST_VNIC_ID 0x200UL
6067 #define CFA_TUNNEL_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x400UL
6068 __le64 l2_filter_id
;
6072 __le32 t_l3_addr
[4];
6076 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL
6077 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL
6078 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL
6079 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE 0x3UL
6080 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP 0x4UL
6081 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL
6082 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS 0x6UL
6083 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT 0x7UL
6084 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL
6085 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL
6086 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1 0xaUL
6087 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE 0xbUL
6088 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
6089 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL
6090 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL
6092 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_FLAGS_TUN_FLAGS_OAM_CHECKSUM_EXPLHDR 0x1UL
6093 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_FLAGS_TUN_FLAGS_CRITICAL_OPT_S1 0x2UL
6094 #define CFA_TUNNEL_FILTER_ALLOC_REQ_TUNNEL_FLAGS_TUN_FLAGS_EXTHDR_SEQNUM_S0 0x4UL
6097 __le32 mirror_vnic_id
;
6100 /* hwrm_cfa_tunnel_filter_alloc_output (size:192b/24B) */
6101 struct hwrm_cfa_tunnel_filter_alloc_output
{
6106 __le64 tunnel_filter_id
;
6108 #define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_VALUE_MASK 0x3fffffffUL
6109 #define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_VALUE_SFT 0
6110 #define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_TYPE 0x40000000UL
6111 #define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_TYPE_INT (0x0UL << 30)
6112 #define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT (0x1UL << 30)
6113 #define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_TYPE_LAST CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT
6114 #define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_DIR 0x80000000UL
6115 #define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_DIR_RX (0x0UL << 31)
6116 #define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX (0x1UL << 31)
6117 #define CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_DIR_LAST CFA_TUNNEL_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX
6122 /* hwrm_cfa_tunnel_filter_free_input (size:192b/24B) */
6123 struct hwrm_cfa_tunnel_filter_free_input
{
6129 __le64 tunnel_filter_id
;
6132 /* hwrm_cfa_tunnel_filter_free_output (size:128b/16B) */
6133 struct hwrm_cfa_tunnel_filter_free_output
{
6142 /* hwrm_vxlan_ipv4_hdr (size:128b/16B) */
6143 struct hwrm_vxlan_ipv4_hdr
{
6145 #define VXLAN_IPV4_HDR_VER_HLEN_HEADER_LENGTH_MASK 0xfUL
6146 #define VXLAN_IPV4_HDR_VER_HLEN_HEADER_LENGTH_SFT 0
6147 #define VXLAN_IPV4_HDR_VER_HLEN_VERSION_MASK 0xf0UL
6148 #define VXLAN_IPV4_HDR_VER_HLEN_VERSION_SFT 4
6151 __be16 flags_frag_offset
;
6155 __be32 dest_ip_addr
;
6158 /* hwrm_vxlan_ipv6_hdr (size:320b/40B) */
6159 struct hwrm_vxlan_ipv6_hdr
{
6160 __be32 ver_tc_flow_label
;
6161 #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_VER_SFT 0x1cUL
6162 #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_VER_MASK 0xf0000000UL
6163 #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_TC_SFT 0x14UL
6164 #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_TC_MASK 0xff00000UL
6165 #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_SFT 0x0UL
6166 #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_MASK 0xfffffUL
6167 #define VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_LAST VXLAN_IPV6_HDR_VER_TC_FLOW_LABEL_FLOW_LABEL_MASK
6171 __be32 src_ip_addr
[4];
6172 __be32 dest_ip_addr
[4];
6175 /* hwrm_cfa_encap_data_vxlan (size:640b/80B) */
6176 struct hwrm_cfa_encap_data_vxlan
{
6187 #define CFA_ENCAP_DATA_VXLAN_L3_VER_MASK 0xfUL
6188 #define CFA_ENCAP_DATA_VXLAN_L3_VER_IPV4 0x4UL
6189 #define CFA_ENCAP_DATA_VXLAN_L3_VER_IPV6 0x6UL
6190 #define CFA_ENCAP_DATA_VXLAN_L3_LAST CFA_ENCAP_DATA_VXLAN_L3_VER_IPV6
6200 /* hwrm_cfa_encap_record_alloc_input (size:832b/104B) */
6201 struct hwrm_cfa_encap_record_alloc_input
{
6208 #define CFA_ENCAP_RECORD_ALLOC_REQ_FLAGS_LOOPBACK 0x1UL
6209 #define CFA_ENCAP_RECORD_ALLOC_REQ_FLAGS_EXTERNAL 0x2UL
6211 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN 0x1UL
6212 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_NVGRE 0x2UL
6213 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_L2GRE 0x3UL
6214 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPIP 0x4UL
6215 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_GENEVE 0x5UL
6216 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_MPLS 0x6UL
6217 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VLAN 0x7UL
6218 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPGRE 0x8UL
6219 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN_V4 0x9UL
6220 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_IPGRE_V1 0xaUL
6221 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_L2_ETYPE 0xbUL
6222 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN_GPE_V6 0xcUL
6223 #define CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_LAST CFA_ENCAP_RECORD_ALLOC_REQ_ENCAP_TYPE_VXLAN_GPE_V6
6225 __le32 encap_data
[20];
6228 /* hwrm_cfa_encap_record_alloc_output (size:128b/16B) */
6229 struct hwrm_cfa_encap_record_alloc_output
{
6234 __le32 encap_record_id
;
6239 /* hwrm_cfa_encap_record_free_input (size:192b/24B) */
6240 struct hwrm_cfa_encap_record_free_input
{
6246 __le32 encap_record_id
;
6250 /* hwrm_cfa_encap_record_free_output (size:128b/16B) */
6251 struct hwrm_cfa_encap_record_free_output
{
6260 /* hwrm_cfa_ntuple_filter_alloc_input (size:1024b/128B) */
6261 struct hwrm_cfa_ntuple_filter_alloc_input
{
6268 #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_LOOPBACK 0x1UL
6269 #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_DROP 0x2UL
6270 #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_METER 0x4UL
6271 #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_DEST_FID 0x8UL
6272 #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_ARP_REPLY 0x10UL
6273 #define CFA_NTUPLE_FILTER_ALLOC_REQ_FLAGS_DEST_RFS_RING_IDX 0x20UL
6275 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_L2_FILTER_ID 0x1UL
6276 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_ETHERTYPE 0x2UL
6277 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x4UL
6278 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_MACADDR 0x8UL
6279 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_IPADDR_TYPE 0x10UL
6280 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR 0x20UL
6281 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR_MASK 0x40UL
6282 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR 0x80UL
6283 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR_MASK 0x100UL
6284 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_IP_PROTOCOL 0x200UL
6285 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_PORT 0x400UL
6286 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_SRC_PORT_MASK 0x800UL
6287 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_PORT 0x1000UL
6288 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_PORT_MASK 0x2000UL
6289 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_PRI_HINT 0x4000UL
6290 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_NTUPLE_FILTER_ID 0x8000UL
6291 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_ID 0x10000UL
6292 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x20000UL
6293 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_DST_MACADDR 0x40000UL
6294 #define CFA_NTUPLE_FILTER_ALLOC_REQ_ENABLES_RFS_RING_TBL_IDX 0x80000UL
6295 __le64 l2_filter_id
;
6299 #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_UNKNOWN 0x0UL
6300 #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV4 0x4UL
6301 #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6 0x6UL
6302 #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_LAST CFA_NTUPLE_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6
6304 #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_UNKNOWN 0x0UL
6305 #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_TCP 0x6UL
6306 #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP 0x11UL
6307 #define CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_LAST CFA_NTUPLE_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP
6309 __le16 mirror_vnic_id
;
6311 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL
6312 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL
6313 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL
6314 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE 0x3UL
6315 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP 0x4UL
6316 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL
6317 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS 0x6UL
6318 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT 0x7UL
6319 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL
6320 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL
6321 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1 0xaUL
6322 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE 0xbUL
6323 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
6324 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL
6325 #define CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST CFA_NTUPLE_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL
6327 #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_NO_PREFER 0x0UL
6328 #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_ABOVE 0x1UL
6329 #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_BELOW 0x2UL
6330 #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_HIGHEST 0x3UL
6331 #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_LOWEST 0x4UL
6332 #define CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_LAST CFA_NTUPLE_FILTER_ALLOC_REQ_PRI_HINT_LOWEST
6333 __be32 src_ipaddr
[4];
6334 __be32 src_ipaddr_mask
[4];
6335 __be32 dst_ipaddr
[4];
6336 __be32 dst_ipaddr_mask
[4];
6338 __be16 src_port_mask
;
6340 __be16 dst_port_mask
;
6341 __le64 ntuple_filter_id_hint
;
6344 /* hwrm_cfa_ntuple_filter_alloc_output (size:192b/24B) */
6345 struct hwrm_cfa_ntuple_filter_alloc_output
{
6350 __le64 ntuple_filter_id
;
6352 #define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_VALUE_MASK 0x3fffffffUL
6353 #define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_VALUE_SFT 0
6354 #define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_TYPE 0x40000000UL
6355 #define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_TYPE_INT (0x0UL << 30)
6356 #define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT (0x1UL << 30)
6357 #define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_TYPE_LAST CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_TYPE_EXT
6358 #define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_DIR 0x80000000UL
6359 #define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_DIR_RX (0x0UL << 31)
6360 #define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX (0x1UL << 31)
6361 #define CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_DIR_LAST CFA_NTUPLE_FILTER_ALLOC_RESP_FLOW_ID_DIR_TX
6366 /* hwrm_cfa_ntuple_filter_alloc_cmd_err (size:64b/8B) */
6367 struct hwrm_cfa_ntuple_filter_alloc_cmd_err
{
6369 #define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_UNKNOWN 0x0UL
6370 #define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_RX_MASK_VLAN_CONFLICT_ERR 0x1UL
6371 #define CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_LAST CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_RX_MASK_VLAN_CONFLICT_ERR
6375 /* hwrm_cfa_ntuple_filter_free_input (size:192b/24B) */
6376 struct hwrm_cfa_ntuple_filter_free_input
{
6382 __le64 ntuple_filter_id
;
6385 /* hwrm_cfa_ntuple_filter_free_output (size:128b/16B) */
6386 struct hwrm_cfa_ntuple_filter_free_output
{
6395 /* hwrm_cfa_ntuple_filter_cfg_input (size:384b/48B) */
6396 struct hwrm_cfa_ntuple_filter_cfg_input
{
6403 #define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_DST_ID 0x1UL
6404 #define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_MIRROR_VNIC_ID 0x2UL
6405 #define CFA_NTUPLE_FILTER_CFG_REQ_ENABLES_NEW_METER_INSTANCE_ID 0x4UL
6407 #define CFA_NTUPLE_FILTER_CFG_REQ_FLAGS_DEST_FID 0x1UL
6408 #define CFA_NTUPLE_FILTER_CFG_REQ_FLAGS_DEST_RFS_RING_IDX 0x2UL
6409 __le64 ntuple_filter_id
;
6411 __le32 new_mirror_vnic_id
;
6412 __le16 new_meter_instance_id
;
6413 #define CFA_NTUPLE_FILTER_CFG_REQ_NEW_METER_INSTANCE_ID_INVALID 0xffffUL
6414 #define CFA_NTUPLE_FILTER_CFG_REQ_NEW_METER_INSTANCE_ID_LAST CFA_NTUPLE_FILTER_CFG_REQ_NEW_METER_INSTANCE_ID_INVALID
6418 /* hwrm_cfa_ntuple_filter_cfg_output (size:128b/16B) */
6419 struct hwrm_cfa_ntuple_filter_cfg_output
{
6428 /* hwrm_cfa_decap_filter_alloc_input (size:832b/104B) */
6429 struct hwrm_cfa_decap_filter_alloc_input
{
6436 #define CFA_DECAP_FILTER_ALLOC_REQ_FLAGS_OVS_TUNNEL 0x1UL
6438 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_TUNNEL_TYPE 0x1UL
6439 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_TUNNEL_ID 0x2UL
6440 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_MACADDR 0x4UL
6441 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_MACADDR 0x8UL
6442 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_OVLAN_VID 0x10UL
6443 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IVLAN_VID 0x20UL
6444 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_T_OVLAN_VID 0x40UL
6445 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_T_IVLAN_VID 0x80UL
6446 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_ETHERTYPE 0x100UL
6447 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_IPADDR 0x200UL
6448 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_IPADDR 0x400UL
6449 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IPADDR_TYPE 0x800UL
6450 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_IP_PROTOCOL 0x1000UL
6451 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_SRC_PORT 0x2000UL
6452 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_PORT 0x4000UL
6453 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_DST_ID 0x8000UL
6454 #define CFA_DECAP_FILTER_ALLOC_REQ_ENABLES_MIRROR_VNIC_ID 0x10000UL
6457 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL
6458 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL
6459 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL
6460 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2GRE 0x3UL
6461 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPIP 0x4UL
6462 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL
6463 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_MPLS 0x6UL
6464 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_STT 0x7UL
6465 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL
6466 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL
6467 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1 0xaUL
6468 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE 0xbUL
6469 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
6470 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL
6471 #define CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_LAST CFA_DECAP_FILTER_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL
6483 #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_UNKNOWN 0x0UL
6484 #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV4 0x4UL
6485 #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6 0x6UL
6486 #define CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_LAST CFA_DECAP_FILTER_ALLOC_REQ_IP_ADDR_TYPE_IPV6
6488 #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UNKNOWN 0x0UL
6489 #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_TCP 0x6UL
6490 #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP 0x11UL
6491 #define CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_LAST CFA_DECAP_FILTER_ALLOC_REQ_IP_PROTOCOL_UDP
6494 __be32 src_ipaddr
[4];
6495 __be32 dst_ipaddr
[4];
6499 __le16 l2_ctxt_ref_id
;
6502 /* hwrm_cfa_decap_filter_alloc_output (size:128b/16B) */
6503 struct hwrm_cfa_decap_filter_alloc_output
{
6508 __le32 decap_filter_id
;
6513 /* hwrm_cfa_decap_filter_free_input (size:192b/24B) */
6514 struct hwrm_cfa_decap_filter_free_input
{
6520 __le32 decap_filter_id
;
6524 /* hwrm_cfa_decap_filter_free_output (size:128b/16B) */
6525 struct hwrm_cfa_decap_filter_free_output
{
6534 /* hwrm_cfa_flow_alloc_input (size:1024b/128B) */
6535 struct hwrm_cfa_flow_alloc_input
{
6542 #define CFA_FLOW_ALLOC_REQ_FLAGS_TUNNEL 0x1UL
6543 #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_MASK 0x6UL
6544 #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_SFT 1
6545 #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_NONE (0x0UL << 1)
6546 #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_ONE (0x1UL << 1)
6547 #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_TWO (0x2UL << 1)
6548 #define CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_LAST CFA_FLOW_ALLOC_REQ_FLAGS_NUM_VLAN_TWO
6549 #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_MASK 0x38UL
6550 #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_SFT 3
6551 #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_L2 (0x0UL << 3)
6552 #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV4 (0x1UL << 3)
6553 #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV6 (0x2UL << 3)
6554 #define CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_LAST CFA_FLOW_ALLOC_REQ_FLAGS_FLOWTYPE_IPV6
6555 #define CFA_FLOW_ALLOC_REQ_FLAGS_PATH_TX 0x40UL
6556 #define CFA_FLOW_ALLOC_REQ_FLAGS_PATH_RX 0x80UL
6557 #define CFA_FLOW_ALLOC_REQ_FLAGS_MATCH_VXLAN_IP_VNI 0x100UL
6558 #define CFA_FLOW_ALLOC_REQ_FLAGS_VHOST_ID_USE_VLAN 0x200UL
6560 __le32 tunnel_handle
;
6561 __le16 action_flags
;
6562 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_FWD 0x1UL
6563 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_RECYCLE 0x2UL
6564 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_DROP 0x4UL
6565 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_METER 0x8UL
6566 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_TUNNEL 0x10UL
6567 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_SRC 0x20UL
6568 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_DEST 0x40UL
6569 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NAT_IPV4_ADDRESS 0x80UL
6570 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_L2_HEADER_REWRITE 0x100UL
6571 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_TTL_DECREMENT 0x200UL
6572 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_TUNNEL_IP 0x400UL
6573 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_FLOW_AGING_ENABLED 0x800UL
6574 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_PRI_HINT 0x1000UL
6575 #define CFA_FLOW_ALLOC_REQ_ACTION_FLAGS_NO_FLOW_COUNTER_ALLOC 0x2000UL
6577 __be16 l2_rewrite_vlan_tpid
;
6578 __be16 l2_rewrite_vlan_tci
;
6579 __le16 act_meter_id
;
6580 __le16 ref_flow_handle
;
6582 __be16 outer_vlan_tci
;
6584 __be16 inner_vlan_tci
;
6591 __be16 l4_src_port_mask
;
6593 __be16 l4_dst_port_mask
;
6594 __be32 nat_ip_address
[4];
6595 __be16 l2_rewrite_dmac
[3];
6597 __be16 l2_rewrite_smac
[3];
6600 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_NONTUNNEL 0x0UL
6601 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL
6602 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_NVGRE 0x2UL
6603 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_L2GRE 0x3UL
6604 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_IPIP 0x4UL
6605 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL
6606 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_MPLS 0x6UL
6607 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_STT 0x7UL
6608 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_IPGRE 0x8UL
6609 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL
6610 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1 0xaUL
6611 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE 0xbUL
6612 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
6613 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL 0xffUL
6614 #define CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_LAST CFA_FLOW_ALLOC_REQ_TUNNEL_TYPE_ANYTUNNEL
6617 /* hwrm_cfa_flow_alloc_output (size:256b/32B) */
6618 struct hwrm_cfa_flow_alloc_output
{
6626 #define CFA_FLOW_ALLOC_RESP_FLOW_ID_VALUE_MASK 0x3fffffffUL
6627 #define CFA_FLOW_ALLOC_RESP_FLOW_ID_VALUE_SFT 0
6628 #define CFA_FLOW_ALLOC_RESP_FLOW_ID_TYPE 0x40000000UL
6629 #define CFA_FLOW_ALLOC_RESP_FLOW_ID_TYPE_INT (0x0UL << 30)
6630 #define CFA_FLOW_ALLOC_RESP_FLOW_ID_TYPE_EXT (0x1UL << 30)
6631 #define CFA_FLOW_ALLOC_RESP_FLOW_ID_TYPE_LAST CFA_FLOW_ALLOC_RESP_FLOW_ID_TYPE_EXT
6632 #define CFA_FLOW_ALLOC_RESP_FLOW_ID_DIR 0x80000000UL
6633 #define CFA_FLOW_ALLOC_RESP_FLOW_ID_DIR_RX (0x0UL << 31)
6634 #define CFA_FLOW_ALLOC_RESP_FLOW_ID_DIR_TX (0x1UL << 31)
6635 #define CFA_FLOW_ALLOC_RESP_FLOW_ID_DIR_LAST CFA_FLOW_ALLOC_RESP_FLOW_ID_DIR_TX
6636 __le64 ext_flow_handle
;
6637 __le32 flow_counter_id
;
6642 /* hwrm_cfa_flow_alloc_cmd_err (size:64b/8B) */
6643 struct hwrm_cfa_flow_alloc_cmd_err
{
6645 #define CFA_FLOW_ALLOC_CMD_ERR_CODE_UNKNOWN 0x0UL
6646 #define CFA_FLOW_ALLOC_CMD_ERR_CODE_L2_CONTEXT_TCAM 0x1UL
6647 #define CFA_FLOW_ALLOC_CMD_ERR_CODE_ACTION_RECORD 0x2UL
6648 #define CFA_FLOW_ALLOC_CMD_ERR_CODE_FLOW_COUNTER 0x3UL
6649 #define CFA_FLOW_ALLOC_CMD_ERR_CODE_WILD_CARD_TCAM 0x4UL
6650 #define CFA_FLOW_ALLOC_CMD_ERR_CODE_HASH_COLLISION 0x5UL
6651 #define CFA_FLOW_ALLOC_CMD_ERR_CODE_KEY_EXISTS 0x6UL
6652 #define CFA_FLOW_ALLOC_CMD_ERR_CODE_FLOW_CTXT_DB 0x7UL
6653 #define CFA_FLOW_ALLOC_CMD_ERR_CODE_LAST CFA_FLOW_ALLOC_CMD_ERR_CODE_FLOW_CTXT_DB
6657 /* hwrm_cfa_flow_free_input (size:256b/32B) */
6658 struct hwrm_cfa_flow_free_input
{
6666 __le32 flow_counter_id
;
6667 __le64 ext_flow_handle
;
6670 /* hwrm_cfa_flow_free_output (size:256b/32B) */
6671 struct hwrm_cfa_flow_free_output
{
6682 /* hwrm_cfa_flow_info_input (size:256b/32B) */
6683 struct hwrm_cfa_flow_info_input
{
6690 #define CFA_FLOW_INFO_REQ_FLOW_HANDLE_MAX_MASK 0xfffUL
6691 #define CFA_FLOW_INFO_REQ_FLOW_HANDLE_MAX_SFT 0
6692 #define CFA_FLOW_INFO_REQ_FLOW_HANDLE_CNP_CNT 0x1000UL
6693 #define CFA_FLOW_INFO_REQ_FLOW_HANDLE_ROCEV1_CNT 0x2000UL
6694 #define CFA_FLOW_INFO_REQ_FLOW_HANDLE_ROCEV2_CNT 0x4000UL
6695 #define CFA_FLOW_INFO_REQ_FLOW_HANDLE_DIR_RX 0x8000UL
6697 __le64 ext_flow_handle
;
6700 /* hwrm_cfa_flow_info_output (size:5632b/704B) */
6701 struct hwrm_cfa_flow_info_output
{
6707 #define CFA_FLOW_INFO_RESP_FLAGS_PATH_TX 0x1UL
6708 #define CFA_FLOW_INFO_RESP_FLAGS_PATH_RX 0x2UL
6715 __le64 vfp_tcam_info
;
6718 __le32 tunnel_handle
;
6721 __le32 flow_key_data
[130];
6722 __le32 flow_action_info
[30];
6727 /* hwrm_cfa_flow_stats_input (size:640b/80B) */
6728 struct hwrm_cfa_flow_stats_input
{
6735 __le16 flow_handle_0
;
6736 __le16 flow_handle_1
;
6737 __le16 flow_handle_2
;
6738 __le16 flow_handle_3
;
6739 __le16 flow_handle_4
;
6740 __le16 flow_handle_5
;
6741 __le16 flow_handle_6
;
6742 __le16 flow_handle_7
;
6743 __le16 flow_handle_8
;
6744 __le16 flow_handle_9
;
6758 /* hwrm_cfa_flow_stats_output (size:1408b/176B) */
6759 struct hwrm_cfa_flow_stats_output
{
6788 /* hwrm_cfa_vfr_alloc_input (size:448b/56B) */
6789 struct hwrm_cfa_vfr_alloc_input
{
6801 /* hwrm_cfa_vfr_alloc_output (size:128b/16B) */
6802 struct hwrm_cfa_vfr_alloc_output
{
6808 __le16 tx_cfa_action
;
6813 /* hwrm_cfa_vfr_free_input (size:448b/56B) */
6814 struct hwrm_cfa_vfr_free_input
{
6826 /* hwrm_cfa_vfr_free_output (size:128b/16B) */
6827 struct hwrm_cfa_vfr_free_output
{
6836 /* hwrm_cfa_eem_qcaps_input (size:192b/24B) */
6837 struct hwrm_cfa_eem_qcaps_input
{
6844 #define CFA_EEM_QCAPS_REQ_FLAGS_PATH_TX 0x1UL
6845 #define CFA_EEM_QCAPS_REQ_FLAGS_PATH_RX 0x2UL
6846 #define CFA_EEM_QCAPS_REQ_FLAGS_PREFERRED_OFFLOAD 0x4UL
6850 /* hwrm_cfa_eem_qcaps_output (size:320b/40B) */
6851 struct hwrm_cfa_eem_qcaps_output
{
6857 #define CFA_EEM_QCAPS_RESP_FLAGS_PATH_TX 0x1UL
6858 #define CFA_EEM_QCAPS_RESP_FLAGS_PATH_RX 0x2UL
6859 #define CFA_EEM_QCAPS_RESP_FLAGS_CENTRALIZED_MEMORY_MODEL_SUPPORTED 0x4UL
6860 #define CFA_EEM_QCAPS_RESP_FLAGS_DETACHED_CENTRALIZED_MEMORY_MODEL_SUPPORTED 0x8UL
6863 #define CFA_EEM_QCAPS_RESP_SUPPORTED_KEY0_TABLE 0x1UL
6864 #define CFA_EEM_QCAPS_RESP_SUPPORTED_KEY1_TABLE 0x2UL
6865 #define CFA_EEM_QCAPS_RESP_SUPPORTED_EXTERNAL_RECORD_TABLE 0x4UL
6866 #define CFA_EEM_QCAPS_RESP_SUPPORTED_EXTERNAL_FLOW_COUNTERS_TABLE 0x8UL
6867 #define CFA_EEM_QCAPS_RESP_SUPPORTED_FID_TABLE 0x10UL
6868 __le32 max_entries_supported
;
6869 __le16 key_entry_size
;
6870 __le16 record_entry_size
;
6871 __le16 efc_entry_size
;
6872 __le16 fid_entry_size
;
6877 /* hwrm_cfa_eem_cfg_input (size:384b/48B) */
6878 struct hwrm_cfa_eem_cfg_input
{
6885 #define CFA_EEM_CFG_REQ_FLAGS_PATH_TX 0x1UL
6886 #define CFA_EEM_CFG_REQ_FLAGS_PATH_RX 0x2UL
6887 #define CFA_EEM_CFG_REQ_FLAGS_PREFERRED_OFFLOAD 0x4UL
6888 #define CFA_EEM_CFG_REQ_FLAGS_SECONDARY_PF 0x8UL
6895 __le16 record_ctx_id
;
6902 /* hwrm_cfa_eem_cfg_output (size:128b/16B) */
6903 struct hwrm_cfa_eem_cfg_output
{
6912 /* hwrm_cfa_eem_qcfg_input (size:192b/24B) */
6913 struct hwrm_cfa_eem_qcfg_input
{
6920 #define CFA_EEM_QCFG_REQ_FLAGS_PATH_TX 0x1UL
6921 #define CFA_EEM_QCFG_REQ_FLAGS_PATH_RX 0x2UL
6925 /* hwrm_cfa_eem_qcfg_output (size:256b/32B) */
6926 struct hwrm_cfa_eem_qcfg_output
{
6932 #define CFA_EEM_QCFG_RESP_FLAGS_PATH_TX 0x1UL
6933 #define CFA_EEM_QCFG_RESP_FLAGS_PATH_RX 0x2UL
6934 #define CFA_EEM_QCFG_RESP_FLAGS_PREFERRED_OFFLOAD 0x4UL
6938 __le16 record_ctx_id
;
6945 /* hwrm_cfa_eem_op_input (size:192b/24B) */
6946 struct hwrm_cfa_eem_op_input
{
6953 #define CFA_EEM_OP_REQ_FLAGS_PATH_TX 0x1UL
6954 #define CFA_EEM_OP_REQ_FLAGS_PATH_RX 0x2UL
6957 #define CFA_EEM_OP_REQ_OP_RESERVED 0x0UL
6958 #define CFA_EEM_OP_REQ_OP_EEM_DISABLE 0x1UL
6959 #define CFA_EEM_OP_REQ_OP_EEM_ENABLE 0x2UL
6960 #define CFA_EEM_OP_REQ_OP_EEM_CLEANUP 0x3UL
6961 #define CFA_EEM_OP_REQ_OP_LAST CFA_EEM_OP_REQ_OP_EEM_CLEANUP
6964 /* hwrm_cfa_eem_op_output (size:128b/16B) */
6965 struct hwrm_cfa_eem_op_output
{
6974 /* hwrm_cfa_adv_flow_mgnt_qcaps_input (size:256b/32B) */
6975 struct hwrm_cfa_adv_flow_mgnt_qcaps_input
{
6984 /* hwrm_cfa_adv_flow_mgnt_qcaps_output (size:128b/16B) */
6985 struct hwrm_cfa_adv_flow_mgnt_qcaps_output
{
6991 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_FLOW_HND_16BIT_SUPPORTED 0x1UL
6992 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_FLOW_HND_64BIT_SUPPORTED 0x2UL
6993 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_FLOW_BATCH_DELETE_SUPPORTED 0x4UL
6994 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_FLOW_RESET_ALL_SUPPORTED 0x8UL
6995 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_NTUPLE_FLOW_DEST_FUNC_SUPPORTED 0x10UL
6996 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_TX_EEM_FLOW_SUPPORTED 0x20UL
6997 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_RX_EEM_FLOW_SUPPORTED 0x40UL
6998 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_FLOW_COUNTER_ALLOC_SUPPORTED 0x80UL
6999 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_RFS_RING_TBL_IDX_SUPPORTED 0x100UL
7000 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_UNTAGGED_VLAN_SUPPORTED 0x200UL
7001 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_XDP_SUPPORTED 0x400UL
7002 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_L2_HEADER_SOURCE_FIELDS_SUPPORTED 0x800UL
7003 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_NTUPLE_FLOW_RX_ARP_SUPPORTED 0x1000UL
7004 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_RFS_RING_TBL_IDX_V2_SUPPORTED 0x2000UL
7005 #define CFA_ADV_FLOW_MGNT_QCAPS_RESP_FLAGS_NTUPLE_FLOW_RX_ETHERTYPE_IP_SUPPORTED 0x4000UL
7010 /* hwrm_tunnel_dst_port_query_input (size:192b/24B) */
7011 struct hwrm_tunnel_dst_port_query_input
{
7018 #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN 0x1UL
7019 #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_GENEVE 0x5UL
7020 #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL
7021 #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_IPGRE_V1 0xaUL
7022 #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_L2_ETYPE 0xbUL
7023 #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
7024 #define TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_LAST TUNNEL_DST_PORT_QUERY_REQ_TUNNEL_TYPE_VXLAN_GPE_V6
7028 /* hwrm_tunnel_dst_port_query_output (size:128b/16B) */
7029 struct hwrm_tunnel_dst_port_query_output
{
7034 __le16 tunnel_dst_port_id
;
7035 __be16 tunnel_dst_port_val
;
7040 /* hwrm_tunnel_dst_port_alloc_input (size:192b/24B) */
7041 struct hwrm_tunnel_dst_port_alloc_input
{
7048 #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN 0x1UL
7049 #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_GENEVE 0x5UL
7050 #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL
7051 #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_IPGRE_V1 0xaUL
7052 #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_L2_ETYPE 0xbUL
7053 #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
7054 #define TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_LAST TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN_GPE_V6
7056 __be16 tunnel_dst_port_val
;
7060 /* hwrm_tunnel_dst_port_alloc_output (size:128b/16B) */
7061 struct hwrm_tunnel_dst_port_alloc_output
{
7066 __le16 tunnel_dst_port_id
;
7071 /* hwrm_tunnel_dst_port_free_input (size:192b/24B) */
7072 struct hwrm_tunnel_dst_port_free_input
{
7079 #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN 0x1UL
7080 #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_GENEVE 0x5UL
7081 #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN_V4 0x9UL
7082 #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_IPGRE_V1 0xaUL
7083 #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_L2_ETYPE 0xbUL
7084 #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN_GPE_V6 0xcUL
7085 #define TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_LAST TUNNEL_DST_PORT_FREE_REQ_TUNNEL_TYPE_VXLAN_GPE_V6
7087 __le16 tunnel_dst_port_id
;
7091 /* hwrm_tunnel_dst_port_free_output (size:128b/16B) */
7092 struct hwrm_tunnel_dst_port_free_output
{
7101 /* ctx_hw_stats (size:1280b/160B) */
7102 struct ctx_hw_stats
{
7103 __le64 rx_ucast_pkts
;
7104 __le64 rx_mcast_pkts
;
7105 __le64 rx_bcast_pkts
;
7106 __le64 rx_discard_pkts
;
7107 __le64 rx_error_pkts
;
7108 __le64 rx_ucast_bytes
;
7109 __le64 rx_mcast_bytes
;
7110 __le64 rx_bcast_bytes
;
7111 __le64 tx_ucast_pkts
;
7112 __le64 tx_mcast_pkts
;
7113 __le64 tx_bcast_pkts
;
7114 __le64 tx_error_pkts
;
7115 __le64 tx_discard_pkts
;
7116 __le64 tx_ucast_bytes
;
7117 __le64 tx_mcast_bytes
;
7118 __le64 tx_bcast_bytes
;
7125 /* ctx_hw_stats_ext (size:1408b/176B) */
7126 struct ctx_hw_stats_ext
{
7127 __le64 rx_ucast_pkts
;
7128 __le64 rx_mcast_pkts
;
7129 __le64 rx_bcast_pkts
;
7130 __le64 rx_discard_pkts
;
7131 __le64 rx_error_pkts
;
7132 __le64 rx_ucast_bytes
;
7133 __le64 rx_mcast_bytes
;
7134 __le64 rx_bcast_bytes
;
7135 __le64 tx_ucast_pkts
;
7136 __le64 tx_mcast_pkts
;
7137 __le64 tx_bcast_pkts
;
7138 __le64 tx_error_pkts
;
7139 __le64 tx_discard_pkts
;
7140 __le64 tx_ucast_bytes
;
7141 __le64 tx_mcast_bytes
;
7142 __le64 tx_bcast_bytes
;
7143 __le64 rx_tpa_eligible_pkt
;
7144 __le64 rx_tpa_eligible_bytes
;
7146 __le64 rx_tpa_bytes
;
7147 __le64 rx_tpa_errors
;
7148 __le64 rx_tpa_events
;
7151 /* hwrm_stat_ctx_alloc_input (size:256b/32B) */
7152 struct hwrm_stat_ctx_alloc_input
{
7158 __le64 stats_dma_addr
;
7159 __le32 update_period_ms
;
7161 #define STAT_CTX_ALLOC_REQ_STAT_CTX_FLAGS_ROCE 0x1UL
7163 __le16 stats_dma_length
;
7166 /* hwrm_stat_ctx_alloc_output (size:128b/16B) */
7167 struct hwrm_stat_ctx_alloc_output
{
7177 /* hwrm_stat_ctx_free_input (size:192b/24B) */
7178 struct hwrm_stat_ctx_free_input
{
7188 /* hwrm_stat_ctx_free_output (size:128b/16B) */
7189 struct hwrm_stat_ctx_free_output
{
7199 /* hwrm_stat_ctx_query_input (size:192b/24B) */
7200 struct hwrm_stat_ctx_query_input
{
7208 #define STAT_CTX_QUERY_REQ_FLAGS_COUNTER_MASK 0x1UL
7212 /* hwrm_stat_ctx_query_output (size:1408b/176B) */
7213 struct hwrm_stat_ctx_query_output
{
7218 __le64 tx_ucast_pkts
;
7219 __le64 tx_mcast_pkts
;
7220 __le64 tx_bcast_pkts
;
7221 __le64 tx_discard_pkts
;
7222 __le64 tx_error_pkts
;
7223 __le64 tx_ucast_bytes
;
7224 __le64 tx_mcast_bytes
;
7225 __le64 tx_bcast_bytes
;
7226 __le64 rx_ucast_pkts
;
7227 __le64 rx_mcast_pkts
;
7228 __le64 rx_bcast_pkts
;
7229 __le64 rx_discard_pkts
;
7230 __le64 rx_error_pkts
;
7231 __le64 rx_ucast_bytes
;
7232 __le64 rx_mcast_bytes
;
7233 __le64 rx_bcast_bytes
;
7235 __le64 rx_agg_bytes
;
7236 __le64 rx_agg_events
;
7237 __le64 rx_agg_aborts
;
7242 /* hwrm_stat_ext_ctx_query_input (size:192b/24B) */
7243 struct hwrm_stat_ext_ctx_query_input
{
7251 #define STAT_EXT_CTX_QUERY_REQ_FLAGS_COUNTER_MASK 0x1UL
7255 /* hwrm_stat_ext_ctx_query_output (size:1536b/192B) */
7256 struct hwrm_stat_ext_ctx_query_output
{
7261 __le64 rx_ucast_pkts
;
7262 __le64 rx_mcast_pkts
;
7263 __le64 rx_bcast_pkts
;
7264 __le64 rx_discard_pkts
;
7265 __le64 rx_error_pkts
;
7266 __le64 rx_ucast_bytes
;
7267 __le64 rx_mcast_bytes
;
7268 __le64 rx_bcast_bytes
;
7269 __le64 tx_ucast_pkts
;
7270 __le64 tx_mcast_pkts
;
7271 __le64 tx_bcast_pkts
;
7272 __le64 tx_error_pkts
;
7273 __le64 tx_discard_pkts
;
7274 __le64 tx_ucast_bytes
;
7275 __le64 tx_mcast_bytes
;
7276 __le64 tx_bcast_bytes
;
7277 __le64 rx_tpa_eligible_pkt
;
7278 __le64 rx_tpa_eligible_bytes
;
7280 __le64 rx_tpa_bytes
;
7281 __le64 rx_tpa_errors
;
7282 __le64 rx_tpa_events
;
7287 /* hwrm_stat_ctx_clr_stats_input (size:192b/24B) */
7288 struct hwrm_stat_ctx_clr_stats_input
{
7298 /* hwrm_stat_ctx_clr_stats_output (size:128b/16B) */
7299 struct hwrm_stat_ctx_clr_stats_output
{
7308 /* hwrm_pcie_qstats_input (size:256b/32B) */
7309 struct hwrm_pcie_qstats_input
{
7315 __le16 pcie_stat_size
;
7317 __le64 pcie_stat_host_addr
;
7320 /* hwrm_pcie_qstats_output (size:128b/16B) */
7321 struct hwrm_pcie_qstats_output
{
7326 __le16 pcie_stat_size
;
7331 /* pcie_ctx_hw_stats (size:768b/96B) */
7332 struct pcie_ctx_hw_stats
{
7333 __le64 pcie_pl_signal_integrity
;
7334 __le64 pcie_dl_signal_integrity
;
7335 __le64 pcie_tl_signal_integrity
;
7336 __le64 pcie_link_integrity
;
7337 __le64 pcie_tx_traffic_rate
;
7338 __le64 pcie_rx_traffic_rate
;
7339 __le64 pcie_tx_dllp_statistics
;
7340 __le64 pcie_rx_dllp_statistics
;
7341 __le64 pcie_equalization_time
;
7342 __le32 pcie_ltssm_histogram
[4];
7343 __le64 pcie_recovery_histogram
;
7346 /* hwrm_fw_reset_input (size:192b/24B) */
7347 struct hwrm_fw_reset_input
{
7353 u8 embedded_proc_type
;
7354 #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_BOOT 0x0UL
7355 #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_MGMT 0x1UL
7356 #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_NETCTRL 0x2UL
7357 #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_ROCE 0x3UL
7358 #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_HOST 0x4UL
7359 #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_AP 0x5UL
7360 #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_CHIP 0x6UL
7361 #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_HOST_RESOURCE_REINIT 0x7UL
7362 #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_IMPACTLESS_ACTIVATION 0x8UL
7363 #define FW_RESET_REQ_EMBEDDED_PROC_TYPE_LAST FW_RESET_REQ_EMBEDDED_PROC_TYPE_IMPACTLESS_ACTIVATION
7365 #define FW_RESET_REQ_SELFRST_STATUS_SELFRSTNONE 0x0UL
7366 #define FW_RESET_REQ_SELFRST_STATUS_SELFRSTASAP 0x1UL
7367 #define FW_RESET_REQ_SELFRST_STATUS_SELFRSTPCIERST 0x2UL
7368 #define FW_RESET_REQ_SELFRST_STATUS_SELFRSTIMMEDIATE 0x3UL
7369 #define FW_RESET_REQ_SELFRST_STATUS_LAST FW_RESET_REQ_SELFRST_STATUS_SELFRSTIMMEDIATE
7372 #define FW_RESET_REQ_FLAGS_RESET_GRACEFUL 0x1UL
7376 /* hwrm_fw_reset_output (size:128b/16B) */
7377 struct hwrm_fw_reset_output
{
7383 #define FW_RESET_RESP_SELFRST_STATUS_SELFRSTNONE 0x0UL
7384 #define FW_RESET_RESP_SELFRST_STATUS_SELFRSTASAP 0x1UL
7385 #define FW_RESET_RESP_SELFRST_STATUS_SELFRSTPCIERST 0x2UL
7386 #define FW_RESET_RESP_SELFRST_STATUS_SELFRSTIMMEDIATE 0x3UL
7387 #define FW_RESET_RESP_SELFRST_STATUS_LAST FW_RESET_RESP_SELFRST_STATUS_SELFRSTIMMEDIATE
7392 /* hwrm_fw_qstatus_input (size:192b/24B) */
7393 struct hwrm_fw_qstatus_input
{
7399 u8 embedded_proc_type
;
7400 #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_BOOT 0x0UL
7401 #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_MGMT 0x1UL
7402 #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_NETCTRL 0x2UL
7403 #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_ROCE 0x3UL
7404 #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_HOST 0x4UL
7405 #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_AP 0x5UL
7406 #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_CHIP 0x6UL
7407 #define FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_LAST FW_QSTATUS_REQ_EMBEDDED_PROC_TYPE_CHIP
7411 /* hwrm_fw_qstatus_output (size:128b/16B) */
7412 struct hwrm_fw_qstatus_output
{
7418 #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTNONE 0x0UL
7419 #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTASAP 0x1UL
7420 #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTPCIERST 0x2UL
7421 #define FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTPOWER 0x3UL
7422 #define FW_QSTATUS_RESP_SELFRST_STATUS_LAST FW_QSTATUS_RESP_SELFRST_STATUS_SELFRSTPOWER
7427 /* hwrm_fw_set_time_input (size:256b/32B) */
7428 struct hwrm_fw_set_time_input
{
7435 #define FW_SET_TIME_REQ_YEAR_UNKNOWN 0x0UL
7436 #define FW_SET_TIME_REQ_YEAR_LAST FW_SET_TIME_REQ_YEAR_UNKNOWN
7445 #define FW_SET_TIME_REQ_ZONE_UTC 0
7446 #define FW_SET_TIME_REQ_ZONE_UNKNOWN 65535
7447 #define FW_SET_TIME_REQ_ZONE_LAST FW_SET_TIME_REQ_ZONE_UNKNOWN
7451 /* hwrm_fw_set_time_output (size:128b/16B) */
7452 struct hwrm_fw_set_time_output
{
7461 /* hwrm_struct_hdr (size:128b/16B) */
7462 struct hwrm_struct_hdr
{
7464 #define STRUCT_HDR_STRUCT_ID_LLDP_CFG 0x41bUL
7465 #define STRUCT_HDR_STRUCT_ID_DCBX_ETS 0x41dUL
7466 #define STRUCT_HDR_STRUCT_ID_DCBX_PFC 0x41fUL
7467 #define STRUCT_HDR_STRUCT_ID_DCBX_APP 0x421UL
7468 #define STRUCT_HDR_STRUCT_ID_DCBX_FEATURE_STATE 0x422UL
7469 #define STRUCT_HDR_STRUCT_ID_LLDP_GENERIC 0x424UL
7470 #define STRUCT_HDR_STRUCT_ID_LLDP_DEVICE 0x426UL
7471 #define STRUCT_HDR_STRUCT_ID_POWER_BKUP 0x427UL
7472 #define STRUCT_HDR_STRUCT_ID_AFM_OPAQUE 0x1UL
7473 #define STRUCT_HDR_STRUCT_ID_PORT_DESCRIPTION 0xaUL
7474 #define STRUCT_HDR_STRUCT_ID_RSS_V2 0x64UL
7475 #define STRUCT_HDR_STRUCT_ID_LAST STRUCT_HDR_STRUCT_ID_RSS_V2
7481 #define STRUCT_HDR_NEXT_OFFSET_LAST 0x0UL
7485 /* hwrm_struct_data_dcbx_app (size:64b/8B) */
7486 struct hwrm_struct_data_dcbx_app
{
7488 u8 protocol_selector
;
7489 #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_ETHER_TYPE 0x1UL
7490 #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_PORT 0x2UL
7491 #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_UDP_PORT 0x3UL
7492 #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_UDP_PORT 0x4UL
7493 #define STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_LAST STRUCT_DATA_DCBX_APP_PROTOCOL_SELECTOR_TCP_UDP_PORT
7499 /* hwrm_fw_set_structured_data_input (size:256b/32B) */
7500 struct hwrm_fw_set_structured_data_input
{
7506 __le64 src_data_addr
;
7512 /* hwrm_fw_set_structured_data_output (size:128b/16B) */
7513 struct hwrm_fw_set_structured_data_output
{
7522 /* hwrm_fw_set_structured_data_cmd_err (size:64b/8B) */
7523 struct hwrm_fw_set_structured_data_cmd_err
{
7525 #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_UNKNOWN 0x0UL
7526 #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_HDR_CNT 0x1UL
7527 #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_FMT 0x2UL
7528 #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID 0x3UL
7529 #define FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_LAST FW_SET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID
7533 /* hwrm_fw_get_structured_data_input (size:256b/32B) */
7534 struct hwrm_fw_get_structured_data_input
{
7540 __le64 dest_data_addr
;
7542 __le16 structure_id
;
7544 #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_UNUSED 0x0UL
7545 #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_ALL 0xffffUL
7546 #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_ADMIN 0x100UL
7547 #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_PEER 0x101UL
7548 #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NEAR_BRIDGE_OPERATIONAL 0x102UL
7549 #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_ADMIN 0x200UL
7550 #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_PEER 0x201UL
7551 #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_NON_TPMR_OPERATIONAL 0x202UL
7552 #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_HOST_OPERATIONAL 0x300UL
7553 #define FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_LAST FW_GET_STRUCTURED_DATA_REQ_SUBTYPE_HOST_OPERATIONAL
7558 /* hwrm_fw_get_structured_data_output (size:128b/16B) */
7559 struct hwrm_fw_get_structured_data_output
{
7569 /* hwrm_fw_get_structured_data_cmd_err (size:64b/8B) */
7570 struct hwrm_fw_get_structured_data_cmd_err
{
7572 #define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_UNKNOWN 0x0UL
7573 #define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID 0x3UL
7574 #define FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_LAST FW_GET_STRUCTURED_DATA_CMD_ERR_CODE_BAD_ID
7578 /* hwrm_exec_fwd_resp_input (size:1024b/128B) */
7579 struct hwrm_exec_fwd_resp_input
{
7585 __le32 encap_request
[26];
7586 __le16 encap_resp_target_id
;
7590 /* hwrm_exec_fwd_resp_output (size:128b/16B) */
7591 struct hwrm_exec_fwd_resp_output
{
7600 /* hwrm_reject_fwd_resp_input (size:1024b/128B) */
7601 struct hwrm_reject_fwd_resp_input
{
7607 __le32 encap_request
[26];
7608 __le16 encap_resp_target_id
;
7612 /* hwrm_reject_fwd_resp_output (size:128b/16B) */
7613 struct hwrm_reject_fwd_resp_output
{
7622 /* hwrm_fwd_resp_input (size:1024b/128B) */
7623 struct hwrm_fwd_resp_input
{
7629 __le16 encap_resp_target_id
;
7630 __le16 encap_resp_cmpl_ring
;
7631 __le16 encap_resp_len
;
7634 __le64 encap_resp_addr
;
7635 __le32 encap_resp
[24];
7638 /* hwrm_fwd_resp_output (size:128b/16B) */
7639 struct hwrm_fwd_resp_output
{
7648 /* hwrm_fwd_async_event_cmpl_input (size:320b/40B) */
7649 struct hwrm_fwd_async_event_cmpl_input
{
7655 __le16 encap_async_event_target_id
;
7657 __le32 encap_async_event_cmpl
[4];
7660 /* hwrm_fwd_async_event_cmpl_output (size:128b/16B) */
7661 struct hwrm_fwd_async_event_cmpl_output
{
7670 /* hwrm_temp_monitor_query_input (size:128b/16B) */
7671 struct hwrm_temp_monitor_query_input
{
7679 /* hwrm_temp_monitor_query_output (size:128b/16B) */
7680 struct hwrm_temp_monitor_query_output
{
7689 #define TEMP_MONITOR_QUERY_RESP_FLAGS_TEMP_NOT_AVAILABLE 0x1UL
7690 #define TEMP_MONITOR_QUERY_RESP_FLAGS_PHY_TEMP_NOT_AVAILABLE 0x2UL
7691 #define TEMP_MONITOR_QUERY_RESP_FLAGS_OM_NOT_PRESENT 0x4UL
7692 #define TEMP_MONITOR_QUERY_RESP_FLAGS_OM_TEMP_NOT_AVAILABLE 0x8UL
7697 /* hwrm_wol_filter_alloc_input (size:512b/64B) */
7698 struct hwrm_wol_filter_alloc_input
{
7706 #define WOL_FILTER_ALLOC_REQ_ENABLES_MAC_ADDRESS 0x1UL
7707 #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_OFFSET 0x2UL
7708 #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_BUF_SIZE 0x4UL
7709 #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_BUF_ADDR 0x8UL
7710 #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_MASK_ADDR 0x10UL
7711 #define WOL_FILTER_ALLOC_REQ_ENABLES_PATTERN_MASK_SIZE 0x20UL
7714 #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_MAGICPKT 0x0UL
7715 #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_BMP 0x1UL
7716 #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_INVALID 0xffUL
7717 #define WOL_FILTER_ALLOC_REQ_WOL_TYPE_LAST WOL_FILTER_ALLOC_REQ_WOL_TYPE_INVALID
7720 __le16 pattern_offset
;
7721 __le16 pattern_buf_size
;
7722 __le16 pattern_mask_size
;
7724 __le64 pattern_buf_addr
;
7725 __le64 pattern_mask_addr
;
7728 /* hwrm_wol_filter_alloc_output (size:128b/16B) */
7729 struct hwrm_wol_filter_alloc_output
{
7739 /* hwrm_wol_filter_free_input (size:256b/32B) */
7740 struct hwrm_wol_filter_free_input
{
7747 #define WOL_FILTER_FREE_REQ_FLAGS_FREE_ALL_WOL_FILTERS 0x1UL
7749 #define WOL_FILTER_FREE_REQ_ENABLES_WOL_FILTER_ID 0x1UL
7755 /* hwrm_wol_filter_free_output (size:128b/16B) */
7756 struct hwrm_wol_filter_free_output
{
7765 /* hwrm_wol_filter_qcfg_input (size:448b/56B) */
7766 struct hwrm_wol_filter_qcfg_input
{
7775 __le64 pattern_buf_addr
;
7776 __le16 pattern_buf_size
;
7778 __le64 pattern_mask_addr
;
7779 __le16 pattern_mask_size
;
7783 /* hwrm_wol_filter_qcfg_output (size:256b/32B) */
7784 struct hwrm_wol_filter_qcfg_output
{
7792 #define WOL_FILTER_QCFG_RESP_WOL_TYPE_MAGICPKT 0x0UL
7793 #define WOL_FILTER_QCFG_RESP_WOL_TYPE_BMP 0x1UL
7794 #define WOL_FILTER_QCFG_RESP_WOL_TYPE_INVALID 0xffUL
7795 #define WOL_FILTER_QCFG_RESP_WOL_TYPE_LAST WOL_FILTER_QCFG_RESP_WOL_TYPE_INVALID
7798 __le16 pattern_offset
;
7799 __le16 pattern_size
;
7800 __le16 pattern_mask_size
;
7805 /* hwrm_wol_reason_qcfg_input (size:320b/40B) */
7806 struct hwrm_wol_reason_qcfg_input
{
7814 __le64 wol_pkt_buf_addr
;
7815 __le16 wol_pkt_buf_size
;
7819 /* hwrm_wol_reason_qcfg_output (size:128b/16B) */
7820 struct hwrm_wol_reason_qcfg_output
{
7827 #define WOL_REASON_QCFG_RESP_WOL_REASON_MAGICPKT 0x0UL
7828 #define WOL_REASON_QCFG_RESP_WOL_REASON_BMP 0x1UL
7829 #define WOL_REASON_QCFG_RESP_WOL_REASON_INVALID 0xffUL
7830 #define WOL_REASON_QCFG_RESP_WOL_REASON_LAST WOL_REASON_QCFG_RESP_WOL_REASON_INVALID
7836 /* hwrm_dbg_read_direct_input (size:256b/32B) */
7837 struct hwrm_dbg_read_direct_input
{
7843 __le64 host_dest_addr
;
7848 /* hwrm_dbg_read_direct_output (size:128b/16B) */
7849 struct hwrm_dbg_read_direct_output
{
7859 /* hwrm_dbg_qcaps_input (size:192b/24B) */
7860 struct hwrm_dbg_qcaps_input
{
7870 /* hwrm_dbg_qcaps_output (size:192b/24B) */
7871 struct hwrm_dbg_qcaps_output
{
7878 __le32 coredump_component_disable_caps
;
7879 #define DBG_QCAPS_RESP_COREDUMP_COMPONENT_DISABLE_CAPS_NVRAM 0x1UL
7881 #define DBG_QCAPS_RESP_FLAGS_CRASHDUMP_NVM 0x1UL
7882 #define DBG_QCAPS_RESP_FLAGS_CRASHDUMP_HOST_DDR 0x2UL
7883 #define DBG_QCAPS_RESP_FLAGS_CRASHDUMP_SOC_DDR 0x4UL
7888 /* hwrm_dbg_qcfg_input (size:192b/24B) */
7889 struct hwrm_dbg_qcfg_input
{
7897 #define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_MASK 0x3UL
7898 #define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_SFT 0
7899 #define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_DEST_NVM 0x0UL
7900 #define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_DEST_HOST_DDR 0x1UL
7901 #define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_DEST_SOC_DDR 0x2UL
7902 #define DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_LAST DBG_QCFG_REQ_FLAGS_CRASHDUMP_SIZE_FOR_DEST_DEST_SOC_DDR
7903 __le32 coredump_component_disable_flags
;
7904 #define DBG_QCFG_REQ_COREDUMP_COMPONENT_DISABLE_FLAGS_NVRAM 0x1UL
7907 /* hwrm_dbg_qcfg_output (size:256b/32B) */
7908 struct hwrm_dbg_qcfg_output
{
7915 __le32 coredump_size
;
7917 #define DBG_QCFG_RESP_FLAGS_UART_LOG 0x1UL
7918 #define DBG_QCFG_RESP_FLAGS_UART_LOG_SECONDARY 0x2UL
7919 #define DBG_QCFG_RESP_FLAGS_FW_TRACE 0x4UL
7920 #define DBG_QCFG_RESP_FLAGS_FW_TRACE_SECONDARY 0x8UL
7921 #define DBG_QCFG_RESP_FLAGS_DEBUG_NOTIFY 0x10UL
7922 #define DBG_QCFG_RESP_FLAGS_JTAG_DEBUG 0x20UL
7923 __le16 async_cmpl_ring
;
7925 __le32 crashdump_size
;
7930 /* coredump_segment_record (size:128b/16B) */
7931 struct coredump_segment_record
{
7932 __le16 component_id
;
7934 __le16 max_instances
;
7939 #define SFLAG_COMPRESSED_ZLIB 0x1UL
7944 /* hwrm_dbg_coredump_list_input (size:256b/32B) */
7945 struct hwrm_dbg_coredump_list_input
{
7951 __le64 host_dest_addr
;
7952 __le32 host_buf_len
;
7955 #define DBG_COREDUMP_LIST_REQ_FLAGS_CRASHDUMP 0x1UL
7959 /* hwrm_dbg_coredump_list_output (size:128b/16B) */
7960 struct hwrm_dbg_coredump_list_output
{
7966 #define DBG_COREDUMP_LIST_RESP_FLAGS_MORE 0x1UL
7968 __le16 total_segments
;
7974 /* hwrm_dbg_coredump_initiate_input (size:256b/32B) */
7975 struct hwrm_dbg_coredump_initiate_input
{
7981 __le16 component_id
;
7989 /* hwrm_dbg_coredump_initiate_output (size:128b/16B) */
7990 struct hwrm_dbg_coredump_initiate_output
{
7999 /* coredump_data_hdr (size:128b/16B) */
8000 struct coredump_data_hdr
{
8002 __le32 flags_length
;
8007 /* hwrm_dbg_coredump_retrieve_input (size:448b/56B) */
8008 struct hwrm_dbg_coredump_retrieve_input
{
8014 __le64 host_dest_addr
;
8015 __le32 host_buf_len
;
8017 __le16 component_id
;
8029 /* hwrm_dbg_coredump_retrieve_output (size:128b/16B) */
8030 struct hwrm_dbg_coredump_retrieve_output
{
8036 #define DBG_COREDUMP_RETRIEVE_RESP_FLAGS_MORE 0x1UL
8043 /* hwrm_dbg_ring_info_get_input (size:192b/24B) */
8044 struct hwrm_dbg_ring_info_get_input
{
8051 #define DBG_RING_INFO_GET_REQ_RING_TYPE_L2_CMPL 0x0UL
8052 #define DBG_RING_INFO_GET_REQ_RING_TYPE_TX 0x1UL
8053 #define DBG_RING_INFO_GET_REQ_RING_TYPE_RX 0x2UL
8054 #define DBG_RING_INFO_GET_REQ_RING_TYPE_NQ 0x3UL
8055 #define DBG_RING_INFO_GET_REQ_RING_TYPE_LAST DBG_RING_INFO_GET_REQ_RING_TYPE_NQ
8060 /* hwrm_dbg_ring_info_get_output (size:192b/24B) */
8061 struct hwrm_dbg_ring_info_get_output
{
8066 __le32 producer_index
;
8067 __le32 consumer_index
;
8068 __le32 cag_vector_ctrl
;
8073 /* hwrm_nvm_read_input (size:320b/40B) */
8074 struct hwrm_nvm_read_input
{
8080 __le64 host_dest_addr
;
8088 /* hwrm_nvm_read_output (size:128b/16B) */
8089 struct hwrm_nvm_read_output
{
8098 /* hwrm_nvm_get_dir_entries_input (size:192b/24B) */
8099 struct hwrm_nvm_get_dir_entries_input
{
8105 __le64 host_dest_addr
;
8108 /* hwrm_nvm_get_dir_entries_output (size:128b/16B) */
8109 struct hwrm_nvm_get_dir_entries_output
{
8118 /* hwrm_nvm_get_dir_info_input (size:128b/16B) */
8119 struct hwrm_nvm_get_dir_info_input
{
8127 /* hwrm_nvm_get_dir_info_output (size:192b/24B) */
8128 struct hwrm_nvm_get_dir_info_output
{
8134 __le32 entry_length
;
8139 /* hwrm_nvm_write_input (size:384b/48B) */
8140 struct hwrm_nvm_write_input
{
8146 __le64 host_src_addr
;
8151 __le32 dir_data_length
;
8154 #define NVM_WRITE_REQ_FLAGS_KEEP_ORIG_ACTIVE_IMG 0x1UL
8155 __le32 dir_item_length
;
8159 /* hwrm_nvm_write_output (size:128b/16B) */
8160 struct hwrm_nvm_write_output
{
8165 __le32 dir_item_length
;
8171 /* hwrm_nvm_write_cmd_err (size:64b/8B) */
8172 struct hwrm_nvm_write_cmd_err
{
8174 #define NVM_WRITE_CMD_ERR_CODE_UNKNOWN 0x0UL
8175 #define NVM_WRITE_CMD_ERR_CODE_FRAG_ERR 0x1UL
8176 #define NVM_WRITE_CMD_ERR_CODE_NO_SPACE 0x2UL
8177 #define NVM_WRITE_CMD_ERR_CODE_LAST NVM_WRITE_CMD_ERR_CODE_NO_SPACE
8181 /* hwrm_nvm_modify_input (size:320b/40B) */
8182 struct hwrm_nvm_modify_input
{
8188 __le64 host_src_addr
;
8191 #define NVM_MODIFY_REQ_FLAGS_BATCH_MODE 0x1UL
8192 #define NVM_MODIFY_REQ_FLAGS_BATCH_LAST 0x2UL
8198 /* hwrm_nvm_modify_output (size:128b/16B) */
8199 struct hwrm_nvm_modify_output
{
8208 /* hwrm_nvm_find_dir_entry_input (size:256b/32B) */
8209 struct hwrm_nvm_find_dir_entry_input
{
8216 #define NVM_FIND_DIR_ENTRY_REQ_ENABLES_DIR_IDX_VALID 0x1UL
8222 #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_MASK 0x3UL
8223 #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_SFT 0
8224 #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_EQ 0x0UL
8225 #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GE 0x1UL
8226 #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GT 0x2UL
8227 #define NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_LAST NVM_FIND_DIR_ENTRY_REQ_OPT_ORDINAL_GT
8231 /* hwrm_nvm_find_dir_entry_output (size:256b/32B) */
8232 struct hwrm_nvm_find_dir_entry_output
{
8237 __le32 dir_item_length
;
8238 __le32 dir_data_length
;
8246 /* hwrm_nvm_erase_dir_entry_input (size:192b/24B) */
8247 struct hwrm_nvm_erase_dir_entry_input
{
8257 /* hwrm_nvm_erase_dir_entry_output (size:128b/16B) */
8258 struct hwrm_nvm_erase_dir_entry_output
{
8267 /* hwrm_nvm_get_dev_info_input (size:128b/16B) */
8268 struct hwrm_nvm_get_dev_info_input
{
8276 /* hwrm_nvm_get_dev_info_output (size:640b/80B) */
8277 struct hwrm_nvm_get_dev_info_output
{
8282 __le16 manufacturer_id
;
8286 __le32 reserved_size
;
8287 __le32 available_size
;
8292 #define NVM_GET_DEV_INFO_RESP_FLAGS_FW_VER_VALID 0x1UL
8294 __le16 hwrm_fw_major
;
8295 __le16 hwrm_fw_minor
;
8296 __le16 hwrm_fw_build
;
8297 __le16 hwrm_fw_patch
;
8298 __le16 mgmt_fw_major
;
8299 __le16 mgmt_fw_minor
;
8300 __le16 mgmt_fw_build
;
8301 __le16 mgmt_fw_patch
;
8302 __le16 roce_fw_major
;
8303 __le16 roce_fw_minor
;
8304 __le16 roce_fw_build
;
8305 __le16 roce_fw_patch
;
8310 /* hwrm_nvm_mod_dir_entry_input (size:256b/32B) */
8311 struct hwrm_nvm_mod_dir_entry_input
{
8318 #define NVM_MOD_DIR_ENTRY_REQ_ENABLES_CHECKSUM 0x1UL
8326 /* hwrm_nvm_mod_dir_entry_output (size:128b/16B) */
8327 struct hwrm_nvm_mod_dir_entry_output
{
8336 /* hwrm_nvm_verify_update_input (size:192b/24B) */
8337 struct hwrm_nvm_verify_update_input
{
8349 /* hwrm_nvm_verify_update_output (size:128b/16B) */
8350 struct hwrm_nvm_verify_update_output
{
8359 /* hwrm_nvm_install_update_input (size:192b/24B) */
8360 struct hwrm_nvm_install_update_input
{
8366 __le32 install_type
;
8367 #define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_NORMAL 0x0UL
8368 #define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_ALL 0xffffffffUL
8369 #define NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_LAST NVM_INSTALL_UPDATE_REQ_INSTALL_TYPE_ALL
8371 #define NVM_INSTALL_UPDATE_REQ_FLAGS_ERASE_UNUSED_SPACE 0x1UL
8372 #define NVM_INSTALL_UPDATE_REQ_FLAGS_REMOVE_UNUSED_PKG 0x2UL
8373 #define NVM_INSTALL_UPDATE_REQ_FLAGS_ALLOWED_TO_DEFRAG 0x4UL
8374 #define NVM_INSTALL_UPDATE_REQ_FLAGS_VERIFY_ONLY 0x8UL
8378 /* hwrm_nvm_install_update_output (size:192b/24B) */
8379 struct hwrm_nvm_install_update_output
{
8384 __le64 installed_items
;
8386 #define NVM_INSTALL_UPDATE_RESP_RESULT_SUCCESS 0x0UL
8387 #define NVM_INSTALL_UPDATE_RESP_RESULT_LAST NVM_INSTALL_UPDATE_RESP_RESULT_SUCCESS
8389 #define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_NONE 0x0UL
8390 #define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_PACKAGE 0xffUL
8391 #define NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_LAST NVM_INSTALL_UPDATE_RESP_PROBLEM_ITEM_PACKAGE
8393 #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_NONE 0x0UL
8394 #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_PCI 0x1UL
8395 #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_POWER 0x2UL
8396 #define NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_LAST NVM_INSTALL_UPDATE_RESP_RESET_REQUIRED_POWER
8401 /* hwrm_nvm_install_update_cmd_err (size:64b/8B) */
8402 struct hwrm_nvm_install_update_cmd_err
{
8404 #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_UNKNOWN 0x0UL
8405 #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_FRAG_ERR 0x1UL
8406 #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_NO_SPACE 0x2UL
8407 #define NVM_INSTALL_UPDATE_CMD_ERR_CODE_LAST NVM_INSTALL_UPDATE_CMD_ERR_CODE_NO_SPACE
8411 /* hwrm_nvm_get_variable_input (size:320b/40B) */
8412 struct hwrm_nvm_get_variable_input
{
8418 __le64 dest_data_addr
;
8421 #define NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_0 0x0UL
8422 #define NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF 0xffffUL
8423 #define NVM_GET_VARIABLE_REQ_OPTION_NUM_LAST NVM_GET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF
8430 #define NVM_GET_VARIABLE_REQ_FLAGS_FACTORY_DFLT 0x1UL
8434 /* hwrm_nvm_get_variable_output (size:128b/16B) */
8435 struct hwrm_nvm_get_variable_output
{
8442 #define NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_0 0x0UL
8443 #define NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_FFFF 0xffffUL
8444 #define NVM_GET_VARIABLE_RESP_OPTION_NUM_LAST NVM_GET_VARIABLE_RESP_OPTION_NUM_RSVD_FFFF
8449 /* hwrm_nvm_get_variable_cmd_err (size:64b/8B) */
8450 struct hwrm_nvm_get_variable_cmd_err
{
8452 #define NVM_GET_VARIABLE_CMD_ERR_CODE_UNKNOWN 0x0UL
8453 #define NVM_GET_VARIABLE_CMD_ERR_CODE_VAR_NOT_EXIST 0x1UL
8454 #define NVM_GET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR 0x2UL
8455 #define NVM_GET_VARIABLE_CMD_ERR_CODE_LEN_TOO_SHORT 0x3UL
8456 #define NVM_GET_VARIABLE_CMD_ERR_CODE_LAST NVM_GET_VARIABLE_CMD_ERR_CODE_LEN_TOO_SHORT
8460 /* hwrm_nvm_set_variable_input (size:320b/40B) */
8461 struct hwrm_nvm_set_variable_input
{
8467 __le64 src_data_addr
;
8470 #define NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_0 0x0UL
8471 #define NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF 0xffffUL
8472 #define NVM_SET_VARIABLE_REQ_OPTION_NUM_LAST NVM_SET_VARIABLE_REQ_OPTION_NUM_RSVD_FFFF
8479 #define NVM_SET_VARIABLE_REQ_FLAGS_FORCE_FLUSH 0x1UL
8480 #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_MASK 0xeUL
8481 #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_SFT 1
8482 #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_NONE (0x0UL << 1)
8483 #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_HMAC_SHA1 (0x1UL << 1)
8484 #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_AES256 (0x2UL << 1)
8485 #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_HMAC_SHA1_AUTH (0x3UL << 1)
8486 #define NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_LAST NVM_SET_VARIABLE_REQ_FLAGS_ENCRYPT_MODE_HMAC_SHA1_AUTH
8487 #define NVM_SET_VARIABLE_REQ_FLAGS_FLAGS_UNUSED_0_MASK 0x70UL
8488 #define NVM_SET_VARIABLE_REQ_FLAGS_FLAGS_UNUSED_0_SFT 4
8489 #define NVM_SET_VARIABLE_REQ_FLAGS_FACTORY_DEFAULT 0x80UL
8493 /* hwrm_nvm_set_variable_output (size:128b/16B) */
8494 struct hwrm_nvm_set_variable_output
{
8503 /* hwrm_nvm_set_variable_cmd_err (size:64b/8B) */
8504 struct hwrm_nvm_set_variable_cmd_err
{
8506 #define NVM_SET_VARIABLE_CMD_ERR_CODE_UNKNOWN 0x0UL
8507 #define NVM_SET_VARIABLE_CMD_ERR_CODE_VAR_NOT_EXIST 0x1UL
8508 #define NVM_SET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR 0x2UL
8509 #define NVM_SET_VARIABLE_CMD_ERR_CODE_LAST NVM_SET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR
8513 /* hwrm_selftest_qlist_input (size:128b/16B) */
8514 struct hwrm_selftest_qlist_input
{
8522 /* hwrm_selftest_qlist_output (size:2240b/280B) */
8523 struct hwrm_selftest_qlist_output
{
8530 #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_NVM_TEST 0x1UL
8531 #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_LINK_TEST 0x2UL
8532 #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_REGISTER_TEST 0x4UL
8533 #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_MEMORY_TEST 0x8UL
8534 #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_PCIE_SERDES_TEST 0x10UL
8535 #define SELFTEST_QLIST_RESP_AVAILABLE_TESTS_ETHERNET_SERDES_TEST 0x20UL
8537 #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_NVM_TEST 0x1UL
8538 #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_LINK_TEST 0x2UL
8539 #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_REGISTER_TEST 0x4UL
8540 #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_MEMORY_TEST 0x8UL
8541 #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_PCIE_SERDES_TEST 0x10UL
8542 #define SELFTEST_QLIST_RESP_OFFLINE_TESTS_ETHERNET_SERDES_TEST 0x20UL
8544 __le16 test_timeout
;
8546 char test0_name
[32];
8547 char test1_name
[32];
8548 char test2_name
[32];
8549 char test3_name
[32];
8550 char test4_name
[32];
8551 char test5_name
[32];
8552 char test6_name
[32];
8553 char test7_name
[32];
8554 u8 eyescope_target_BER_support
;
8555 #define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E8_SUPPORTED 0x0UL
8556 #define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E9_SUPPORTED 0x1UL
8557 #define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E10_SUPPORTED 0x2UL
8558 #define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E11_SUPPORTED 0x3UL
8559 #define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E12_SUPPORTED 0x4UL
8560 #define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_LAST SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E12_SUPPORTED
8565 /* hwrm_selftest_exec_input (size:192b/24B) */
8566 struct hwrm_selftest_exec_input
{
8573 #define SELFTEST_EXEC_REQ_FLAGS_NVM_TEST 0x1UL
8574 #define SELFTEST_EXEC_REQ_FLAGS_LINK_TEST 0x2UL
8575 #define SELFTEST_EXEC_REQ_FLAGS_REGISTER_TEST 0x4UL
8576 #define SELFTEST_EXEC_REQ_FLAGS_MEMORY_TEST 0x8UL
8577 #define SELFTEST_EXEC_REQ_FLAGS_PCIE_SERDES_TEST 0x10UL
8578 #define SELFTEST_EXEC_REQ_FLAGS_ETHERNET_SERDES_TEST 0x20UL
8582 /* hwrm_selftest_exec_output (size:128b/16B) */
8583 struct hwrm_selftest_exec_output
{
8589 #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_NVM_TEST 0x1UL
8590 #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_LINK_TEST 0x2UL
8591 #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_REGISTER_TEST 0x4UL
8592 #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_MEMORY_TEST 0x8UL
8593 #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_PCIE_SERDES_TEST 0x10UL
8594 #define SELFTEST_EXEC_RESP_REQUESTED_TESTS_ETHERNET_SERDES_TEST 0x20UL
8596 #define SELFTEST_EXEC_RESP_TEST_SUCCESS_NVM_TEST 0x1UL
8597 #define SELFTEST_EXEC_RESP_TEST_SUCCESS_LINK_TEST 0x2UL
8598 #define SELFTEST_EXEC_RESP_TEST_SUCCESS_REGISTER_TEST 0x4UL
8599 #define SELFTEST_EXEC_RESP_TEST_SUCCESS_MEMORY_TEST 0x8UL
8600 #define SELFTEST_EXEC_RESP_TEST_SUCCESS_PCIE_SERDES_TEST 0x10UL
8601 #define SELFTEST_EXEC_RESP_TEST_SUCCESS_ETHERNET_SERDES_TEST 0x20UL
8606 /* hwrm_selftest_irq_input (size:128b/16B) */
8607 struct hwrm_selftest_irq_input
{
8615 /* hwrm_selftest_irq_output (size:128b/16B) */
8616 struct hwrm_selftest_irq_output
{
8625 /* db_push_info (size:64b/8B) */
8626 struct db_push_info
{
8627 u32 push_size_push_index
;
8628 #define DB_PUSH_INFO_PUSH_INDEX_MASK 0xffffffUL
8629 #define DB_PUSH_INFO_PUSH_INDEX_SFT 0
8630 #define DB_PUSH_INFO_PUSH_SIZE_MASK 0x1f000000UL
8631 #define DB_PUSH_INFO_PUSH_SIZE_SFT 24
8635 /* fw_status_reg (size:32b/4B) */
8636 struct fw_status_reg
{
8638 #define FW_STATUS_REG_CODE_MASK 0xffffUL
8639 #define FW_STATUS_REG_CODE_SFT 0
8640 #define FW_STATUS_REG_CODE_READY 0x8000UL
8641 #define FW_STATUS_REG_CODE_LAST FW_STATUS_REG_CODE_READY
8642 #define FW_STATUS_REG_IMAGE_DEGRADED 0x10000UL
8643 #define FW_STATUS_REG_RECOVERABLE 0x20000UL
8644 #define FW_STATUS_REG_CRASHDUMP_ONGOING 0x40000UL
8645 #define FW_STATUS_REG_CRASHDUMP_COMPLETE 0x80000UL
8646 #define FW_STATUS_REG_SHUTDOWN 0x100000UL
8647 #define FW_STATUS_REG_CRASHED_NO_MASTER 0x200000UL
8650 /* hcomm_status (size:64b/8B) */
8651 struct hcomm_status
{
8653 #define HCOMM_STATUS_VER_MASK 0xffUL
8654 #define HCOMM_STATUS_VER_SFT 0
8655 #define HCOMM_STATUS_VER_LATEST 0x1UL
8656 #define HCOMM_STATUS_VER_LAST HCOMM_STATUS_VER_LATEST
8657 #define HCOMM_STATUS_SIGNATURE_MASK 0xffffff00UL
8658 #define HCOMM_STATUS_SIGNATURE_SFT 8
8659 #define HCOMM_STATUS_SIGNATURE_VAL (0x484353UL << 8)
8660 #define HCOMM_STATUS_SIGNATURE_LAST HCOMM_STATUS_SIGNATURE_VAL
8662 #define HCOMM_STATUS_TRUE_ADDR_SPACE_MASK 0x3UL
8663 #define HCOMM_STATUS_TRUE_ADDR_SPACE_SFT 0
8664 #define HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_PCIE_CFG 0x0UL
8665 #define HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_GRC 0x1UL
8666 #define HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_BAR0 0x2UL
8667 #define HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_BAR1 0x3UL
8668 #define HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_LAST HCOMM_STATUS_FW_STATUS_LOC_ADDR_SPACE_BAR1
8669 #define HCOMM_STATUS_TRUE_OFFSET_MASK 0xfffffffcUL
8670 #define HCOMM_STATUS_TRUE_OFFSET_SFT 2
8673 #define HCOMM_STATUS_STRUCT_LOC 0x31001F0UL
8675 #endif /* _BNXT_HSI_H_ */