10933 lines · c
1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */2/* QLogic qed NIC Driver3 * Copyright (c) 2015-2017 QLogic Corporation4 * Copyright (c) 2019-2021 Marvell International Ltd.5 */6 7#ifndef _QED_HSI_H8#define _QED_HSI_H9 10#include <linux/types.h>11#include <linux/io.h>12#include <linux/bitops.h>13#include <linux/delay.h>14#include <linux/kernel.h>15#include <linux/list.h>16#include <linux/slab.h>17#include <linux/qed/common_hsi.h>18#include <linux/qed/storage_common.h>19#include <linux/qed/tcp_common.h>20#include <linux/qed/fcoe_common.h>21#include <linux/qed/eth_common.h>22#include <linux/qed/iscsi_common.h>23#include <linux/qed/nvmetcp_common.h>24#include <linux/qed/iwarp_common.h>25#include <linux/qed/rdma_common.h>26#include <linux/qed/roce_common.h>27#include <linux/qed/qed_fcoe_if.h>28 29struct qed_hwfn;30struct qed_ptt;31 32/* Opcodes for the event ring */33enum common_event_opcode {34 COMMON_EVENT_PF_START,35 COMMON_EVENT_PF_STOP,36 COMMON_EVENT_VF_START,37 COMMON_EVENT_VF_STOP,38 COMMON_EVENT_VF_PF_CHANNEL,39 COMMON_EVENT_VF_FLR,40 COMMON_EVENT_PF_UPDATE,41 COMMON_EVENT_FW_ERROR,42 COMMON_EVENT_RL_UPDATE,43 COMMON_EVENT_EMPTY,44 MAX_COMMON_EVENT_OPCODE45};46 47/* Common Ramrod Command IDs */48enum common_ramrod_cmd_id {49 COMMON_RAMROD_UNUSED,50 COMMON_RAMROD_PF_START,51 COMMON_RAMROD_PF_STOP,52 COMMON_RAMROD_VF_START,53 COMMON_RAMROD_VF_STOP,54 COMMON_RAMROD_PF_UPDATE,55 COMMON_RAMROD_RL_UPDATE,56 COMMON_RAMROD_EMPTY,57 MAX_COMMON_RAMROD_CMD_ID58};59 60/* How ll2 should deal with packet upon errors */61enum core_error_handle {62 LL2_DROP_PACKET,63 LL2_DO_NOTHING,64 LL2_ASSERT,65 MAX_CORE_ERROR_HANDLE66};67 68/* Opcodes for the event ring */69enum core_event_opcode {70 CORE_EVENT_TX_QUEUE_START,71 CORE_EVENT_TX_QUEUE_STOP,72 CORE_EVENT_RX_QUEUE_START,73 CORE_EVENT_RX_QUEUE_STOP,74 CORE_EVENT_RX_QUEUE_FLUSH,75 CORE_EVENT_TX_QUEUE_UPDATE,76 CORE_EVENT_QUEUE_STATS_QUERY,77 MAX_CORE_EVENT_OPCODE78};79 80/* The L4 pseudo checksum mode for Core */81enum core_l4_pseudo_checksum_mode {82 CORE_L4_PSEUDO_CSUM_CORRECT_LENGTH,83 CORE_L4_PSEUDO_CSUM_ZERO_LENGTH,84 MAX_CORE_L4_PSEUDO_CHECKSUM_MODE85};86 87/* LL2 SP error code */88enum core_ll2_error_code {89 LL2_OK = 0,90 LL2_ERROR,91 MAX_CORE_LL2_ERROR_CODE92};93 94/* Light-L2 RX Producers in Tstorm RAM */95struct core_ll2_port_stats {96 struct regpair gsi_invalid_hdr;97 struct regpair gsi_invalid_pkt_length;98 struct regpair gsi_unsupported_pkt_typ;99 struct regpair gsi_crcchksm_error;100};101 102/* LL2 TX Per Queue Stats */103struct core_ll2_pstorm_per_queue_stat {104 struct regpair sent_ucast_bytes;105 struct regpair sent_mcast_bytes;106 struct regpair sent_bcast_bytes;107 struct regpair sent_ucast_pkts;108 struct regpair sent_mcast_pkts;109 struct regpair sent_bcast_pkts;110 struct regpair error_drop_pkts;111};112 113/* Light-L2 RX Producers in Tstorm RAM */114struct core_ll2_rx_prod {115 __le16 bd_prod;116 __le16 cqe_prod;117};118 119struct core_ll2_tstorm_per_queue_stat {120 struct regpair packet_too_big_discard;121 struct regpair no_buff_discard;122};123 124struct core_ll2_ustorm_per_queue_stat {125 struct regpair rcv_ucast_bytes;126 struct regpair rcv_mcast_bytes;127 struct regpair rcv_bcast_bytes;128 struct regpair rcv_ucast_pkts;129 struct regpair rcv_mcast_pkts;130 struct regpair rcv_bcast_pkts;131};132 133struct core_ll2_rx_per_queue_stat {134 struct core_ll2_tstorm_per_queue_stat tstorm_stat;135 struct core_ll2_ustorm_per_queue_stat ustorm_stat;136};137 138struct core_ll2_tx_per_queue_stat {139 struct core_ll2_pstorm_per_queue_stat pstorm_stat;140};141 142/* Structure for doorbell data, in PWM mode, for RX producers update. */143struct core_pwm_prod_update_data {144 __le16 icid; /* internal CID */145 u8 reserved0;146 u8 params;147#define CORE_PWM_PROD_UPDATE_DATA_AGG_CMD_MASK 0x3148#define CORE_PWM_PROD_UPDATE_DATA_AGG_CMD_SHIFT 0149#define CORE_PWM_PROD_UPDATE_DATA_RESERVED1_MASK 0x3F /* Set 0 */150#define CORE_PWM_PROD_UPDATE_DATA_RESERVED1_SHIFT 2151 struct core_ll2_rx_prod prod; /* Producers */152};153 154/* Ramrod data for rx/tx queue statistics query ramrod */155struct core_queue_stats_query_ramrod_data {156 u8 rx_stat;157 u8 tx_stat;158 __le16 reserved[3];159 struct regpair rx_stat_addr;160 struct regpair tx_stat_addr;161};162 163/* Core Ramrod Command IDs (light L2) */164enum core_ramrod_cmd_id {165 CORE_RAMROD_UNUSED,166 CORE_RAMROD_RX_QUEUE_START,167 CORE_RAMROD_TX_QUEUE_START,168 CORE_RAMROD_RX_QUEUE_STOP,169 CORE_RAMROD_TX_QUEUE_STOP,170 CORE_RAMROD_RX_QUEUE_FLUSH,171 CORE_RAMROD_TX_QUEUE_UPDATE,172 CORE_RAMROD_QUEUE_STATS_QUERY,173 MAX_CORE_RAMROD_CMD_ID174};175 176/* Core RX CQE Type for Light L2 */177enum core_roce_flavor_type {178 CORE_ROCE,179 CORE_RROCE,180 MAX_CORE_ROCE_FLAVOR_TYPE181};182 183/* Specifies how ll2 should deal with packets errors: packet_too_big and184 * no_buff.185 */186struct core_rx_action_on_error {187 u8 error_type;188#define CORE_RX_ACTION_ON_ERROR_PACKET_TOO_BIG_MASK 0x3189#define CORE_RX_ACTION_ON_ERROR_PACKET_TOO_BIG_SHIFT 0190#define CORE_RX_ACTION_ON_ERROR_NO_BUFF_MASK 0x3191#define CORE_RX_ACTION_ON_ERROR_NO_BUFF_SHIFT 2192#define CORE_RX_ACTION_ON_ERROR_RESERVED_MASK 0xF193#define CORE_RX_ACTION_ON_ERROR_RESERVED_SHIFT 4194};195 196/* Core RX BD for Light L2 */197struct core_rx_bd {198 struct regpair addr;199 __le16 reserved[4];200};201 202/* Core RX CM offload BD for Light L2 */203struct core_rx_bd_with_buff_len {204 struct regpair addr;205 __le16 buff_length;206 __le16 reserved[3];207};208 209/* Core RX CM offload BD for Light L2 */210union core_rx_bd_union {211 struct core_rx_bd rx_bd;212 struct core_rx_bd_with_buff_len rx_bd_with_len;213};214 215/* Opaque Data for Light L2 RX CQE */216struct core_rx_cqe_opaque_data {217 __le32 data[2];218};219 220/* Core RX CQE Type for Light L2 */221enum core_rx_cqe_type {222 CORE_RX_CQE_ILLEGAL_TYPE,223 CORE_RX_CQE_TYPE_REGULAR,224 CORE_RX_CQE_TYPE_GSI_OFFLOAD,225 CORE_RX_CQE_TYPE_SLOW_PATH,226 MAX_CORE_RX_CQE_TYPE227};228 229/* Core RX CQE for Light L2 */230struct core_rx_fast_path_cqe {231 u8 type;232 u8 placement_offset;233 struct parsing_and_err_flags parse_flags;234 __le16 packet_length;235 __le16 vlan;236 struct core_rx_cqe_opaque_data opaque_data;237 struct parsing_err_flags err_flags;238 u8 packet_source;239 u8 reserved0;240 __le32 reserved1[3];241};242 243/* Core Rx CM offload CQE */244struct core_rx_gsi_offload_cqe {245 u8 type;246 u8 data_length_error;247 struct parsing_and_err_flags parse_flags;248 __le16 data_length;249 __le16 vlan;250 __le32 src_mac_addrhi;251 __le16 src_mac_addrlo;252 __le16 qp_id;253 __le32 src_qp;254 struct core_rx_cqe_opaque_data opaque_data;255 u8 packet_source;256 u8 reserved[3];257};258 259/* Core RX CQE for Light L2 */260struct core_rx_slow_path_cqe {261 u8 type;262 u8 ramrod_cmd_id;263 __le16 echo;264 struct core_rx_cqe_opaque_data opaque_data;265 __le32 reserved1[5];266};267 268/* Core RX CM offload BD for Light L2 */269union core_rx_cqe_union {270 struct core_rx_fast_path_cqe rx_cqe_fp;271 struct core_rx_gsi_offload_cqe rx_cqe_gsi;272 struct core_rx_slow_path_cqe rx_cqe_sp;273};274 275/* RX packet source. */276enum core_rx_pkt_source {277 CORE_RX_PKT_SOURCE_NETWORK = 0,278 CORE_RX_PKT_SOURCE_LB,279 CORE_RX_PKT_SOURCE_TX,280 CORE_RX_PKT_SOURCE_LL2_TX,281 MAX_CORE_RX_PKT_SOURCE282};283 284/* Ramrod data for rx queue start ramrod */285struct core_rx_start_ramrod_data {286 struct regpair bd_base;287 struct regpair cqe_pbl_addr;288 __le16 mtu;289 __le16 sb_id;290 u8 sb_index;291 u8 complete_cqe_flg;292 u8 complete_event_flg;293 u8 drop_ttl0_flg;294 __le16 num_of_pbl_pages;295 u8 inner_vlan_stripping_en;296 u8 report_outer_vlan;297 u8 queue_id;298 u8 main_func_queue;299 u8 mf_si_bcast_accept_all;300 u8 mf_si_mcast_accept_all;301 struct core_rx_action_on_error action_on_error;302 u8 gsi_offload_flag;303 u8 vport_id_valid;304 u8 vport_id;305 u8 zero_prod_flg;306 u8 wipe_inner_vlan_pri_en;307 u8 reserved[2];308};309 310/* Ramrod data for rx queue stop ramrod */311struct core_rx_stop_ramrod_data {312 u8 complete_cqe_flg;313 u8 complete_event_flg;314 u8 queue_id;315 u8 reserved1;316 __le16 reserved2[2];317};318 319/* Flags for Core TX BD */320struct core_tx_bd_data {321 __le16 as_bitfield;322#define CORE_TX_BD_DATA_FORCE_VLAN_MODE_MASK 0x1323#define CORE_TX_BD_DATA_FORCE_VLAN_MODE_SHIFT 0324#define CORE_TX_BD_DATA_VLAN_INSERTION_MASK 0x1325#define CORE_TX_BD_DATA_VLAN_INSERTION_SHIFT 1326#define CORE_TX_BD_DATA_START_BD_MASK 0x1327#define CORE_TX_BD_DATA_START_BD_SHIFT 2328#define CORE_TX_BD_DATA_IP_CSUM_MASK 0x1329#define CORE_TX_BD_DATA_IP_CSUM_SHIFT 3330#define CORE_TX_BD_DATA_L4_CSUM_MASK 0x1331#define CORE_TX_BD_DATA_L4_CSUM_SHIFT 4332#define CORE_TX_BD_DATA_IPV6_EXT_MASK 0x1333#define CORE_TX_BD_DATA_IPV6_EXT_SHIFT 5334#define CORE_TX_BD_DATA_L4_PROTOCOL_MASK 0x1335#define CORE_TX_BD_DATA_L4_PROTOCOL_SHIFT 6336#define CORE_TX_BD_DATA_L4_PSEUDO_CSUM_MODE_MASK 0x1337#define CORE_TX_BD_DATA_L4_PSEUDO_CSUM_MODE_SHIFT 7338#define CORE_TX_BD_DATA_NBDS_MASK 0xF339#define CORE_TX_BD_DATA_NBDS_SHIFT 8340#define CORE_TX_BD_DATA_ROCE_FLAV_MASK 0x1341#define CORE_TX_BD_DATA_ROCE_FLAV_SHIFT 12342#define CORE_TX_BD_DATA_IP_LEN_MASK 0x1343#define CORE_TX_BD_DATA_IP_LEN_SHIFT 13344#define CORE_TX_BD_DATA_DISABLE_STAG_INSERTION_MASK 0x1345#define CORE_TX_BD_DATA_DISABLE_STAG_INSERTION_SHIFT 14346#define CORE_TX_BD_DATA_RESERVED0_MASK 0x1347#define CORE_TX_BD_DATA_RESERVED0_SHIFT 15348};349 350/* Core TX BD for Light L2 */351struct core_tx_bd {352 struct regpair addr;353 __le16 nbytes;354 __le16 nw_vlan_or_lb_echo;355 struct core_tx_bd_data bd_data;356 __le16 bitfield1;357#define CORE_TX_BD_L4_HDR_OFFSET_W_MASK 0x3FFF358#define CORE_TX_BD_L4_HDR_OFFSET_W_SHIFT 0359#define CORE_TX_BD_TX_DST_MASK 0x3360#define CORE_TX_BD_TX_DST_SHIFT 14361};362 363/* Light L2 TX Destination */364enum core_tx_dest {365 CORE_TX_DEST_NW,366 CORE_TX_DEST_LB,367 CORE_TX_DEST_RESERVED,368 CORE_TX_DEST_DROP,369 MAX_CORE_TX_DEST370};371 372/* Ramrod data for tx queue start ramrod */373struct core_tx_start_ramrod_data {374 struct regpair pbl_base_addr;375 __le16 mtu;376 __le16 sb_id;377 u8 sb_index;378 u8 stats_en;379 u8 stats_id;380 u8 conn_type;381 __le16 pbl_size;382 __le16 qm_pq_id;383 u8 gsi_offload_flag;384 u8 ctx_stats_en;385 u8 vport_id_valid;386 u8 vport_id;387 u8 enforce_security_flag;388 u8 reserved[7];389};390 391/* Ramrod data for tx queue stop ramrod */392struct core_tx_stop_ramrod_data {393 __le32 reserved0[2];394};395 396/* Ramrod data for tx queue update ramrod */397struct core_tx_update_ramrod_data {398 u8 update_qm_pq_id_flg;399 u8 reserved0;400 __le16 qm_pq_id;401 __le32 reserved1[1];402};403 404/* Enum flag for what type of dcb data to update */405enum dcb_dscp_update_mode {406 DONT_UPDATE_DCB_DSCP,407 UPDATE_DCB,408 UPDATE_DSCP,409 UPDATE_DCB_DSCP,410 MAX_DCB_DSCP_UPDATE_MODE411};412 413/* The core storm context for the Ystorm */414struct ystorm_core_conn_st_ctx {415 __le32 reserved[4];416};417 418/* The core storm context for the Pstorm */419struct pstorm_core_conn_st_ctx {420 __le32 reserved[20];421};422 423/* Core Slowpath Connection storm context of Xstorm */424struct xstorm_core_conn_st_ctx {425 struct regpair spq_base_addr;426 __le32 reserved0[2];427 __le16 spq_cons;428 __le16 reserved1[111];429};430 431struct xstorm_core_conn_ag_ctx {432 u8 reserved0;433 u8 state;434 u8 flags0;435#define XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1436#define XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0437#define XSTORM_CORE_CONN_AG_CTX_RESERVED1_MASK 0x1438#define XSTORM_CORE_CONN_AG_CTX_RESERVED1_SHIFT 1439#define XSTORM_CORE_CONN_AG_CTX_RESERVED2_MASK 0x1440#define XSTORM_CORE_CONN_AG_CTX_RESERVED2_SHIFT 2441#define XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1442#define XSTORM_CORE_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3443#define XSTORM_CORE_CONN_AG_CTX_RESERVED3_MASK 0x1444#define XSTORM_CORE_CONN_AG_CTX_RESERVED3_SHIFT 4445#define XSTORM_CORE_CONN_AG_CTX_RESERVED4_MASK 0x1446#define XSTORM_CORE_CONN_AG_CTX_RESERVED4_SHIFT 5447#define XSTORM_CORE_CONN_AG_CTX_RESERVED5_MASK 0x1448#define XSTORM_CORE_CONN_AG_CTX_RESERVED5_SHIFT 6449#define XSTORM_CORE_CONN_AG_CTX_RESERVED6_MASK 0x1450#define XSTORM_CORE_CONN_AG_CTX_RESERVED6_SHIFT 7451 u8 flags1;452#define XSTORM_CORE_CONN_AG_CTX_RESERVED7_MASK 0x1453#define XSTORM_CORE_CONN_AG_CTX_RESERVED7_SHIFT 0454#define XSTORM_CORE_CONN_AG_CTX_RESERVED8_MASK 0x1455#define XSTORM_CORE_CONN_AG_CTX_RESERVED8_SHIFT 1456#define XSTORM_CORE_CONN_AG_CTX_RESERVED9_MASK 0x1457#define XSTORM_CORE_CONN_AG_CTX_RESERVED9_SHIFT 2458#define XSTORM_CORE_CONN_AG_CTX_BIT11_MASK 0x1459#define XSTORM_CORE_CONN_AG_CTX_BIT11_SHIFT 3460#define XSTORM_CORE_CONN_AG_CTX_BIT12_MASK 0x1461#define XSTORM_CORE_CONN_AG_CTX_BIT12_SHIFT 4462#define XSTORM_CORE_CONN_AG_CTX_BIT13_MASK 0x1463#define XSTORM_CORE_CONN_AG_CTX_BIT13_SHIFT 5464#define XSTORM_CORE_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x1465#define XSTORM_CORE_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 6466#define XSTORM_CORE_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x1467#define XSTORM_CORE_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT 7468 u8 flags2;469#define XSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3470#define XSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 0471#define XSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3472#define XSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 2473#define XSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3474#define XSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 4475#define XSTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3476#define XSTORM_CORE_CONN_AG_CTX_CF3_SHIFT 6477 u8 flags3;478#define XSTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3479#define XSTORM_CORE_CONN_AG_CTX_CF4_SHIFT 0480#define XSTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3481#define XSTORM_CORE_CONN_AG_CTX_CF5_SHIFT 2482#define XSTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3483#define XSTORM_CORE_CONN_AG_CTX_CF6_SHIFT 4484#define XSTORM_CORE_CONN_AG_CTX_CF7_MASK 0x3485#define XSTORM_CORE_CONN_AG_CTX_CF7_SHIFT 6486 u8 flags4;487#define XSTORM_CORE_CONN_AG_CTX_CF8_MASK 0x3488#define XSTORM_CORE_CONN_AG_CTX_CF8_SHIFT 0489#define XSTORM_CORE_CONN_AG_CTX_CF9_MASK 0x3490#define XSTORM_CORE_CONN_AG_CTX_CF9_SHIFT 2491#define XSTORM_CORE_CONN_AG_CTX_CF10_MASK 0x3492#define XSTORM_CORE_CONN_AG_CTX_CF10_SHIFT 4493#define XSTORM_CORE_CONN_AG_CTX_CF11_MASK 0x3494#define XSTORM_CORE_CONN_AG_CTX_CF11_SHIFT 6495 u8 flags5;496#define XSTORM_CORE_CONN_AG_CTX_CF12_MASK 0x3497#define XSTORM_CORE_CONN_AG_CTX_CF12_SHIFT 0498#define XSTORM_CORE_CONN_AG_CTX_CF13_MASK 0x3499#define XSTORM_CORE_CONN_AG_CTX_CF13_SHIFT 2500#define XSTORM_CORE_CONN_AG_CTX_CF14_MASK 0x3501#define XSTORM_CORE_CONN_AG_CTX_CF14_SHIFT 4502#define XSTORM_CORE_CONN_AG_CTX_CF15_MASK 0x3503#define XSTORM_CORE_CONN_AG_CTX_CF15_SHIFT 6504 u8 flags6;505#define XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_MASK 0x3506#define XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_SHIFT 0507#define XSTORM_CORE_CONN_AG_CTX_CF17_MASK 0x3508#define XSTORM_CORE_CONN_AG_CTX_CF17_SHIFT 2509#define XSTORM_CORE_CONN_AG_CTX_DQ_CF_MASK 0x3510#define XSTORM_CORE_CONN_AG_CTX_DQ_CF_SHIFT 4511#define XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_MASK 0x3512#define XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_SHIFT 6513 u8 flags7;514#define XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_MASK 0x3515#define XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_SHIFT 0516#define XSTORM_CORE_CONN_AG_CTX_RESERVED10_MASK 0x3517#define XSTORM_CORE_CONN_AG_CTX_RESERVED10_SHIFT 2518#define XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_MASK 0x3519#define XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_SHIFT 4520#define XSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1521#define XSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 6522#define XSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1523#define XSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 7524 u8 flags8;525#define XSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1526#define XSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 0527#define XSTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1528#define XSTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 1529#define XSTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1530#define XSTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 2531#define XSTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1532#define XSTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 3533#define XSTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1534#define XSTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 4535#define XSTORM_CORE_CONN_AG_CTX_CF7EN_MASK 0x1536#define XSTORM_CORE_CONN_AG_CTX_CF7EN_SHIFT 5537#define XSTORM_CORE_CONN_AG_CTX_CF8EN_MASK 0x1538#define XSTORM_CORE_CONN_AG_CTX_CF8EN_SHIFT 6539#define XSTORM_CORE_CONN_AG_CTX_CF9EN_MASK 0x1540#define XSTORM_CORE_CONN_AG_CTX_CF9EN_SHIFT 7541 u8 flags9;542#define XSTORM_CORE_CONN_AG_CTX_CF10EN_MASK 0x1543#define XSTORM_CORE_CONN_AG_CTX_CF10EN_SHIFT 0544#define XSTORM_CORE_CONN_AG_CTX_CF11EN_MASK 0x1545#define XSTORM_CORE_CONN_AG_CTX_CF11EN_SHIFT 1546#define XSTORM_CORE_CONN_AG_CTX_CF12EN_MASK 0x1547#define XSTORM_CORE_CONN_AG_CTX_CF12EN_SHIFT 2548#define XSTORM_CORE_CONN_AG_CTX_CF13EN_MASK 0x1549#define XSTORM_CORE_CONN_AG_CTX_CF13EN_SHIFT 3550#define XSTORM_CORE_CONN_AG_CTX_CF14EN_MASK 0x1551#define XSTORM_CORE_CONN_AG_CTX_CF14EN_SHIFT 4552#define XSTORM_CORE_CONN_AG_CTX_CF15EN_MASK 0x1553#define XSTORM_CORE_CONN_AG_CTX_CF15EN_SHIFT 5554#define XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_EN_MASK 0x1555#define XSTORM_CORE_CONN_AG_CTX_CONSOLID_PROD_CF_EN_SHIFT 6556#define XSTORM_CORE_CONN_AG_CTX_CF17EN_MASK 0x1557#define XSTORM_CORE_CONN_AG_CTX_CF17EN_SHIFT 7558 u8 flags10;559#define XSTORM_CORE_CONN_AG_CTX_DQ_CF_EN_MASK 0x1560#define XSTORM_CORE_CONN_AG_CTX_DQ_CF_EN_SHIFT 0561#define XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_EN_MASK 0x1562#define XSTORM_CORE_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT 1563#define XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1564#define XSTORM_CORE_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 2565#define XSTORM_CORE_CONN_AG_CTX_RESERVED11_MASK 0x1566#define XSTORM_CORE_CONN_AG_CTX_RESERVED11_SHIFT 3567#define XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1568#define XSTORM_CORE_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4569#define XSTORM_CORE_CONN_AG_CTX_CF23EN_MASK 0x1570#define XSTORM_CORE_CONN_AG_CTX_CF23EN_SHIFT 5571#define XSTORM_CORE_CONN_AG_CTX_RESERVED12_MASK 0x1572#define XSTORM_CORE_CONN_AG_CTX_RESERVED12_SHIFT 6573#define XSTORM_CORE_CONN_AG_CTX_RESERVED13_MASK 0x1574#define XSTORM_CORE_CONN_AG_CTX_RESERVED13_SHIFT 7575 u8 flags11;576#define XSTORM_CORE_CONN_AG_CTX_RESERVED14_MASK 0x1577#define XSTORM_CORE_CONN_AG_CTX_RESERVED14_SHIFT 0578#define XSTORM_CORE_CONN_AG_CTX_RESERVED15_MASK 0x1579#define XSTORM_CORE_CONN_AG_CTX_RESERVED15_SHIFT 1580#define XSTORM_CORE_CONN_AG_CTX_TX_DEC_RULE_EN_MASK 0x1581#define XSTORM_CORE_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT 2582#define XSTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1583#define XSTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 3584#define XSTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1585#define XSTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 4586#define XSTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1587#define XSTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 5588#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED1_MASK 0x1589#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED1_SHIFT 6590#define XSTORM_CORE_CONN_AG_CTX_RULE9EN_MASK 0x1591#define XSTORM_CORE_CONN_AG_CTX_RULE9EN_SHIFT 7592 u8 flags12;593#define XSTORM_CORE_CONN_AG_CTX_RULE10EN_MASK 0x1594#define XSTORM_CORE_CONN_AG_CTX_RULE10EN_SHIFT 0595#define XSTORM_CORE_CONN_AG_CTX_RULE11EN_MASK 0x1596#define XSTORM_CORE_CONN_AG_CTX_RULE11EN_SHIFT 1597#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED2_MASK 0x1598#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED2_SHIFT 2599#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED3_MASK 0x1600#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED3_SHIFT 3601#define XSTORM_CORE_CONN_AG_CTX_RULE14EN_MASK 0x1602#define XSTORM_CORE_CONN_AG_CTX_RULE14EN_SHIFT 4603#define XSTORM_CORE_CONN_AG_CTX_RULE15EN_MASK 0x1604#define XSTORM_CORE_CONN_AG_CTX_RULE15EN_SHIFT 5605#define XSTORM_CORE_CONN_AG_CTX_RULE16EN_MASK 0x1606#define XSTORM_CORE_CONN_AG_CTX_RULE16EN_SHIFT 6607#define XSTORM_CORE_CONN_AG_CTX_RULE17EN_MASK 0x1608#define XSTORM_CORE_CONN_AG_CTX_RULE17EN_SHIFT 7609 u8 flags13;610#define XSTORM_CORE_CONN_AG_CTX_RULE18EN_MASK 0x1611#define XSTORM_CORE_CONN_AG_CTX_RULE18EN_SHIFT 0612#define XSTORM_CORE_CONN_AG_CTX_RULE19EN_MASK 0x1613#define XSTORM_CORE_CONN_AG_CTX_RULE19EN_SHIFT 1614#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED4_MASK 0x1615#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED4_SHIFT 2616#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED5_MASK 0x1617#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED5_SHIFT 3618#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED6_MASK 0x1619#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED6_SHIFT 4620#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED7_MASK 0x1621#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED7_SHIFT 5622#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED8_MASK 0x1623#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED8_SHIFT 6624#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED9_MASK 0x1625#define XSTORM_CORE_CONN_AG_CTX_A0_RESERVED9_SHIFT 7626 u8 flags14;627#define XSTORM_CORE_CONN_AG_CTX_BIT16_MASK 0x1628#define XSTORM_CORE_CONN_AG_CTX_BIT16_SHIFT 0629#define XSTORM_CORE_CONN_AG_CTX_BIT17_MASK 0x1630#define XSTORM_CORE_CONN_AG_CTX_BIT17_SHIFT 1631#define XSTORM_CORE_CONN_AG_CTX_BIT18_MASK 0x1632#define XSTORM_CORE_CONN_AG_CTX_BIT18_SHIFT 2633#define XSTORM_CORE_CONN_AG_CTX_BIT19_MASK 0x1634#define XSTORM_CORE_CONN_AG_CTX_BIT19_SHIFT 3635#define XSTORM_CORE_CONN_AG_CTX_BIT20_MASK 0x1636#define XSTORM_CORE_CONN_AG_CTX_BIT20_SHIFT 4637#define XSTORM_CORE_CONN_AG_CTX_BIT21_MASK 0x1638#define XSTORM_CORE_CONN_AG_CTX_BIT21_SHIFT 5639#define XSTORM_CORE_CONN_AG_CTX_CF23_MASK 0x3640#define XSTORM_CORE_CONN_AG_CTX_CF23_SHIFT 6641 u8 byte2;642 __le16 physical_q0;643 __le16 consolid_prod;644 __le16 reserved16;645 __le16 tx_bd_cons;646 __le16 tx_bd_or_spq_prod;647 __le16 updated_qm_pq_id;648 __le16 conn_dpi;649 u8 byte3;650 u8 byte4;651 u8 byte5;652 u8 byte6;653 __le32 reg0;654 __le32 reg1;655 __le32 reg2;656 __le32 reg3;657 __le32 reg4;658 __le32 reg5;659 __le32 reg6;660 __le16 word7;661 __le16 word8;662 __le16 word9;663 __le16 word10;664 __le32 reg7;665 __le32 reg8;666 __le32 reg9;667 u8 byte7;668 u8 byte8;669 u8 byte9;670 u8 byte10;671 u8 byte11;672 u8 byte12;673 u8 byte13;674 u8 byte14;675 u8 byte15;676 u8 e5_reserved;677 __le16 word11;678 __le32 reg10;679 __le32 reg11;680 __le32 reg12;681 __le32 reg13;682 __le32 reg14;683 __le32 reg15;684 __le32 reg16;685 __le32 reg17;686 __le32 reg18;687 __le32 reg19;688 __le16 word12;689 __le16 word13;690 __le16 word14;691 __le16 word15;692};693 694struct tstorm_core_conn_ag_ctx {695 u8 byte0;696 u8 byte1;697 u8 flags0;698#define TSTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x1699#define TSTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 0700#define TSTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x1701#define TSTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 1702#define TSTORM_CORE_CONN_AG_CTX_BIT2_MASK 0x1703#define TSTORM_CORE_CONN_AG_CTX_BIT2_SHIFT 2704#define TSTORM_CORE_CONN_AG_CTX_BIT3_MASK 0x1705#define TSTORM_CORE_CONN_AG_CTX_BIT3_SHIFT 3706#define TSTORM_CORE_CONN_AG_CTX_BIT4_MASK 0x1707#define TSTORM_CORE_CONN_AG_CTX_BIT4_SHIFT 4708#define TSTORM_CORE_CONN_AG_CTX_BIT5_MASK 0x1709#define TSTORM_CORE_CONN_AG_CTX_BIT5_SHIFT 5710#define TSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3711#define TSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 6712 u8 flags1;713#define TSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3714#define TSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 0715#define TSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3716#define TSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 2717#define TSTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3718#define TSTORM_CORE_CONN_AG_CTX_CF3_SHIFT 4719#define TSTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3720#define TSTORM_CORE_CONN_AG_CTX_CF4_SHIFT 6721 u8 flags2;722#define TSTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3723#define TSTORM_CORE_CONN_AG_CTX_CF5_SHIFT 0724#define TSTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3725#define TSTORM_CORE_CONN_AG_CTX_CF6_SHIFT 2726#define TSTORM_CORE_CONN_AG_CTX_CF7_MASK 0x3727#define TSTORM_CORE_CONN_AG_CTX_CF7_SHIFT 4728#define TSTORM_CORE_CONN_AG_CTX_CF8_MASK 0x3729#define TSTORM_CORE_CONN_AG_CTX_CF8_SHIFT 6730 u8 flags3;731#define TSTORM_CORE_CONN_AG_CTX_CF9_MASK 0x3732#define TSTORM_CORE_CONN_AG_CTX_CF9_SHIFT 0733#define TSTORM_CORE_CONN_AG_CTX_CF10_MASK 0x3734#define TSTORM_CORE_CONN_AG_CTX_CF10_SHIFT 2735#define TSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1736#define TSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 4737#define TSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1738#define TSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 5739#define TSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1740#define TSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 6741#define TSTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1742#define TSTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 7743 u8 flags4;744#define TSTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1745#define TSTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 0746#define TSTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1747#define TSTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 1748#define TSTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1749#define TSTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 2750#define TSTORM_CORE_CONN_AG_CTX_CF7EN_MASK 0x1751#define TSTORM_CORE_CONN_AG_CTX_CF7EN_SHIFT 3752#define TSTORM_CORE_CONN_AG_CTX_CF8EN_MASK 0x1753#define TSTORM_CORE_CONN_AG_CTX_CF8EN_SHIFT 4754#define TSTORM_CORE_CONN_AG_CTX_CF9EN_MASK 0x1755#define TSTORM_CORE_CONN_AG_CTX_CF9EN_SHIFT 5756#define TSTORM_CORE_CONN_AG_CTX_CF10EN_MASK 0x1757#define TSTORM_CORE_CONN_AG_CTX_CF10EN_SHIFT 6758#define TSTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x1759#define TSTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 7760 u8 flags5;761#define TSTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x1762#define TSTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 0763#define TSTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x1764#define TSTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 1765#define TSTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x1766#define TSTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 2767#define TSTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x1768#define TSTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 3769#define TSTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1770#define TSTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 4771#define TSTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1772#define TSTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 5773#define TSTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1774#define TSTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 6775#define TSTORM_CORE_CONN_AG_CTX_RULE8EN_MASK 0x1776#define TSTORM_CORE_CONN_AG_CTX_RULE8EN_SHIFT 7777 __le32 reg0;778 __le32 reg1;779 __le32 reg2;780 __le32 reg3;781 __le32 reg4;782 __le32 reg5;783 __le32 reg6;784 __le32 reg7;785 __le32 reg8;786 u8 byte2;787 u8 byte3;788 __le16 word0;789 u8 byte4;790 u8 byte5;791 __le16 word1;792 __le16 word2;793 __le16 word3;794 __le32 ll2_rx_prod;795 __le32 reg10;796};797 798struct ustorm_core_conn_ag_ctx {799 u8 reserved;800 u8 byte1;801 u8 flags0;802#define USTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x1803#define USTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 0804#define USTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x1805#define USTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 1806#define USTORM_CORE_CONN_AG_CTX_CF0_MASK 0x3807#define USTORM_CORE_CONN_AG_CTX_CF0_SHIFT 2808#define USTORM_CORE_CONN_AG_CTX_CF1_MASK 0x3809#define USTORM_CORE_CONN_AG_CTX_CF1_SHIFT 4810#define USTORM_CORE_CONN_AG_CTX_CF2_MASK 0x3811#define USTORM_CORE_CONN_AG_CTX_CF2_SHIFT 6812 u8 flags1;813#define USTORM_CORE_CONN_AG_CTX_CF3_MASK 0x3814#define USTORM_CORE_CONN_AG_CTX_CF3_SHIFT 0815#define USTORM_CORE_CONN_AG_CTX_CF4_MASK 0x3816#define USTORM_CORE_CONN_AG_CTX_CF4_SHIFT 2817#define USTORM_CORE_CONN_AG_CTX_CF5_MASK 0x3818#define USTORM_CORE_CONN_AG_CTX_CF5_SHIFT 4819#define USTORM_CORE_CONN_AG_CTX_CF6_MASK 0x3820#define USTORM_CORE_CONN_AG_CTX_CF6_SHIFT 6821 u8 flags2;822#define USTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x1823#define USTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 0824#define USTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x1825#define USTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 1826#define USTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x1827#define USTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 2828#define USTORM_CORE_CONN_AG_CTX_CF3EN_MASK 0x1829#define USTORM_CORE_CONN_AG_CTX_CF3EN_SHIFT 3830#define USTORM_CORE_CONN_AG_CTX_CF4EN_MASK 0x1831#define USTORM_CORE_CONN_AG_CTX_CF4EN_SHIFT 4832#define USTORM_CORE_CONN_AG_CTX_CF5EN_MASK 0x1833#define USTORM_CORE_CONN_AG_CTX_CF5EN_SHIFT 5834#define USTORM_CORE_CONN_AG_CTX_CF6EN_MASK 0x1835#define USTORM_CORE_CONN_AG_CTX_CF6EN_SHIFT 6836#define USTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x1837#define USTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 7838 u8 flags3;839#define USTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x1840#define USTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 0841#define USTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x1842#define USTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 1843#define USTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x1844#define USTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 2845#define USTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x1846#define USTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 3847#define USTORM_CORE_CONN_AG_CTX_RULE5EN_MASK 0x1848#define USTORM_CORE_CONN_AG_CTX_RULE5EN_SHIFT 4849#define USTORM_CORE_CONN_AG_CTX_RULE6EN_MASK 0x1850#define USTORM_CORE_CONN_AG_CTX_RULE6EN_SHIFT 5851#define USTORM_CORE_CONN_AG_CTX_RULE7EN_MASK 0x1852#define USTORM_CORE_CONN_AG_CTX_RULE7EN_SHIFT 6853#define USTORM_CORE_CONN_AG_CTX_RULE8EN_MASK 0x1854#define USTORM_CORE_CONN_AG_CTX_RULE8EN_SHIFT 7855 u8 byte2;856 u8 byte3;857 __le16 word0;858 __le16 word1;859 __le32 rx_producers;860 __le32 reg1;861 __le32 reg2;862 __le32 reg3;863 __le16 word2;864 __le16 word3;865};866 867/* The core storm context for the Mstorm */868struct mstorm_core_conn_st_ctx {869 __le32 reserved[40];870};871 872/* The core storm context for the Ustorm */873struct ustorm_core_conn_st_ctx {874 __le32 reserved[20];875};876 877/* The core storm context for the Tstorm */878struct tstorm_core_conn_st_ctx {879 __le32 reserved[4];880};881 882/* core connection context */883struct core_conn_context {884 struct ystorm_core_conn_st_ctx ystorm_st_context;885 struct regpair ystorm_st_padding[2];886 struct pstorm_core_conn_st_ctx pstorm_st_context;887 struct regpair pstorm_st_padding[2];888 struct xstorm_core_conn_st_ctx xstorm_st_context;889 struct xstorm_core_conn_ag_ctx xstorm_ag_context;890 struct tstorm_core_conn_ag_ctx tstorm_ag_context;891 struct ustorm_core_conn_ag_ctx ustorm_ag_context;892 struct mstorm_core_conn_st_ctx mstorm_st_context;893 struct ustorm_core_conn_st_ctx ustorm_st_context;894 struct regpair ustorm_st_padding[2];895 struct tstorm_core_conn_st_ctx tstorm_st_context;896 struct regpair tstorm_st_padding[2];897};898 899struct eth_mstorm_per_pf_stat {900 struct regpair gre_discard_pkts;901 struct regpair vxlan_discard_pkts;902 struct regpair geneve_discard_pkts;903 struct regpair lb_discard_pkts;904};905 906struct eth_mstorm_per_queue_stat {907 struct regpair ttl0_discard;908 struct regpair packet_too_big_discard;909 struct regpair no_buff_discard;910 struct regpair not_active_discard;911 struct regpair tpa_coalesced_pkts;912 struct regpair tpa_coalesced_events;913 struct regpair tpa_aborts_num;914 struct regpair tpa_coalesced_bytes;915};916 917/* Ethernet TX Per PF */918struct eth_pstorm_per_pf_stat {919 struct regpair sent_lb_ucast_bytes;920 struct regpair sent_lb_mcast_bytes;921 struct regpair sent_lb_bcast_bytes;922 struct regpair sent_lb_ucast_pkts;923 struct regpair sent_lb_mcast_pkts;924 struct regpair sent_lb_bcast_pkts;925 struct regpair sent_gre_bytes;926 struct regpair sent_vxlan_bytes;927 struct regpair sent_geneve_bytes;928 struct regpair sent_mpls_bytes;929 struct regpair sent_gre_mpls_bytes;930 struct regpair sent_udp_mpls_bytes;931 struct regpair sent_gre_pkts;932 struct regpair sent_vxlan_pkts;933 struct regpair sent_geneve_pkts;934 struct regpair sent_mpls_pkts;935 struct regpair sent_gre_mpls_pkts;936 struct regpair sent_udp_mpls_pkts;937 struct regpair gre_drop_pkts;938 struct regpair vxlan_drop_pkts;939 struct regpair geneve_drop_pkts;940 struct regpair mpls_drop_pkts;941 struct regpair gre_mpls_drop_pkts;942 struct regpair udp_mpls_drop_pkts;943};944 945/* Ethernet TX Per Queue Stats */946struct eth_pstorm_per_queue_stat {947 struct regpair sent_ucast_bytes;948 struct regpair sent_mcast_bytes;949 struct regpair sent_bcast_bytes;950 struct regpair sent_ucast_pkts;951 struct regpair sent_mcast_pkts;952 struct regpair sent_bcast_pkts;953 struct regpair error_drop_pkts;954};955 956/* ETH Rx producers data */957struct eth_rx_rate_limit {958 __le16 mult;959 __le16 cnst;960 u8 add_sub_cnst;961 u8 reserved0;962 __le16 reserved1;963};964 965/* Update RSS indirection table entry command */966struct eth_tstorm_rss_update_data {967 u8 vport_id;968 u8 ind_table_index;969 __le16 ind_table_value;970 __le16 reserved1;971 u8 reserved;972 u8 valid;973};974 975struct eth_ustorm_per_pf_stat {976 struct regpair rcv_lb_ucast_bytes;977 struct regpair rcv_lb_mcast_bytes;978 struct regpair rcv_lb_bcast_bytes;979 struct regpair rcv_lb_ucast_pkts;980 struct regpair rcv_lb_mcast_pkts;981 struct regpair rcv_lb_bcast_pkts;982 struct regpair rcv_gre_bytes;983 struct regpair rcv_vxlan_bytes;984 struct regpair rcv_geneve_bytes;985 struct regpair rcv_gre_pkts;986 struct regpair rcv_vxlan_pkts;987 struct regpair rcv_geneve_pkts;988};989 990struct eth_ustorm_per_queue_stat {991 struct regpair rcv_ucast_bytes;992 struct regpair rcv_mcast_bytes;993 struct regpair rcv_bcast_bytes;994 struct regpair rcv_ucast_pkts;995 struct regpair rcv_mcast_pkts;996 struct regpair rcv_bcast_pkts;997};998 999/* Event Ring VF-PF Channel data */1000struct vf_pf_channel_eqe_data {1001 struct regpair msg_addr;1002};1003 1004/* Event Ring initial cleanup data */1005struct initial_cleanup_eqe_data {1006 u8 vf_id;1007 u8 reserved[7];1008};1009 1010/* FW error data */1011struct fw_err_data {1012 u8 recovery_scope;1013 u8 err_id;1014 __le16 entity_id;1015 u8 reserved[4];1016};1017 1018/* Event Data Union */1019union event_ring_data {1020 u8 bytes[8];1021 struct vf_pf_channel_eqe_data vf_pf_channel;1022 struct iscsi_eqe_data iscsi_info;1023 struct iscsi_connect_done_results iscsi_conn_done_info;1024 union rdma_eqe_data rdma_data;1025 struct initial_cleanup_eqe_data vf_init_cleanup;1026 struct fw_err_data err_data;1027};1028 1029/* Event Ring Entry */1030struct event_ring_entry {1031 u8 protocol_id;1032 u8 opcode;1033 u8 reserved0;1034 u8 vf_id;1035 __le16 echo;1036 u8 fw_return_code;1037 u8 flags;1038#define EVENT_RING_ENTRY_ASYNC_MASK 0x11039#define EVENT_RING_ENTRY_ASYNC_SHIFT 01040#define EVENT_RING_ENTRY_RESERVED1_MASK 0x7F1041#define EVENT_RING_ENTRY_RESERVED1_SHIFT 11042 union event_ring_data data;1043};1044 1045/* Event Ring Next Page Address */1046struct event_ring_next_addr {1047 struct regpair addr;1048 __le32 reserved[2];1049};1050 1051/* Event Ring Element */1052union event_ring_element {1053 struct event_ring_entry entry;1054 struct event_ring_next_addr next_addr;1055};1056 1057/* Ports mode */1058enum fw_flow_ctrl_mode {1059 flow_ctrl_pause,1060 flow_ctrl_pfc,1061 MAX_FW_FLOW_CTRL_MODE1062};1063 1064/* GFT profile type */1065enum gft_profile_type {1066 GFT_PROFILE_TYPE_4_TUPLE,1067 GFT_PROFILE_TYPE_L4_DST_PORT,1068 GFT_PROFILE_TYPE_IP_DST_ADDR,1069 GFT_PROFILE_TYPE_IP_SRC_ADDR,1070 GFT_PROFILE_TYPE_TUNNEL_TYPE,1071 MAX_GFT_PROFILE_TYPE1072};1073 1074/* Major and Minor hsi Versions */1075struct hsi_fp_ver_struct {1076 u8 minor_ver_arr[2];1077 u8 major_ver_arr[2];1078};1079 1080/* Integration Phase */1081enum integ_phase {1082 INTEG_PHASE_BB_A0_LATEST = 3,1083 INTEG_PHASE_BB_B0_NO_MCP = 10,1084 INTEG_PHASE_BB_B0_WITH_MCP = 11,1085 MAX_INTEG_PHASE1086};1087 1088/* Ports mode */1089enum iwarp_ll2_tx_queues {1090 IWARP_LL2_IN_ORDER_TX_QUEUE = 1,1091 IWARP_LL2_ALIGNED_TX_QUEUE,1092 IWARP_LL2_ALIGNED_RIGHT_TRIMMED_TX_QUEUE,1093 IWARP_LL2_ERROR,1094 MAX_IWARP_LL2_TX_QUEUES1095};1096 1097/* Function error ID */1098enum func_err_id {1099 FUNC_NO_ERROR,1100 VF_PF_CHANNEL_NOT_READY,1101 VF_ZONE_MSG_NOT_VALID,1102 VF_ZONE_FUNC_NOT_ENABLED,1103 ETH_PACKET_TOO_SMALL,1104 ETH_ILLEGAL_VLAN_MODE,1105 ETH_MTU_VIOLATION,1106 ETH_ILLEGAL_INBAND_TAGS,1107 ETH_VLAN_INSERT_AND_INBAND_VLAN,1108 ETH_ILLEGAL_NBDS,1109 ETH_FIRST_BD_WO_SOP,1110 ETH_INSUFFICIENT_BDS,1111 ETH_ILLEGAL_LSO_HDR_NBDS,1112 ETH_ILLEGAL_LSO_MSS,1113 ETH_ZERO_SIZE_BD,1114 ETH_ILLEGAL_LSO_HDR_LEN,1115 ETH_INSUFFICIENT_PAYLOAD,1116 ETH_EDPM_OUT_OF_SYNC,1117 ETH_TUNN_IPV6_EXT_NBD_ERR,1118 ETH_CONTROL_PACKET_VIOLATION,1119 ETH_ANTI_SPOOFING_ERR,1120 ETH_PACKET_SIZE_TOO_LARGE,1121 CORE_ILLEGAL_VLAN_MODE,1122 CORE_ILLEGAL_NBDS,1123 CORE_FIRST_BD_WO_SOP,1124 CORE_INSUFFICIENT_BDS,1125 CORE_PACKET_TOO_SMALL,1126 CORE_ILLEGAL_INBAND_TAGS,1127 CORE_VLAN_INSERT_AND_INBAND_VLAN,1128 CORE_MTU_VIOLATION,1129 CORE_CONTROL_PACKET_VIOLATION,1130 CORE_ANTI_SPOOFING_ERR,1131 CORE_PACKET_SIZE_TOO_LARGE,1132 CORE_ILLEGAL_BD_FLAGS,1133 CORE_GSI_PACKET_VIOLATION,1134 MAX_FUNC_ERR_ID1135};1136 1137/* FW error handling mode */1138enum fw_err_mode {1139 FW_ERR_FATAL_ASSERT,1140 FW_ERR_DRV_REPORT,1141 MAX_FW_ERR_MODE1142};1143 1144/* FW error recovery scope */1145enum fw_err_recovery_scope {1146 ERR_SCOPE_INVALID,1147 ERR_SCOPE_TX_Q,1148 ERR_SCOPE_RX_Q,1149 ERR_SCOPE_QP,1150 ERR_SCOPE_VPORT,1151 ERR_SCOPE_FUNC,1152 ERR_SCOPE_PORT,1153 ERR_SCOPE_ENGINE,1154 MAX_FW_ERR_RECOVERY_SCOPE1155};1156 1157/* Mstorm non-triggering VF zone */1158struct mstorm_non_trigger_vf_zone {1159 struct eth_mstorm_per_queue_stat eth_queue_stat;1160 struct eth_rx_prod_data eth_rx_queue_producers[ETH_MAX_RXQ_VF_QUAD];1161};1162 1163/* Mstorm VF zone */1164struct mstorm_vf_zone {1165 struct mstorm_non_trigger_vf_zone non_trigger;1166};1167 1168/* vlan header including TPID and TCI fields */1169struct vlan_header {1170 __le16 tpid;1171 __le16 tci;1172};1173 1174/* outer tag configurations */1175struct outer_tag_config_struct {1176 u8 enable_stag_pri_change;1177 u8 pri_map_valid;1178 u8 reserved[2];1179 struct vlan_header outer_tag;1180 u8 inner_to_outer_pri_map[8];1181};1182 1183/* personality per PF */1184enum personality_type {1185 BAD_PERSONALITY_TYP,1186 PERSONALITY_TCP_ULP,1187 PERSONALITY_FCOE,1188 PERSONALITY_RDMA_AND_ETH,1189 PERSONALITY_RDMA,1190 PERSONALITY_CORE,1191 PERSONALITY_ETH,1192 PERSONALITY_RESERVED,1193 MAX_PERSONALITY_TYPE1194};1195 1196/* tunnel configuration */1197struct pf_start_tunnel_config {1198 u8 set_vxlan_udp_port_flg;1199 u8 set_geneve_udp_port_flg;1200 u8 set_no_inner_l2_vxlan_udp_port_flg;1201 u8 tunnel_clss_vxlan;1202 u8 tunnel_clss_l2geneve;1203 u8 tunnel_clss_ipgeneve;1204 u8 tunnel_clss_l2gre;1205 u8 tunnel_clss_ipgre;1206 __le16 vxlan_udp_port;1207 __le16 geneve_udp_port;1208 __le16 no_inner_l2_vxlan_udp_port;1209 __le16 reserved[3];1210};1211 1212/* Ramrod data for PF start ramrod */1213struct pf_start_ramrod_data {1214 struct regpair event_ring_pbl_addr;1215 struct regpair consolid_q_pbl_base_addr;1216 struct pf_start_tunnel_config tunnel_config;1217 __le16 event_ring_sb_id;1218 u8 base_vf_id;1219 u8 num_vfs;1220 u8 event_ring_num_pages;1221 u8 event_ring_sb_index;1222 u8 path_id;1223 u8 warning_as_error;1224 u8 dont_log_ramrods;1225 u8 personality;1226 __le16 log_type_mask;1227 u8 mf_mode;1228 u8 integ_phase;1229 u8 allow_npar_tx_switching;1230 u8 reserved0;1231 struct hsi_fp_ver_struct hsi_fp_ver;1232 struct outer_tag_config_struct outer_tag_config;1233 u8 pf_fp_err_mode;1234 u8 consolid_q_num_pages;1235 u8 reserved[6];1236};1237 1238/* Data for port update ramrod */1239struct protocol_dcb_data {1240 u8 dcb_enable_flag;1241 u8 dscp_enable_flag;1242 u8 dcb_priority;1243 u8 dcb_tc;1244 u8 dscp_val;1245 u8 dcb_dont_add_vlan0;1246};1247 1248/* Update tunnel configuration */1249struct pf_update_tunnel_config {1250 u8 update_rx_pf_clss;1251 u8 update_rx_def_ucast_clss;1252 u8 update_rx_def_non_ucast_clss;1253 u8 set_vxlan_udp_port_flg;1254 u8 set_geneve_udp_port_flg;1255 u8 set_no_inner_l2_vxlan_udp_port_flg;1256 u8 tunnel_clss_vxlan;1257 u8 tunnel_clss_l2geneve;1258 u8 tunnel_clss_ipgeneve;1259 u8 tunnel_clss_l2gre;1260 u8 tunnel_clss_ipgre;1261 u8 reserved;1262 __le16 vxlan_udp_port;1263 __le16 geneve_udp_port;1264 __le16 no_inner_l2_vxlan_udp_port;1265 __le16 reserved1[3];1266};1267 1268/* Data for port update ramrod */1269struct pf_update_ramrod_data {1270 u8 update_eth_dcb_data_mode;1271 u8 update_fcoe_dcb_data_mode;1272 u8 update_iscsi_dcb_data_mode;1273 u8 update_roce_dcb_data_mode;1274 u8 update_rroce_dcb_data_mode;1275 u8 update_iwarp_dcb_data_mode;1276 u8 update_mf_vlan_flag;1277 u8 update_enable_stag_pri_change;1278 struct protocol_dcb_data eth_dcb_data;1279 struct protocol_dcb_data fcoe_dcb_data;1280 struct protocol_dcb_data iscsi_dcb_data;1281 struct protocol_dcb_data roce_dcb_data;1282 struct protocol_dcb_data rroce_dcb_data;1283 struct protocol_dcb_data iwarp_dcb_data;1284 __le16 mf_vlan;1285 u8 enable_stag_pri_change;1286 u8 reserved;1287 struct pf_update_tunnel_config tunnel_config;1288};1289 1290/* Ports mode */1291enum ports_mode {1292 ENGX2_PORTX1,1293 ENGX2_PORTX2,1294 ENGX1_PORTX1,1295 ENGX1_PORTX2,1296 ENGX1_PORTX4,1297 MAX_PORTS_MODE1298};1299 1300/* Protocol-common error code */1301enum protocol_common_error_code {1302 COMMON_ERR_CODE_OK = 0,1303 COMMON_ERR_CODE_ERROR,1304 MAX_PROTOCOL_COMMON_ERROR_CODE1305};1306 1307/* use to index in hsi_fp_[major|minor]_ver_arr per protocol */1308enum protocol_version_array_key {1309 ETH_VER_KEY = 0,1310 ROCE_VER_KEY,1311 MAX_PROTOCOL_VERSION_ARRAY_KEY1312};1313 1314/* RDMA TX Stats */1315struct rdma_sent_stats {1316 struct regpair sent_bytes;1317 struct regpair sent_pkts;1318};1319 1320/* Pstorm non-triggering VF zone */1321struct pstorm_non_trigger_vf_zone {1322 struct eth_pstorm_per_queue_stat eth_queue_stat;1323 struct rdma_sent_stats rdma_stats;1324};1325 1326/* Pstorm VF zone */1327struct pstorm_vf_zone {1328 struct pstorm_non_trigger_vf_zone non_trigger;1329 struct regpair reserved[7];1330};1331 1332/* Ramrod Header of SPQE */1333struct ramrod_header {1334 __le32 cid;1335 u8 cmd_id;1336 u8 protocol_id;1337 __le16 echo;1338};1339 1340/* RDMA RX Stats */1341struct rdma_rcv_stats {1342 struct regpair rcv_bytes;1343 struct regpair rcv_pkts;1344};1345 1346/* Data for update QCN/DCQCN RL ramrod */1347struct rl_update_ramrod_data {1348 u8 qcn_update_param_flg;1349 u8 dcqcn_update_param_flg;1350 u8 rl_init_flg;1351 u8 rl_start_flg;1352 u8 rl_stop_flg;1353 u8 rl_id_first;1354 u8 rl_id_last;1355 u8 rl_dc_qcn_flg;1356 u8 dcqcn_reset_alpha_on_idle;1357 u8 rl_bc_stage_th;1358 u8 rl_timer_stage_th;1359 u8 reserved1;1360 __le32 rl_bc_rate;1361 __le16 rl_max_rate;1362 __le16 rl_r_ai;1363 __le16 rl_r_hai;1364 __le16 dcqcn_g;1365 __le32 dcqcn_k_us;1366 __le32 dcqcn_timeuot_us;1367 __le32 qcn_timeuot_us;1368 __le32 reserved2;1369};1370 1371/* Slowpath Element (SPQE) */1372struct slow_path_element {1373 struct ramrod_header hdr;1374 struct regpair data_ptr;1375};1376 1377/* Tstorm non-triggering VF zone */1378struct tstorm_non_trigger_vf_zone {1379 struct rdma_rcv_stats rdma_stats;1380};1381 1382struct tstorm_per_port_stat {1383 struct regpair trunc_error_discard;1384 struct regpair mac_error_discard;1385 struct regpair mftag_filter_discard;1386 struct regpair eth_mac_filter_discard;1387 struct regpair ll2_mac_filter_discard;1388 struct regpair ll2_conn_disabled_discard;1389 struct regpair iscsi_irregular_pkt;1390 struct regpair fcoe_irregular_pkt;1391 struct regpair roce_irregular_pkt;1392 struct regpair iwarp_irregular_pkt;1393 struct regpair eth_irregular_pkt;1394 struct regpair toe_irregular_pkt;1395 struct regpair preroce_irregular_pkt;1396 struct regpair eth_gre_tunn_filter_discard;1397 struct regpair eth_vxlan_tunn_filter_discard;1398 struct regpair eth_geneve_tunn_filter_discard;1399 struct regpair eth_gft_drop_pkt;1400};1401 1402/* Tstorm VF zone */1403struct tstorm_vf_zone {1404 struct tstorm_non_trigger_vf_zone non_trigger;1405};1406 1407/* Tunnel classification scheme */1408enum tunnel_clss {1409 TUNNEL_CLSS_MAC_VLAN = 0,1410 TUNNEL_CLSS_MAC_VNI,1411 TUNNEL_CLSS_INNER_MAC_VLAN,1412 TUNNEL_CLSS_INNER_MAC_VNI,1413 TUNNEL_CLSS_MAC_VLAN_DUAL_STAGE,1414 MAX_TUNNEL_CLSS1415};1416 1417/* Ustorm non-triggering VF zone */1418struct ustorm_non_trigger_vf_zone {1419 struct eth_ustorm_per_queue_stat eth_queue_stat;1420 struct regpair vf_pf_msg_addr;1421};1422 1423/* Ustorm triggering VF zone */1424struct ustorm_trigger_vf_zone {1425 u8 vf_pf_msg_valid;1426 u8 reserved[7];1427};1428 1429/* Ustorm VF zone */1430struct ustorm_vf_zone {1431 struct ustorm_non_trigger_vf_zone non_trigger;1432 struct ustorm_trigger_vf_zone trigger;1433};1434 1435/* VF-PF channel data */1436struct vf_pf_channel_data {1437 __le32 ready;1438 u8 valid;1439 u8 reserved0;1440 __le16 reserved1;1441};1442 1443/* Ramrod data for VF start ramrod */1444struct vf_start_ramrod_data {1445 u8 vf_id;1446 u8 enable_flr_ack;1447 __le16 opaque_fid;1448 u8 personality;1449 u8 reserved[7];1450 struct hsi_fp_ver_struct hsi_fp_ver;1451 1452};1453 1454/* Ramrod data for VF start ramrod */1455struct vf_stop_ramrod_data {1456 u8 vf_id;1457 u8 reserved0;1458 __le16 reserved1;1459 __le32 reserved2;1460};1461 1462/* VF zone size mode */1463enum vf_zone_size_mode {1464 VF_ZONE_SIZE_MODE_DEFAULT,1465 VF_ZONE_SIZE_MODE_DOUBLE,1466 VF_ZONE_SIZE_MODE_QUAD,1467 MAX_VF_ZONE_SIZE_MODE1468};1469 1470/* Xstorm non-triggering VF zone */1471struct xstorm_non_trigger_vf_zone {1472 struct regpair non_edpm_ack_pkts;1473};1474 1475/* Tstorm VF zone */1476struct xstorm_vf_zone {1477 struct xstorm_non_trigger_vf_zone non_trigger;1478};1479 1480/* Attentions status block */1481struct atten_status_block {1482 __le32 atten_bits;1483 __le32 atten_ack;1484 __le16 reserved0;1485 __le16 sb_index;1486 __le32 reserved1;1487};1488 1489/* DMAE command */1490struct dmae_cmd {1491 __le32 opcode;1492#define DMAE_CMD_SRC_MASK 0x11493#define DMAE_CMD_SRC_SHIFT 01494#define DMAE_CMD_DST_MASK 0x31495#define DMAE_CMD_DST_SHIFT 11496#define DMAE_CMD_C_DST_MASK 0x11497#define DMAE_CMD_C_DST_SHIFT 31498#define DMAE_CMD_CRC_RESET_MASK 0x11499#define DMAE_CMD_CRC_RESET_SHIFT 41500#define DMAE_CMD_SRC_ADDR_RESET_MASK 0x11501#define DMAE_CMD_SRC_ADDR_RESET_SHIFT 51502#define DMAE_CMD_DST_ADDR_RESET_MASK 0x11503#define DMAE_CMD_DST_ADDR_RESET_SHIFT 61504#define DMAE_CMD_COMP_FUNC_MASK 0x11505#define DMAE_CMD_COMP_FUNC_SHIFT 71506#define DMAE_CMD_COMP_WORD_EN_MASK 0x11507#define DMAE_CMD_COMP_WORD_EN_SHIFT 81508#define DMAE_CMD_COMP_CRC_EN_MASK 0x11509#define DMAE_CMD_COMP_CRC_EN_SHIFT 91510#define DMAE_CMD_COMP_CRC_OFFSET_MASK 0x71511#define DMAE_CMD_COMP_CRC_OFFSET_SHIFT 101512#define DMAE_CMD_RESERVED1_MASK 0x11513#define DMAE_CMD_RESERVED1_SHIFT 131514#define DMAE_CMD_ENDIANITY_MODE_MASK 0x31515#define DMAE_CMD_ENDIANITY_MODE_SHIFT 141516#define DMAE_CMD_ERR_HANDLING_MASK 0x31517#define DMAE_CMD_ERR_HANDLING_SHIFT 161518#define DMAE_CMD_PORT_ID_MASK 0x31519#define DMAE_CMD_PORT_ID_SHIFT 181520#define DMAE_CMD_SRC_PF_ID_MASK 0xF1521#define DMAE_CMD_SRC_PF_ID_SHIFT 201522#define DMAE_CMD_DST_PF_ID_MASK 0xF1523#define DMAE_CMD_DST_PF_ID_SHIFT 241524#define DMAE_CMD_SRC_VF_ID_VALID_MASK 0x11525#define DMAE_CMD_SRC_VF_ID_VALID_SHIFT 281526#define DMAE_CMD_DST_VF_ID_VALID_MASK 0x11527#define DMAE_CMD_DST_VF_ID_VALID_SHIFT 291528#define DMAE_CMD_RESERVED2_MASK 0x31529#define DMAE_CMD_RESERVED2_SHIFT 301530 __le32 src_addr_lo;1531 __le32 src_addr_hi;1532 __le32 dst_addr_lo;1533 __le32 dst_addr_hi;1534 __le16 length_dw;1535 __le16 opcode_b;1536#define DMAE_CMD_SRC_VF_ID_MASK 0xFF1537#define DMAE_CMD_SRC_VF_ID_SHIFT 01538#define DMAE_CMD_DST_VF_ID_MASK 0xFF1539#define DMAE_CMD_DST_VF_ID_SHIFT 81540 __le32 comp_addr_lo;1541 __le32 comp_addr_hi;1542 __le32 comp_val;1543 __le32 crc32;1544 __le32 crc_32_c;1545 __le16 crc16;1546 __le16 crc16_c;1547 __le16 crc10;1548 __le16 error_bit_reserved;1549#define DMAE_CMD_ERROR_BIT_MASK 0x11550#define DMAE_CMD_ERROR_BIT_SHIFT 01551#define DMAE_CMD_RESERVED_MASK 0x7FFF1552#define DMAE_CMD_RESERVED_SHIFT 11553 __le16 xsum16;1554 __le16 xsum8;1555};1556 1557enum dmae_cmd_comp_crc_en_enum {1558 dmae_cmd_comp_crc_disabled,1559 dmae_cmd_comp_crc_enabled,1560 MAX_DMAE_CMD_COMP_CRC_EN_ENUM1561};1562 1563enum dmae_cmd_comp_func_enum {1564 dmae_cmd_comp_func_to_src,1565 dmae_cmd_comp_func_to_dst,1566 MAX_DMAE_CMD_COMP_FUNC_ENUM1567};1568 1569enum dmae_cmd_comp_word_en_enum {1570 dmae_cmd_comp_word_disabled,1571 dmae_cmd_comp_word_enabled,1572 MAX_DMAE_CMD_COMP_WORD_EN_ENUM1573};1574 1575enum dmae_cmd_c_dst_enum {1576 dmae_cmd_c_dst_pcie,1577 dmae_cmd_c_dst_grc,1578 MAX_DMAE_CMD_C_DST_ENUM1579};1580 1581enum dmae_cmd_dst_enum {1582 dmae_cmd_dst_none_0,1583 dmae_cmd_dst_pcie,1584 dmae_cmd_dst_grc,1585 dmae_cmd_dst_none_3,1586 MAX_DMAE_CMD_DST_ENUM1587};1588 1589enum dmae_cmd_error_handling_enum {1590 dmae_cmd_error_handling_send_regular_comp,1591 dmae_cmd_error_handling_send_comp_with_err,1592 dmae_cmd_error_handling_dont_send_comp,1593 MAX_DMAE_CMD_ERROR_HANDLING_ENUM1594};1595 1596enum dmae_cmd_src_enum {1597 dmae_cmd_src_pcie,1598 dmae_cmd_src_grc,1599 MAX_DMAE_CMD_SRC_ENUM1600};1601 1602struct mstorm_core_conn_ag_ctx {1603 u8 byte0;1604 u8 byte1;1605 u8 flags0;1606#define MSTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x11607#define MSTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 01608#define MSTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x11609#define MSTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 11610#define MSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x31611#define MSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 21612#define MSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x31613#define MSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 41614#define MSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x31615#define MSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 61616 u8 flags1;1617#define MSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x11618#define MSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 01619#define MSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x11620#define MSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 11621#define MSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x11622#define MSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 21623#define MSTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x11624#define MSTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 31625#define MSTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x11626#define MSTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 41627#define MSTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x11628#define MSTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 51629#define MSTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x11630#define MSTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 61631#define MSTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x11632#define MSTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 71633 __le16 word0;1634 __le16 word1;1635 __le32 reg0;1636 __le32 reg1;1637};1638 1639struct ystorm_core_conn_ag_ctx {1640 u8 byte0;1641 u8 byte1;1642 u8 flags0;1643#define YSTORM_CORE_CONN_AG_CTX_BIT0_MASK 0x11644#define YSTORM_CORE_CONN_AG_CTX_BIT0_SHIFT 01645#define YSTORM_CORE_CONN_AG_CTX_BIT1_MASK 0x11646#define YSTORM_CORE_CONN_AG_CTX_BIT1_SHIFT 11647#define YSTORM_CORE_CONN_AG_CTX_CF0_MASK 0x31648#define YSTORM_CORE_CONN_AG_CTX_CF0_SHIFT 21649#define YSTORM_CORE_CONN_AG_CTX_CF1_MASK 0x31650#define YSTORM_CORE_CONN_AG_CTX_CF1_SHIFT 41651#define YSTORM_CORE_CONN_AG_CTX_CF2_MASK 0x31652#define YSTORM_CORE_CONN_AG_CTX_CF2_SHIFT 61653 u8 flags1;1654#define YSTORM_CORE_CONN_AG_CTX_CF0EN_MASK 0x11655#define YSTORM_CORE_CONN_AG_CTX_CF0EN_SHIFT 01656#define YSTORM_CORE_CONN_AG_CTX_CF1EN_MASK 0x11657#define YSTORM_CORE_CONN_AG_CTX_CF1EN_SHIFT 11658#define YSTORM_CORE_CONN_AG_CTX_CF2EN_MASK 0x11659#define YSTORM_CORE_CONN_AG_CTX_CF2EN_SHIFT 21660#define YSTORM_CORE_CONN_AG_CTX_RULE0EN_MASK 0x11661#define YSTORM_CORE_CONN_AG_CTX_RULE0EN_SHIFT 31662#define YSTORM_CORE_CONN_AG_CTX_RULE1EN_MASK 0x11663#define YSTORM_CORE_CONN_AG_CTX_RULE1EN_SHIFT 41664#define YSTORM_CORE_CONN_AG_CTX_RULE2EN_MASK 0x11665#define YSTORM_CORE_CONN_AG_CTX_RULE2EN_SHIFT 51666#define YSTORM_CORE_CONN_AG_CTX_RULE3EN_MASK 0x11667#define YSTORM_CORE_CONN_AG_CTX_RULE3EN_SHIFT 61668#define YSTORM_CORE_CONN_AG_CTX_RULE4EN_MASK 0x11669#define YSTORM_CORE_CONN_AG_CTX_RULE4EN_SHIFT 71670 u8 byte2;1671 u8 byte3;1672 __le16 word0;1673 __le32 reg0;1674 __le32 reg1;1675 __le16 word1;1676 __le16 word2;1677 __le16 word3;1678 __le16 word4;1679 __le32 reg2;1680 __le32 reg3;1681};1682 1683/* DMAE parameters */1684struct qed_dmae_params {1685 u32 flags;1686/* If QED_DMAE_PARAMS_RW_REPL_SRC flag is set and the1687 * source is a block of length DMAE_MAX_RW_SIZE and the1688 * destination is larger, the source block will be duplicated as1689 * many times as required to fill the destination block. This is1690 * used mostly to write a zeroed buffer to destination address1691 * using DMA1692 */1693#define QED_DMAE_PARAMS_RW_REPL_SRC_MASK 0x11694#define QED_DMAE_PARAMS_RW_REPL_SRC_SHIFT 01695#define QED_DMAE_PARAMS_SRC_VF_VALID_MASK 0x11696#define QED_DMAE_PARAMS_SRC_VF_VALID_SHIFT 11697#define QED_DMAE_PARAMS_DST_VF_VALID_MASK 0x11698#define QED_DMAE_PARAMS_DST_VF_VALID_SHIFT 21699#define QED_DMAE_PARAMS_COMPLETION_DST_MASK 0x11700#define QED_DMAE_PARAMS_COMPLETION_DST_SHIFT 31701#define QED_DMAE_PARAMS_PORT_VALID_MASK 0x11702#define QED_DMAE_PARAMS_PORT_VALID_SHIFT 41703#define QED_DMAE_PARAMS_SRC_PF_VALID_MASK 0x11704#define QED_DMAE_PARAMS_SRC_PF_VALID_SHIFT 51705#define QED_DMAE_PARAMS_DST_PF_VALID_MASK 0x11706#define QED_DMAE_PARAMS_DST_PF_VALID_SHIFT 61707#define QED_DMAE_PARAMS_RESERVED_MASK 0x1FFFFFF1708#define QED_DMAE_PARAMS_RESERVED_SHIFT 71709 u8 src_vfid;1710 u8 dst_vfid;1711 u8 port_id;1712 u8 src_pfid;1713 u8 dst_pfid;1714 u8 reserved1;1715 __le16 reserved2;1716};1717 1718/* IGU cleanup command */1719struct igu_cleanup {1720 __le32 sb_id_and_flags;1721#define IGU_CLEANUP_RESERVED0_MASK 0x7FFFFFF1722#define IGU_CLEANUP_RESERVED0_SHIFT 01723#define IGU_CLEANUP_CLEANUP_SET_MASK 0x11724#define IGU_CLEANUP_CLEANUP_SET_SHIFT 271725#define IGU_CLEANUP_CLEANUP_TYPE_MASK 0x71726#define IGU_CLEANUP_CLEANUP_TYPE_SHIFT 281727#define IGU_CLEANUP_COMMAND_TYPE_MASK 0x11728#define IGU_CLEANUP_COMMAND_TYPE_SHIFT 311729 __le32 reserved1;1730};1731 1732/* IGU firmware driver command */1733union igu_command {1734 struct igu_prod_cons_update prod_cons_update;1735 struct igu_cleanup cleanup;1736};1737 1738/* IGU firmware driver command */1739struct igu_command_reg_ctrl {1740 __le16 opaque_fid;1741 __le16 igu_command_reg_ctrl_fields;1742#define IGU_COMMAND_REG_CTRL_PXP_BAR_ADDR_MASK 0xFFF1743#define IGU_COMMAND_REG_CTRL_PXP_BAR_ADDR_SHIFT 01744#define IGU_COMMAND_REG_CTRL_RESERVED_MASK 0x71745#define IGU_COMMAND_REG_CTRL_RESERVED_SHIFT 121746#define IGU_COMMAND_REG_CTRL_COMMAND_TYPE_MASK 0x11747#define IGU_COMMAND_REG_CTRL_COMMAND_TYPE_SHIFT 151748};1749 1750/* IGU mapping line structure */1751struct igu_mapping_line {1752 __le32 igu_mapping_line_fields;1753#define IGU_MAPPING_LINE_VALID_MASK 0x11754#define IGU_MAPPING_LINE_VALID_SHIFT 01755#define IGU_MAPPING_LINE_VECTOR_NUMBER_MASK 0xFF1756#define IGU_MAPPING_LINE_VECTOR_NUMBER_SHIFT 11757#define IGU_MAPPING_LINE_FUNCTION_NUMBER_MASK 0xFF1758#define IGU_MAPPING_LINE_FUNCTION_NUMBER_SHIFT 91759#define IGU_MAPPING_LINE_PF_VALID_MASK 0x11760#define IGU_MAPPING_LINE_PF_VALID_SHIFT 171761#define IGU_MAPPING_LINE_IPS_GROUP_MASK 0x3F1762#define IGU_MAPPING_LINE_IPS_GROUP_SHIFT 181763#define IGU_MAPPING_LINE_RESERVED_MASK 0xFF1764#define IGU_MAPPING_LINE_RESERVED_SHIFT 241765};1766 1767/* IGU MSIX line structure */1768struct igu_msix_vector {1769 struct regpair address;1770 __le32 data;1771 __le32 msix_vector_fields;1772#define IGU_MSIX_VECTOR_MASK_BIT_MASK 0x11773#define IGU_MSIX_VECTOR_MASK_BIT_SHIFT 01774#define IGU_MSIX_VECTOR_RESERVED0_MASK 0x7FFF1775#define IGU_MSIX_VECTOR_RESERVED0_SHIFT 11776#define IGU_MSIX_VECTOR_STEERING_TAG_MASK 0xFF1777#define IGU_MSIX_VECTOR_STEERING_TAG_SHIFT 161778#define IGU_MSIX_VECTOR_RESERVED1_MASK 0xFF1779#define IGU_MSIX_VECTOR_RESERVED1_SHIFT 241780};1781 1782/* per encapsulation type enabling flags */1783struct prs_reg_encapsulation_type_en {1784 u8 flags;1785#define PRS_REG_ENCAPSULATION_TYPE_EN_ETH_OVER_GRE_ENABLE_MASK 0x11786#define PRS_REG_ENCAPSULATION_TYPE_EN_ETH_OVER_GRE_ENABLE_SHIFT 01787#define PRS_REG_ENCAPSULATION_TYPE_EN_IP_OVER_GRE_ENABLE_MASK 0x11788#define PRS_REG_ENCAPSULATION_TYPE_EN_IP_OVER_GRE_ENABLE_SHIFT 11789#define PRS_REG_ENCAPSULATION_TYPE_EN_VXLAN_ENABLE_MASK 0x11790#define PRS_REG_ENCAPSULATION_TYPE_EN_VXLAN_ENABLE_SHIFT 21791#define PRS_REG_ENCAPSULATION_TYPE_EN_T_TAG_ENABLE_MASK 0x11792#define PRS_REG_ENCAPSULATION_TYPE_EN_T_TAG_ENABLE_SHIFT 31793#define PRS_REG_ENCAPSULATION_TYPE_EN_ETH_OVER_GENEVE_ENABLE_MASK 0x11794#define PRS_REG_ENCAPSULATION_TYPE_EN_ETH_OVER_GENEVE_ENABLE_SHIFT 41795#define PRS_REG_ENCAPSULATION_TYPE_EN_IP_OVER_GENEVE_ENABLE_MASK 0x11796#define PRS_REG_ENCAPSULATION_TYPE_EN_IP_OVER_GENEVE_ENABLE_SHIFT 51797#define PRS_REG_ENCAPSULATION_TYPE_EN_RESERVED_MASK 0x31798#define PRS_REG_ENCAPSULATION_TYPE_EN_RESERVED_SHIFT 61799};1800 1801enum pxp_tph_st_hint {1802 TPH_ST_HINT_BIDIR,1803 TPH_ST_HINT_REQUESTER,1804 TPH_ST_HINT_TARGET,1805 TPH_ST_HINT_TARGET_PRIO,1806 MAX_PXP_TPH_ST_HINT1807};1808 1809/* QM hardware structure of enable bypass credit mask */1810struct qm_rf_bypass_mask {1811 u8 flags;1812#define QM_RF_BYPASS_MASK_LINEVOQ_MASK 0x11813#define QM_RF_BYPASS_MASK_LINEVOQ_SHIFT 01814#define QM_RF_BYPASS_MASK_RESERVED0_MASK 0x11815#define QM_RF_BYPASS_MASK_RESERVED0_SHIFT 11816#define QM_RF_BYPASS_MASK_PFWFQ_MASK 0x11817#define QM_RF_BYPASS_MASK_PFWFQ_SHIFT 21818#define QM_RF_BYPASS_MASK_VPWFQ_MASK 0x11819#define QM_RF_BYPASS_MASK_VPWFQ_SHIFT 31820#define QM_RF_BYPASS_MASK_PFRL_MASK 0x11821#define QM_RF_BYPASS_MASK_PFRL_SHIFT 41822#define QM_RF_BYPASS_MASK_VPQCNRL_MASK 0x11823#define QM_RF_BYPASS_MASK_VPQCNRL_SHIFT 51824#define QM_RF_BYPASS_MASK_FWPAUSE_MASK 0x11825#define QM_RF_BYPASS_MASK_FWPAUSE_SHIFT 61826#define QM_RF_BYPASS_MASK_RESERVED1_MASK 0x11827#define QM_RF_BYPASS_MASK_RESERVED1_SHIFT 71828};1829 1830/* QM hardware structure of opportunistic credit mask */1831struct qm_rf_opportunistic_mask {1832 __le16 flags;1833#define QM_RF_OPPORTUNISTIC_MASK_LINEVOQ_MASK 0x11834#define QM_RF_OPPORTUNISTIC_MASK_LINEVOQ_SHIFT 01835#define QM_RF_OPPORTUNISTIC_MASK_BYTEVOQ_MASK 0x11836#define QM_RF_OPPORTUNISTIC_MASK_BYTEVOQ_SHIFT 11837#define QM_RF_OPPORTUNISTIC_MASK_PFWFQ_MASK 0x11838#define QM_RF_OPPORTUNISTIC_MASK_PFWFQ_SHIFT 21839#define QM_RF_OPPORTUNISTIC_MASK_VPWFQ_MASK 0x11840#define QM_RF_OPPORTUNISTIC_MASK_VPWFQ_SHIFT 31841#define QM_RF_OPPORTUNISTIC_MASK_PFRL_MASK 0x11842#define QM_RF_OPPORTUNISTIC_MASK_PFRL_SHIFT 41843#define QM_RF_OPPORTUNISTIC_MASK_VPQCNRL_MASK 0x11844#define QM_RF_OPPORTUNISTIC_MASK_VPQCNRL_SHIFT 51845#define QM_RF_OPPORTUNISTIC_MASK_FWPAUSE_MASK 0x11846#define QM_RF_OPPORTUNISTIC_MASK_FWPAUSE_SHIFT 61847#define QM_RF_OPPORTUNISTIC_MASK_RESERVED0_MASK 0x11848#define QM_RF_OPPORTUNISTIC_MASK_RESERVED0_SHIFT 71849#define QM_RF_OPPORTUNISTIC_MASK_QUEUEEMPTY_MASK 0x11850#define QM_RF_OPPORTUNISTIC_MASK_QUEUEEMPTY_SHIFT 81851#define QM_RF_OPPORTUNISTIC_MASK_RESERVED1_MASK 0x7F1852#define QM_RF_OPPORTUNISTIC_MASK_RESERVED1_SHIFT 91853};1854 1855/* QM hardware structure of QM map memory */1856struct qm_rf_pq_map {1857 __le32 reg;1858#define QM_RF_PQ_MAP_PQ_VALID_MASK 0x11859#define QM_RF_PQ_MAP_PQ_VALID_SHIFT 01860#define QM_RF_PQ_MAP_RL_ID_MASK 0xFF1861#define QM_RF_PQ_MAP_RL_ID_SHIFT 11862#define QM_RF_PQ_MAP_VP_PQ_ID_MASK 0x1FF1863#define QM_RF_PQ_MAP_VP_PQ_ID_SHIFT 91864#define QM_RF_PQ_MAP_VOQ_MASK 0x1F1865#define QM_RF_PQ_MAP_VOQ_SHIFT 181866#define QM_RF_PQ_MAP_WRR_WEIGHT_GROUP_MASK 0x31867#define QM_RF_PQ_MAP_WRR_WEIGHT_GROUP_SHIFT 231868#define QM_RF_PQ_MAP_RL_VALID_MASK 0x11869#define QM_RF_PQ_MAP_RL_VALID_SHIFT 251870#define QM_RF_PQ_MAP_RESERVED_MASK 0x3F1871#define QM_RF_PQ_MAP_RESERVED_SHIFT 261872};1873 1874/* Completion params for aggregated interrupt completion */1875struct sdm_agg_int_comp_params {1876 __le16 params;1877#define SDM_AGG_INT_COMP_PARAMS_AGG_INT_INDEX_MASK 0x3F1878#define SDM_AGG_INT_COMP_PARAMS_AGG_INT_INDEX_SHIFT 01879#define SDM_AGG_INT_COMP_PARAMS_AGG_VECTOR_ENABLE_MASK 0x11880#define SDM_AGG_INT_COMP_PARAMS_AGG_VECTOR_ENABLE_SHIFT 61881#define SDM_AGG_INT_COMP_PARAMS_AGG_VECTOR_BIT_MASK 0x1FF1882#define SDM_AGG_INT_COMP_PARAMS_AGG_VECTOR_BIT_SHIFT 71883};1884 1885/* SDM operation gen command (generate aggregative interrupt) */1886struct sdm_op_gen {1887 __le32 command;1888#define SDM_OP_GEN_COMP_PARAM_MASK 0xFFFF1889#define SDM_OP_GEN_COMP_PARAM_SHIFT 01890#define SDM_OP_GEN_COMP_TYPE_MASK 0xF1891#define SDM_OP_GEN_COMP_TYPE_SHIFT 161892#define SDM_OP_GEN_RESERVED_MASK 0xFFF1893#define SDM_OP_GEN_RESERVED_SHIFT 201894};1895 1896/* Physical memory descriptor */1897struct phys_mem_desc {1898 dma_addr_t phys_addr;1899 void *virt_addr;1900 u32 size; /* In bytes */1901};1902 1903/* Virtual memory descriptor */1904struct virt_mem_desc {1905 void *ptr;1906 u32 size; /* In bytes */1907};1908 1909/********************************/1910/* HSI Init Functions constants */1911/********************************/1912 1913/* Number of VLAN priorities */1914#define NUM_OF_VLAN_PRIORITIES 81915 1916/* BRB RAM init requirements */1917struct init_brb_ram_req {1918 u32 guranteed_per_tc;1919 u32 headroom_per_tc;1920 u32 min_pkt_size;1921 u32 max_ports_per_engine;1922 u8 num_active_tcs[MAX_NUM_PORTS];1923};1924 1925/* ETS per-TC init requirements */1926struct init_ets_tc_req {1927 u8 use_sp;1928 u8 use_wfq;1929 u16 weight;1930};1931 1932/* ETS init requirements */1933struct init_ets_req {1934 u32 mtu;1935 struct init_ets_tc_req tc_req[NUM_OF_TCS];1936};1937 1938/* NIG LB RL init requirements */1939struct init_nig_lb_rl_req {1940 u16 lb_mac_rate;1941 u16 lb_rate;1942 u32 mtu;1943 u16 tc_rate[NUM_OF_PHYS_TCS];1944};1945 1946/* NIG TC mapping for each priority */1947struct init_nig_pri_tc_map_entry {1948 u8 tc_id;1949 u8 valid;1950};1951 1952/* NIG priority to TC map init requirements */1953struct init_nig_pri_tc_map_req {1954 struct init_nig_pri_tc_map_entry pri[NUM_OF_VLAN_PRIORITIES];1955};1956 1957/* QM per global RL init parameters */1958struct init_qm_global_rl_params {1959 u8 type;1960 u8 reserved0;1961 u16 reserved1;1962 u32 rate_limit;1963};1964 1965/* QM per-port init parameters */1966struct init_qm_port_params {1967 u16 active_phys_tcs;1968 u16 num_pbf_cmd_lines;1969 u16 num_btb_blocks;1970 u8 active;1971 u8 reserved;1972};1973 1974/* QM per-PQ init parameters */1975struct init_qm_pq_params {1976 u16 vport_id;1977 u16 rl_id;1978 u8 rl_valid;1979 u8 tc_id;1980 u8 wrr_group;1981 u8 port_id;1982};1983 1984/* QM per RL init parameters */1985struct init_qm_rl_params {1986 u32 vport_rl;1987 u8 vport_rl_type;1988 u8 reserved[3];1989};1990 1991/* QM Rate Limiter types */1992enum init_qm_rl_type {1993 QM_RL_TYPE_NORMAL,1994 QM_RL_TYPE_QCN,1995 MAX_INIT_QM_RL_TYPE1996};1997 1998/* QM per-vport init parameters */1999struct init_qm_vport_params {2000 u16 wfq;2001 u16 reserved;2002 u16 tc_wfq[NUM_OF_TCS];2003 u16 first_tx_pq_id[NUM_OF_TCS];2004};2005 2006/**************************************/2007/* Init Tool HSI constants and macros */2008/**************************************/2009 2010/* Width of GRC address in bits (addresses are specified in dwords) */2011#define GRC_ADDR_BITS 232012#define MAX_GRC_ADDR (BIT(GRC_ADDR_BITS) - 1)2013 2014/* indicates an init that should be applied to any phase ID */2015#define ANY_PHASE_ID 0xffff2016 2017/* Max size in dwords of a zipped array */2018#define MAX_ZIPPED_SIZE 81922019enum chip_ids {2020 CHIP_BB,2021 CHIP_K2,2022 MAX_CHIP_IDS2023};2024 2025struct fw_asserts_ram_section {2026 __le16 section_ram_line_offset;2027 __le16 section_ram_line_size;2028 u8 list_dword_offset;2029 u8 list_element_dword_size;2030 u8 list_num_elements;2031 u8 list_next_index_dword_offset;2032};2033 2034struct fw_ver_num {2035 u8 major;2036 u8 minor;2037 u8 rev;2038 u8 eng;2039};2040 2041struct fw_ver_info {2042 __le16 tools_ver;2043 u8 image_id;2044 u8 reserved1;2045 struct fw_ver_num num;2046 __le32 timestamp;2047 __le32 reserved2;2048};2049 2050struct fw_info {2051 struct fw_ver_info ver;2052 struct fw_asserts_ram_section fw_asserts_section;2053};2054 2055struct fw_info_location {2056 __le32 grc_addr;2057 __le32 size;2058};2059 2060enum init_modes {2061 MODE_BB_A0_DEPRECATED,2062 MODE_BB,2063 MODE_K2,2064 MODE_ASIC,2065 MODE_EMUL_REDUCED,2066 MODE_EMUL_FULL,2067 MODE_FPGA,2068 MODE_CHIPSIM,2069 MODE_SF,2070 MODE_MF_SD,2071 MODE_MF_SI,2072 MODE_PORTS_PER_ENG_1,2073 MODE_PORTS_PER_ENG_2,2074 MODE_PORTS_PER_ENG_4,2075 MODE_100G,2076 MODE_SKIP_PRAM_INIT,2077 MODE_EMUL_MAC,2078 MAX_INIT_MODES2079};2080 2081enum init_phases {2082 PHASE_ENGINE,2083 PHASE_PORT,2084 PHASE_PF,2085 PHASE_VF,2086 PHASE_QM_PF,2087 MAX_INIT_PHASES2088};2089 2090enum init_split_types {2091 SPLIT_TYPE_NONE,2092 SPLIT_TYPE_PORT,2093 SPLIT_TYPE_PF,2094 SPLIT_TYPE_PORT_PF,2095 SPLIT_TYPE_VF,2096 MAX_INIT_SPLIT_TYPES2097};2098 2099/* Binary buffer header */2100struct bin_buffer_hdr {2101 u32 offset;2102 u32 length;2103};2104 2105/* Binary init buffer types */2106enum bin_init_buffer_type {2107 BIN_BUF_INIT_FW_VER_INFO,2108 BIN_BUF_INIT_CMD,2109 BIN_BUF_INIT_VAL,2110 BIN_BUF_INIT_MODE_TREE,2111 BIN_BUF_INIT_IRO,2112 BIN_BUF_INIT_OVERLAYS,2113 MAX_BIN_INIT_BUFFER_TYPE2114};2115 2116/* FW overlay buffer header */2117struct fw_overlay_buf_hdr {2118 u32 data;2119#define FW_OVERLAY_BUF_HDR_STORM_ID_MASK 0xFF2120#define FW_OVERLAY_BUF_HDR_STORM_ID_SHIFT 02121#define FW_OVERLAY_BUF_HDR_BUF_SIZE_MASK 0xFFFFFF2122#define FW_OVERLAY_BUF_HDR_BUF_SIZE_SHIFT 82123};2124 2125/* init array header: raw */2126struct init_array_raw_hdr {2127 __le32 data;2128#define INIT_ARRAY_RAW_HDR_TYPE_MASK 0xF2129#define INIT_ARRAY_RAW_HDR_TYPE_SHIFT 02130#define INIT_ARRAY_RAW_HDR_PARAMS_MASK 0xFFFFFFF2131#define INIT_ARRAY_RAW_HDR_PARAMS_SHIFT 42132};2133 2134/* init array header: standard */2135struct init_array_standard_hdr {2136 __le32 data;2137#define INIT_ARRAY_STANDARD_HDR_TYPE_MASK 0xF2138#define INIT_ARRAY_STANDARD_HDR_TYPE_SHIFT 02139#define INIT_ARRAY_STANDARD_HDR_SIZE_MASK 0xFFFFFFF2140#define INIT_ARRAY_STANDARD_HDR_SIZE_SHIFT 42141};2142 2143/* init array header: zipped */2144struct init_array_zipped_hdr {2145 __le32 data;2146#define INIT_ARRAY_ZIPPED_HDR_TYPE_MASK 0xF2147#define INIT_ARRAY_ZIPPED_HDR_TYPE_SHIFT 02148#define INIT_ARRAY_ZIPPED_HDR_ZIPPED_SIZE_MASK 0xFFFFFFF2149#define INIT_ARRAY_ZIPPED_HDR_ZIPPED_SIZE_SHIFT 42150};2151 2152/* init array header: pattern */2153struct init_array_pattern_hdr {2154 __le32 data;2155#define INIT_ARRAY_PATTERN_HDR_TYPE_MASK 0xF2156#define INIT_ARRAY_PATTERN_HDR_TYPE_SHIFT 02157#define INIT_ARRAY_PATTERN_HDR_PATTERN_SIZE_MASK 0xF2158#define INIT_ARRAY_PATTERN_HDR_PATTERN_SIZE_SHIFT 42159#define INIT_ARRAY_PATTERN_HDR_REPETITIONS_MASK 0xFFFFFF2160#define INIT_ARRAY_PATTERN_HDR_REPETITIONS_SHIFT 82161};2162 2163/* init array header union */2164union init_array_hdr {2165 struct init_array_raw_hdr raw;2166 struct init_array_standard_hdr standard;2167 struct init_array_zipped_hdr zipped;2168 struct init_array_pattern_hdr pattern;2169};2170 2171/* init array types */2172enum init_array_types {2173 INIT_ARR_STANDARD,2174 INIT_ARR_ZIPPED,2175 INIT_ARR_PATTERN,2176 MAX_INIT_ARRAY_TYPES2177};2178 2179/* init operation: callback */2180struct init_callback_op {2181 __le32 op_data;2182#define INIT_CALLBACK_OP_OP_MASK 0xF2183#define INIT_CALLBACK_OP_OP_SHIFT 02184#define INIT_CALLBACK_OP_RESERVED_MASK 0xFFFFFFF2185#define INIT_CALLBACK_OP_RESERVED_SHIFT 42186 __le16 callback_id;2187 __le16 block_id;2188};2189 2190/* init operation: delay */2191struct init_delay_op {2192 __le32 op_data;2193#define INIT_DELAY_OP_OP_MASK 0xF2194#define INIT_DELAY_OP_OP_SHIFT 02195#define INIT_DELAY_OP_RESERVED_MASK 0xFFFFFFF2196#define INIT_DELAY_OP_RESERVED_SHIFT 42197 __le32 delay;2198};2199 2200/* init operation: if_mode */2201struct init_if_mode_op {2202 __le32 op_data;2203#define INIT_IF_MODE_OP_OP_MASK 0xF2204#define INIT_IF_MODE_OP_OP_SHIFT 02205#define INIT_IF_MODE_OP_RESERVED1_MASK 0xFFF2206#define INIT_IF_MODE_OP_RESERVED1_SHIFT 42207#define INIT_IF_MODE_OP_CMD_OFFSET_MASK 0xFFFF2208#define INIT_IF_MODE_OP_CMD_OFFSET_SHIFT 162209 __le16 reserved2;2210 __le16 modes_buf_offset;2211};2212 2213/* init operation: if_phase */2214struct init_if_phase_op {2215 __le32 op_data;2216#define INIT_IF_PHASE_OP_OP_MASK 0xF2217#define INIT_IF_PHASE_OP_OP_SHIFT 02218#define INIT_IF_PHASE_OP_RESERVED1_MASK 0xFFF2219#define INIT_IF_PHASE_OP_RESERVED1_SHIFT 42220#define INIT_IF_PHASE_OP_CMD_OFFSET_MASK 0xFFFF2221#define INIT_IF_PHASE_OP_CMD_OFFSET_SHIFT 162222 __le32 phase_data;2223#define INIT_IF_PHASE_OP_PHASE_MASK 0xFF2224#define INIT_IF_PHASE_OP_PHASE_SHIFT 02225#define INIT_IF_PHASE_OP_RESERVED2_MASK 0xFF2226#define INIT_IF_PHASE_OP_RESERVED2_SHIFT 82227#define INIT_IF_PHASE_OP_PHASE_ID_MASK 0xFFFF2228#define INIT_IF_PHASE_OP_PHASE_ID_SHIFT 162229};2230 2231/* init mode operators */2232enum init_mode_ops {2233 INIT_MODE_OP_NOT,2234 INIT_MODE_OP_OR,2235 INIT_MODE_OP_AND,2236 MAX_INIT_MODE_OPS2237};2238 2239/* init operation: raw */2240struct init_raw_op {2241 __le32 op_data;2242#define INIT_RAW_OP_OP_MASK 0xF2243#define INIT_RAW_OP_OP_SHIFT 02244#define INIT_RAW_OP_PARAM1_MASK 0xFFFFFFF2245#define INIT_RAW_OP_PARAM1_SHIFT 42246 __le32 param2;2247};2248 2249/* init array params */2250struct init_op_array_params {2251 __le16 size;2252 __le16 offset;2253};2254 2255/* Write init operation arguments */2256union init_write_args {2257 __le32 inline_val;2258 __le32 zeros_count;2259 __le32 array_offset;2260 struct init_op_array_params runtime;2261};2262 2263/* init operation: write */2264struct init_write_op {2265 __le32 data;2266#define INIT_WRITE_OP_OP_MASK 0xF2267#define INIT_WRITE_OP_OP_SHIFT 02268#define INIT_WRITE_OP_SOURCE_MASK 0x72269#define INIT_WRITE_OP_SOURCE_SHIFT 42270#define INIT_WRITE_OP_RESERVED_MASK 0x12271#define INIT_WRITE_OP_RESERVED_SHIFT 72272#define INIT_WRITE_OP_WIDE_BUS_MASK 0x12273#define INIT_WRITE_OP_WIDE_BUS_SHIFT 82274#define INIT_WRITE_OP_ADDRESS_MASK 0x7FFFFF2275#define INIT_WRITE_OP_ADDRESS_SHIFT 92276 union init_write_args args;2277};2278 2279/* init operation: read */2280struct init_read_op {2281 __le32 op_data;2282#define INIT_READ_OP_OP_MASK 0xF2283#define INIT_READ_OP_OP_SHIFT 02284#define INIT_READ_OP_POLL_TYPE_MASK 0xF2285#define INIT_READ_OP_POLL_TYPE_SHIFT 42286#define INIT_READ_OP_RESERVED_MASK 0x12287#define INIT_READ_OP_RESERVED_SHIFT 82288#define INIT_READ_OP_ADDRESS_MASK 0x7FFFFF2289#define INIT_READ_OP_ADDRESS_SHIFT 92290 __le32 expected_val;2291};2292 2293/* Init operations union */2294union init_op {2295 struct init_raw_op raw;2296 struct init_write_op write;2297 struct init_read_op read;2298 struct init_if_mode_op if_mode;2299 struct init_if_phase_op if_phase;2300 struct init_callback_op callback;2301 struct init_delay_op delay;2302};2303 2304/* Init command operation types */2305enum init_op_types {2306 INIT_OP_READ,2307 INIT_OP_WRITE,2308 INIT_OP_IF_MODE,2309 INIT_OP_IF_PHASE,2310 INIT_OP_DELAY,2311 INIT_OP_CALLBACK,2312 MAX_INIT_OP_TYPES2313};2314 2315/* init polling types */2316enum init_poll_types {2317 INIT_POLL_NONE,2318 INIT_POLL_EQ,2319 INIT_POLL_OR,2320 INIT_POLL_AND,2321 MAX_INIT_POLL_TYPES2322};2323 2324/* init source types */2325enum init_source_types {2326 INIT_SRC_INLINE,2327 INIT_SRC_ZEROS,2328 INIT_SRC_ARRAY,2329 INIT_SRC_RUNTIME,2330 MAX_INIT_SOURCE_TYPES2331};2332 2333/* Internal RAM Offsets macro data */2334struct iro {2335 u32 base;2336 u16 m1;2337 u16 m2;2338 u16 m3;2339 u16 size;2340};2341 2342/* Win 2 */2343#define GTT_BAR0_MAP_REG_IGU_CMD 0x00f000UL2344 2345/* Win 3 */2346#define GTT_BAR0_MAP_REG_TSDM_RAM 0x010000UL2347 2348/* Win 4 */2349#define GTT_BAR0_MAP_REG_MSDM_RAM 0x011000UL2350 2351/* Win 5 */2352#define GTT_BAR0_MAP_REG_MSDM_RAM_1024 0x012000UL2353 2354/* Win 6 */2355#define GTT_BAR0_MAP_REG_MSDM_RAM_2048 0x013000UL2356 2357/* Win 7 */2358#define GTT_BAR0_MAP_REG_USDM_RAM 0x014000UL2359 2360/* Win 8 */2361#define GTT_BAR0_MAP_REG_USDM_RAM_1024 0x015000UL2362 2363/* Win 9 */2364#define GTT_BAR0_MAP_REG_USDM_RAM_2048 0x016000UL2365 2366/* Win 10 */2367#define GTT_BAR0_MAP_REG_XSDM_RAM 0x017000UL2368 2369/* Win 11 */2370#define GTT_BAR0_MAP_REG_XSDM_RAM_1024 0x018000UL2371 2372/* Win 12 */2373#define GTT_BAR0_MAP_REG_YSDM_RAM 0x019000UL2374 2375/* Win 13 */2376#define GTT_BAR0_MAP_REG_PSDM_RAM 0x01a000UL2377 2378/* Returns the VOQ based on port and TC */2379#define VOQ(port, tc, max_phys_tcs_per_port) ((tc) == \2380 PURE_LB_TC ? NUM_OF_PHYS_TCS *\2381 MAX_NUM_PORTS_BB + \2382 (port) : (port) * \2383 (max_phys_tcs_per_port) + (tc))2384 2385struct init_qm_pq_params;2386 2387/**2388 * qed_qm_pf_mem_size(): Prepare QM ILT sizes.2389 *2390 * @num_pf_cids: Number of connections used by this PF.2391 * @num_vf_cids: Number of connections used by VFs of this PF.2392 * @num_tids: Number of tasks used by this PF.2393 * @num_pf_pqs: Number of PQs used by this PF.2394 * @num_vf_pqs: Number of PQs used by VFs of this PF.2395 *2396 * Return: The required host memory size in 4KB units.2397 *2398 * Returns the required host memory size in 4KB units.2399 * Must be called before all QM init HSI functions.2400 */2401u32 qed_qm_pf_mem_size(u32 num_pf_cids,2402 u32 num_vf_cids,2403 u32 num_tids, u16 num_pf_pqs, u16 num_vf_pqs);2404 2405struct qed_qm_common_rt_init_params {2406 u8 max_ports_per_engine;2407 u8 max_phys_tcs_per_port;2408 bool pf_rl_en;2409 bool pf_wfq_en;2410 bool global_rl_en;2411 bool vport_wfq_en;2412 struct init_qm_port_params *port_params;2413 struct init_qm_global_rl_params2414 global_rl_params[COMMON_MAX_QM_GLOBAL_RLS];2415};2416 2417/**2418 * qed_qm_common_rt_init(): Prepare QM runtime init values for the2419 * engine phase.2420 *2421 * @p_hwfn: HW device data.2422 * @p_params: Parameters.2423 *2424 * Return: 0 on success, -1 on error.2425 */2426int qed_qm_common_rt_init(struct qed_hwfn *p_hwfn,2427 struct qed_qm_common_rt_init_params *p_params);2428 2429struct qed_qm_pf_rt_init_params {2430 u8 port_id;2431 u8 pf_id;2432 u8 max_phys_tcs_per_port;2433 bool is_pf_loading;2434 u32 num_pf_cids;2435 u32 num_vf_cids;2436 u32 num_tids;2437 u16 start_pq;2438 u16 num_pf_pqs;2439 u16 num_vf_pqs;2440 u16 start_vport;2441 u16 num_vports;2442 u16 start_rl;2443 u16 num_rls;2444 u16 pf_wfq;2445 u32 pf_rl;2446 u32 link_speed;2447 struct init_qm_pq_params *pq_params;2448 struct init_qm_vport_params *vport_params;2449 struct init_qm_rl_params *rl_params;2450};2451 2452/**2453 * qed_qm_pf_rt_init(): Prepare QM runtime init values for the PF phase.2454 *2455 * @p_hwfn: HW device data.2456 * @p_ptt: Ptt window used for writing the registers2457 * @p_params: Parameters.2458 *2459 * Return: 0 on success, -1 on error.2460 */2461int qed_qm_pf_rt_init(struct qed_hwfn *p_hwfn,2462 struct qed_ptt *p_ptt,2463 struct qed_qm_pf_rt_init_params *p_params);2464 2465/**2466 * qed_init_pf_wfq(): Initializes the WFQ weight of the specified PF.2467 *2468 * @p_hwfn: HW device data.2469 * @p_ptt: Ptt window used for writing the registers2470 * @pf_id: PF ID2471 * @pf_wfq: WFQ weight. Must be non-zero.2472 *2473 * Return: 0 on success, -1 on error.2474 */2475int qed_init_pf_wfq(struct qed_hwfn *p_hwfn,2476 struct qed_ptt *p_ptt, u8 pf_id, u16 pf_wfq);2477 2478/**2479 * qed_init_pf_rl(): Initializes the rate limit of the specified PF2480 *2481 * @p_hwfn: HW device data.2482 * @p_ptt: Ptt window used for writing the registers.2483 * @pf_id: PF ID.2484 * @pf_rl: rate limit in Mb/sec units2485 *2486 * Return: 0 on success, -1 on error.2487 */2488int qed_init_pf_rl(struct qed_hwfn *p_hwfn,2489 struct qed_ptt *p_ptt, u8 pf_id, u32 pf_rl);2490 2491/**2492 * qed_init_vport_wfq(): Initializes the WFQ weight of the specified VPORT2493 *2494 * @p_hwfn: HW device data.2495 * @p_ptt: Ptt window used for writing the registers2496 * @first_tx_pq_id: An array containing the first Tx PQ ID associated2497 * with the VPORT for each TC. This array is filled by2498 * qed_qm_pf_rt_init2499 * @wfq: WFQ weight. Must be non-zero.2500 *2501 * Return: 0 on success, -1 on error.2502 */2503int qed_init_vport_wfq(struct qed_hwfn *p_hwfn,2504 struct qed_ptt *p_ptt,2505 u16 first_tx_pq_id[NUM_OF_TCS], u16 wfq);2506 2507/**2508 * qed_init_vport_tc_wfq(): Initializes the WFQ weight of the specified2509 * VPORT and TC.2510 *2511 * @p_hwfn: HW device data.2512 * @p_ptt: Ptt window used for writing the registers.2513 * @first_tx_pq_id: The first Tx PQ ID associated with the VPORT and TC.2514 * (filled by qed_qm_pf_rt_init).2515 * @weight: VPORT+TC WFQ weight.2516 *2517 * Return: 0 on success, -1 on error.2518 */2519int qed_init_vport_tc_wfq(struct qed_hwfn *p_hwfn,2520 struct qed_ptt *p_ptt,2521 u16 first_tx_pq_id, u16 weight);2522 2523/**2524 * qed_init_global_rl(): Initializes the rate limit of the specified2525 * rate limiter.2526 *2527 * @p_hwfn: HW device data.2528 * @p_ptt: Ptt window used for writing the registers.2529 * @rl_id: RL ID.2530 * @rate_limit: Rate limit in Mb/sec units2531 * @vport_rl_type: Vport RL type.2532 *2533 * Return: 0 on success, -1 on error.2534 */2535int qed_init_global_rl(struct qed_hwfn *p_hwfn,2536 struct qed_ptt *p_ptt,2537 u16 rl_id, u32 rate_limit,2538 enum init_qm_rl_type vport_rl_type);2539 2540/**2541 * qed_send_qm_stop_cmd(): Sends a stop command to the QM.2542 *2543 * @p_hwfn: HW device data.2544 * @p_ptt: Ptt window used for writing the registers.2545 * @is_release_cmd: true for release, false for stop.2546 * @is_tx_pq: true for Tx PQs, false for Other PQs.2547 * @start_pq: first PQ ID to stop2548 * @num_pqs: Number of PQs to stop, starting from start_pq.2549 *2550 * Return: Bool, true if successful, false if timeout occurred while waiting2551 * for QM command done.2552 */2553bool qed_send_qm_stop_cmd(struct qed_hwfn *p_hwfn,2554 struct qed_ptt *p_ptt,2555 bool is_release_cmd,2556 bool is_tx_pq, u16 start_pq, u16 num_pqs);2557 2558/**2559 * qed_set_vxlan_dest_port(): Initializes vxlan tunnel destination udp port.2560 *2561 * @p_hwfn: HW device data.2562 * @p_ptt: Ptt window used for writing the registers.2563 * @dest_port: vxlan destination udp port.2564 *2565 * Return: Void.2566 */2567void qed_set_vxlan_dest_port(struct qed_hwfn *p_hwfn,2568 struct qed_ptt *p_ptt, u16 dest_port);2569 2570/**2571 * qed_set_vxlan_enable(): Enable or disable VXLAN tunnel in HW.2572 *2573 * @p_hwfn: HW device data.2574 * @p_ptt: Ptt window used for writing the registers.2575 * @vxlan_enable: vxlan enable flag.2576 *2577 * Return: Void.2578 */2579void qed_set_vxlan_enable(struct qed_hwfn *p_hwfn,2580 struct qed_ptt *p_ptt, bool vxlan_enable);2581 2582/**2583 * qed_set_gre_enable(): Enable or disable GRE tunnel in HW.2584 *2585 * @p_hwfn: HW device data.2586 * @p_ptt: Ptt window used for writing the registers.2587 * @eth_gre_enable: Eth GRE enable flag.2588 * @ip_gre_enable: IP GRE enable flag.2589 *2590 * Return: Void.2591 */2592void qed_set_gre_enable(struct qed_hwfn *p_hwfn,2593 struct qed_ptt *p_ptt,2594 bool eth_gre_enable, bool ip_gre_enable);2595 2596/**2597 * qed_set_geneve_dest_port(): Initializes geneve tunnel destination udp port2598 *2599 * @p_hwfn: HW device data.2600 * @p_ptt: Ptt window used for writing the registers.2601 * @dest_port: Geneve destination udp port.2602 *2603 * Retur: Void.2604 */2605void qed_set_geneve_dest_port(struct qed_hwfn *p_hwfn,2606 struct qed_ptt *p_ptt, u16 dest_port);2607 2608/**2609 * qed_set_geneve_enable(): Enable or disable GRE tunnel in HW.2610 *2611 * @p_hwfn: HW device data.2612 * @p_ptt: Ptt window used for writing the registers.2613 * @eth_geneve_enable: Eth GENEVE enable flag.2614 * @ip_geneve_enable: IP GENEVE enable flag.2615 *2616 * Return: Void.2617 */2618void qed_set_geneve_enable(struct qed_hwfn *p_hwfn,2619 struct qed_ptt *p_ptt,2620 bool eth_geneve_enable, bool ip_geneve_enable);2621 2622void qed_set_vxlan_no_l2_enable(struct qed_hwfn *p_hwfn,2623 struct qed_ptt *p_ptt, bool enable);2624 2625/**2626 * qed_gft_disable(): Disable GFT.2627 *2628 * @p_hwfn: HW device data.2629 * @p_ptt: Ptt window used for writing the registers.2630 * @pf_id: PF on which to disable GFT.2631 *2632 * Return: Void.2633 */2634void qed_gft_disable(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, u16 pf_id);2635 2636/**2637 * qed_gft_config(): Enable and configure HW for GFT.2638 *2639 * @p_hwfn: HW device data.2640 * @p_ptt: Ptt window used for writing the registers.2641 * @pf_id: PF on which to enable GFT.2642 * @tcp: Set profile tcp packets.2643 * @udp: Set profile udp packet.2644 * @ipv4: Set profile ipv4 packet.2645 * @ipv6: Set profile ipv6 packet.2646 * @profile_type: Define packet same fields. Use enum gft_profile_type.2647 *2648 * Return: Void.2649 */2650void qed_gft_config(struct qed_hwfn *p_hwfn,2651 struct qed_ptt *p_ptt,2652 u16 pf_id,2653 bool tcp,2654 bool udp,2655 bool ipv4, bool ipv6, enum gft_profile_type profile_type);2656 2657/**2658 * qed_enable_context_validation(): Enable and configure context2659 * validation.2660 *2661 * @p_hwfn: HW device data.2662 * @p_ptt: Ptt window used for writing the registers.2663 *2664 * Return: Void.2665 */2666void qed_enable_context_validation(struct qed_hwfn *p_hwfn,2667 struct qed_ptt *p_ptt);2668 2669/**2670 * qed_calc_session_ctx_validation(): Calcualte validation byte for2671 * session context.2672 *2673 * @p_ctx_mem: Pointer to context memory.2674 * @ctx_size: Context size.2675 * @ctx_type: Context type.2676 * @cid: Context cid.2677 *2678 * Return: Void.2679 */2680void qed_calc_session_ctx_validation(void *p_ctx_mem,2681 u16 ctx_size, u8 ctx_type, u32 cid);2682 2683/**2684 * qed_calc_task_ctx_validation(): Calcualte validation byte for task2685 * context.2686 *2687 * @p_ctx_mem: Pointer to context memory.2688 * @ctx_size: Context size.2689 * @ctx_type: Context type.2690 * @tid: Context tid.2691 *2692 * Return: Void.2693 */2694void qed_calc_task_ctx_validation(void *p_ctx_mem,2695 u16 ctx_size, u8 ctx_type, u32 tid);2696 2697/**2698 * qed_memset_session_ctx(): Memset session context to 0 while2699 * preserving validation bytes.2700 *2701 * @p_ctx_mem: Pointer to context memory.2702 * @ctx_size: Size to initialzie.2703 * @ctx_type: Context type.2704 *2705 * Return: Void.2706 */2707void qed_memset_session_ctx(void *p_ctx_mem, u32 ctx_size, u8 ctx_type);2708 2709/**2710 * qed_memset_task_ctx(): Memset task context to 0 while preserving2711 * validation bytes.2712 *2713 * @p_ctx_mem: Pointer to context memory.2714 * @ctx_size: size to initialzie.2715 * @ctx_type: context type.2716 *2717 * Return: Void.2718 */2719void qed_memset_task_ctx(void *p_ctx_mem, u32 ctx_size, u8 ctx_type);2720 2721#define NUM_STORMS 62722 2723/**2724 * qed_get_protocol_type_str(): Get a string for Protocol type.2725 *2726 * @protocol_type: Protocol type (using enum protocol_type).2727 *2728 * Return: String.2729 */2730const char *qed_get_protocol_type_str(u32 protocol_type);2731 2732/**2733 * qed_get_ramrod_cmd_id_str(): Get a string for Ramrod command ID.2734 *2735 * @protocol_type: Protocol type (using enum protocol_type).2736 * @ramrod_cmd_id: Ramrod command ID (using per-protocol enum <protocol>_ramrod_cmd_id).2737 *2738 * Return: String.2739 */2740const char *qed_get_ramrod_cmd_id_str(u32 protocol_type, u32 ramrod_cmd_id);2741 2742/**2743 * qed_set_rdma_error_level(): Sets the RDMA assert level.2744 * If the severity of the error will be2745 * above the level, the FW will assert.2746 * @p_hwfn: HW device data.2747 * @p_ptt: Ptt window used for writing the registers.2748 * @assert_level: An array of assert levels for each storm.2749 *2750 * Return: Void.2751 */2752void qed_set_rdma_error_level(struct qed_hwfn *p_hwfn,2753 struct qed_ptt *p_ptt,2754 u8 assert_level[NUM_STORMS]);2755/**2756 * qed_fw_overlay_mem_alloc(): Allocates and fills the FW overlay memory.2757 *2758 * @p_hwfn: HW device data.2759 * @fw_overlay_in_buf: The input FW overlay buffer.2760 * @buf_size_in_bytes: The size of the input FW overlay buffer in bytes.2761 * must be aligned to dwords.2762 *2763 * Return: A pointer to the allocated overlays memory,2764 * or NULL in case of failures.2765 */2766struct phys_mem_desc *2767qed_fw_overlay_mem_alloc(struct qed_hwfn *p_hwfn,2768 const u32 *const fw_overlay_in_buf,2769 u32 buf_size_in_bytes);2770 2771/**2772 * qed_fw_overlay_init_ram(): Initializes the FW overlay RAM.2773 *2774 * @p_hwfn: HW device data.2775 * @p_ptt: Ptt window used for writing the registers.2776 * @fw_overlay_mem: the allocated FW overlay memory.2777 *2778 * Return: Void.2779 */2780void qed_fw_overlay_init_ram(struct qed_hwfn *p_hwfn,2781 struct qed_ptt *p_ptt,2782 struct phys_mem_desc *fw_overlay_mem);2783 2784/**2785 * qed_fw_overlay_mem_free(): Frees the FW overlay memory.2786 *2787 * @p_hwfn: HW device data.2788 * @fw_overlay_mem: The allocated FW overlay memory to free.2789 *2790 * Return: Void.2791 */2792void qed_fw_overlay_mem_free(struct qed_hwfn *p_hwfn,2793 struct phys_mem_desc **fw_overlay_mem);2794 2795#define PCICFG_OFFSET 0x20002796#define GRC_CONFIG_REG_PF_INIT_VF 0x6242797 2798/* First VF_NUM for PF is encoded in this register.2799 * The number of VFs assigned to a PF is assumed to be a multiple of 8.2800 * Software should program these bits based on Total Number of VFs programmed2801 * for each PF.2802 * Since registers from 0x000-0x7ff are spilt across functions, each PF will2803 * have the same location for the same 4 bits2804 */2805#define GRC_CR_PF_INIT_VF_PF_FIRST_VF_NUM_MASK 0xff2806 2807/* Runtime array offsets */2808#define DORQ_REG_PF_MAX_ICID_0_RT_OFFSET 02809#define DORQ_REG_PF_MAX_ICID_1_RT_OFFSET 12810#define DORQ_REG_PF_MAX_ICID_2_RT_OFFSET 22811#define DORQ_REG_PF_MAX_ICID_3_RT_OFFSET 32812#define DORQ_REG_PF_MAX_ICID_4_RT_OFFSET 42813#define DORQ_REG_PF_MAX_ICID_5_RT_OFFSET 52814#define DORQ_REG_PF_MAX_ICID_6_RT_OFFSET 62815#define DORQ_REG_PF_MAX_ICID_7_RT_OFFSET 72816#define DORQ_REG_VF_MAX_ICID_0_RT_OFFSET 82817#define DORQ_REG_VF_MAX_ICID_1_RT_OFFSET 92818#define DORQ_REG_VF_MAX_ICID_2_RT_OFFSET 102819#define DORQ_REG_VF_MAX_ICID_3_RT_OFFSET 112820#define DORQ_REG_VF_MAX_ICID_4_RT_OFFSET 122821#define DORQ_REG_VF_MAX_ICID_5_RT_OFFSET 132822#define DORQ_REG_VF_MAX_ICID_6_RT_OFFSET 142823#define DORQ_REG_VF_MAX_ICID_7_RT_OFFSET 152824#define DORQ_REG_VF_ICID_BIT_SHIFT_NORM_RT_OFFSET 162825#define DORQ_REG_PF_WAKE_ALL_RT_OFFSET 172826#define DORQ_REG_TAG1_ETHERTYPE_RT_OFFSET 182827#define IGU_REG_PF_CONFIGURATION_RT_OFFSET 192828#define IGU_REG_VF_CONFIGURATION_RT_OFFSET 202829#define IGU_REG_ATTN_MSG_ADDR_L_RT_OFFSET 212830#define IGU_REG_ATTN_MSG_ADDR_H_RT_OFFSET 222831#define IGU_REG_LEADING_EDGE_LATCH_RT_OFFSET 232832#define IGU_REG_TRAILING_EDGE_LATCH_RT_OFFSET 242833#define CAU_REG_CQE_AGG_UNIT_SIZE_RT_OFFSET 252834#define CAU_REG_SB_VAR_MEMORY_RT_OFFSET 262835#define CAU_REG_SB_VAR_MEMORY_RT_SIZE 7362836#define CAU_REG_SB_ADDR_MEMORY_RT_OFFSET 7622837#define CAU_REG_SB_ADDR_MEMORY_RT_SIZE 7362838#define CAU_REG_PI_MEMORY_RT_OFFSET 14982839#define CAU_REG_PI_MEMORY_RT_SIZE 44162840#define PRS_REG_SEARCH_RESP_INITIATOR_TYPE_RT_OFFSET 59142841#define PRS_REG_TASK_ID_MAX_INITIATOR_PF_RT_OFFSET 59152842#define PRS_REG_TASK_ID_MAX_INITIATOR_VF_RT_OFFSET 59162843#define PRS_REG_TASK_ID_MAX_TARGET_PF_RT_OFFSET 59172844#define PRS_REG_TASK_ID_MAX_TARGET_VF_RT_OFFSET 59182845#define PRS_REG_SEARCH_TCP_RT_OFFSET 59192846#define PRS_REG_SEARCH_FCOE_RT_OFFSET 59202847#define PRS_REG_SEARCH_ROCE_RT_OFFSET 59212848#define PRS_REG_ROCE_DEST_QP_MAX_VF_RT_OFFSET 59222849#define PRS_REG_ROCE_DEST_QP_MAX_PF_RT_OFFSET 59232850#define PRS_REG_SEARCH_OPENFLOW_RT_OFFSET 59242851#define PRS_REG_SEARCH_NON_IP_AS_OPENFLOW_RT_OFFSET 59252852#define PRS_REG_OPENFLOW_SUPPORT_ONLY_KNOWN_OVER_IP_RT_OFFSET 59262853#define PRS_REG_OPENFLOW_SEARCH_KEY_MASK_RT_OFFSET 59272854#define PRS_REG_TAG_ETHERTYPE_0_RT_OFFSET 59282855#define PRS_REG_LIGHT_L2_ETHERTYPE_EN_RT_OFFSET 59292856#define SRC_REG_FIRSTFREE_RT_OFFSET 59302857#define SRC_REG_FIRSTFREE_RT_SIZE 22858#define SRC_REG_LASTFREE_RT_OFFSET 59322859#define SRC_REG_LASTFREE_RT_SIZE 22860#define SRC_REG_COUNTFREE_RT_OFFSET 59342861#define SRC_REG_NUMBER_HASH_BITS_RT_OFFSET 59352862#define PSWRQ2_REG_CDUT_P_SIZE_RT_OFFSET 59362863#define PSWRQ2_REG_CDUC_P_SIZE_RT_OFFSET 59372864#define PSWRQ2_REG_TM_P_SIZE_RT_OFFSET 59382865#define PSWRQ2_REG_QM_P_SIZE_RT_OFFSET 59392866#define PSWRQ2_REG_SRC_P_SIZE_RT_OFFSET 59402867#define PSWRQ2_REG_TSDM_P_SIZE_RT_OFFSET 59412868#define PSWRQ2_REG_TM_FIRST_ILT_RT_OFFSET 59422869#define PSWRQ2_REG_TM_LAST_ILT_RT_OFFSET 59432870#define PSWRQ2_REG_QM_FIRST_ILT_RT_OFFSET 59442871#define PSWRQ2_REG_QM_LAST_ILT_RT_OFFSET 59452872#define PSWRQ2_REG_SRC_FIRST_ILT_RT_OFFSET 59462873#define PSWRQ2_REG_SRC_LAST_ILT_RT_OFFSET 59472874#define PSWRQ2_REG_CDUC_FIRST_ILT_RT_OFFSET 59482875#define PSWRQ2_REG_CDUC_LAST_ILT_RT_OFFSET 59492876#define PSWRQ2_REG_CDUT_FIRST_ILT_RT_OFFSET 59502877#define PSWRQ2_REG_CDUT_LAST_ILT_RT_OFFSET 59512878#define PSWRQ2_REG_TSDM_FIRST_ILT_RT_OFFSET 59522879#define PSWRQ2_REG_TSDM_LAST_ILT_RT_OFFSET 59532880#define PSWRQ2_REG_TM_NUMBER_OF_PF_BLOCKS_RT_OFFSET 59542881#define PSWRQ2_REG_CDUT_NUMBER_OF_PF_BLOCKS_RT_OFFSET 59552882#define PSWRQ2_REG_CDUC_NUMBER_OF_PF_BLOCKS_RT_OFFSET 59562883#define PSWRQ2_REG_TM_VF_BLOCKS_RT_OFFSET 59572884#define PSWRQ2_REG_CDUT_VF_BLOCKS_RT_OFFSET 59582885#define PSWRQ2_REG_CDUC_VF_BLOCKS_RT_OFFSET 59592886#define PSWRQ2_REG_TM_BLOCKS_FACTOR_RT_OFFSET 59602887#define PSWRQ2_REG_CDUT_BLOCKS_FACTOR_RT_OFFSET 59612888#define PSWRQ2_REG_CDUC_BLOCKS_FACTOR_RT_OFFSET 59622889#define PSWRQ2_REG_VF_BASE_RT_OFFSET 59632890#define PSWRQ2_REG_VF_LAST_ILT_RT_OFFSET 59642891#define PSWRQ2_REG_DRAM_ALIGN_WR_RT_OFFSET 59652892#define PSWRQ2_REG_DRAM_ALIGN_RD_RT_OFFSET 59662893#define PSWRQ2_REG_ILT_MEMORY_RT_OFFSET 59672894#define PSWRQ2_REG_ILT_MEMORY_RT_SIZE 220002895#define PGLUE_REG_B_VF_BASE_RT_OFFSET 279672896#define PGLUE_REG_B_MSDM_OFFSET_MASK_B_RT_OFFSET 279682897#define PGLUE_REG_B_MSDM_VF_SHIFT_B_RT_OFFSET 279692898#define PGLUE_REG_B_CACHE_LINE_SIZE_RT_OFFSET 279702899#define PGLUE_REG_B_PF_BAR0_SIZE_RT_OFFSET 279712900#define PGLUE_REG_B_PF_BAR1_SIZE_RT_OFFSET 279722901#define PGLUE_REG_B_VF_BAR1_SIZE_RT_OFFSET 279732902#define TM_REG_VF_ENABLE_CONN_RT_OFFSET 279742903#define TM_REG_PF_ENABLE_CONN_RT_OFFSET 279752904#define TM_REG_PF_ENABLE_TASK_RT_OFFSET 279762905#define TM_REG_GROUP_SIZE_RESOLUTION_CONN_RT_OFFSET 279772906#define TM_REG_GROUP_SIZE_RESOLUTION_TASK_RT_OFFSET 279782907#define TM_REG_CONFIG_CONN_MEM_RT_OFFSET 279792908#define TM_REG_CONFIG_CONN_MEM_RT_SIZE 4162909#define TM_REG_CONFIG_TASK_MEM_RT_OFFSET 283952910#define TM_REG_CONFIG_TASK_MEM_RT_SIZE 5122911#define QM_REG_MAXPQSIZE_0_RT_OFFSET 289072912#define QM_REG_MAXPQSIZE_1_RT_OFFSET 289082913#define QM_REG_MAXPQSIZE_2_RT_OFFSET 289092914#define QM_REG_MAXPQSIZETXSEL_0_RT_OFFSET 289102915#define QM_REG_MAXPQSIZETXSEL_1_RT_OFFSET 289112916#define QM_REG_MAXPQSIZETXSEL_2_RT_OFFSET 289122917#define QM_REG_MAXPQSIZETXSEL_3_RT_OFFSET 289132918#define QM_REG_MAXPQSIZETXSEL_4_RT_OFFSET 289142919#define QM_REG_MAXPQSIZETXSEL_5_RT_OFFSET 289152920#define QM_REG_MAXPQSIZETXSEL_6_RT_OFFSET 289162921#define QM_REG_MAXPQSIZETXSEL_7_RT_OFFSET 289172922#define QM_REG_MAXPQSIZETXSEL_8_RT_OFFSET 289182923#define QM_REG_MAXPQSIZETXSEL_9_RT_OFFSET 289192924#define QM_REG_MAXPQSIZETXSEL_10_RT_OFFSET 289202925#define QM_REG_MAXPQSIZETXSEL_11_RT_OFFSET 289212926#define QM_REG_MAXPQSIZETXSEL_12_RT_OFFSET 289222927#define QM_REG_MAXPQSIZETXSEL_13_RT_OFFSET 289232928#define QM_REG_MAXPQSIZETXSEL_14_RT_OFFSET 289242929#define QM_REG_MAXPQSIZETXSEL_15_RT_OFFSET 289252930#define QM_REG_MAXPQSIZETXSEL_16_RT_OFFSET 289262931#define QM_REG_MAXPQSIZETXSEL_17_RT_OFFSET 289272932#define QM_REG_MAXPQSIZETXSEL_18_RT_OFFSET 289282933#define QM_REG_MAXPQSIZETXSEL_19_RT_OFFSET 289292934#define QM_REG_MAXPQSIZETXSEL_20_RT_OFFSET 289302935#define QM_REG_MAXPQSIZETXSEL_21_RT_OFFSET 289312936#define QM_REG_MAXPQSIZETXSEL_22_RT_OFFSET 289322937#define QM_REG_MAXPQSIZETXSEL_23_RT_OFFSET 289332938#define QM_REG_MAXPQSIZETXSEL_24_RT_OFFSET 289342939#define QM_REG_MAXPQSIZETXSEL_25_RT_OFFSET 289352940#define QM_REG_MAXPQSIZETXSEL_26_RT_OFFSET 289362941#define QM_REG_MAXPQSIZETXSEL_27_RT_OFFSET 289372942#define QM_REG_MAXPQSIZETXSEL_28_RT_OFFSET 289382943#define QM_REG_MAXPQSIZETXSEL_29_RT_OFFSET 289392944#define QM_REG_MAXPQSIZETXSEL_30_RT_OFFSET 289402945#define QM_REG_MAXPQSIZETXSEL_31_RT_OFFSET 289412946#define QM_REG_MAXPQSIZETXSEL_32_RT_OFFSET 289422947#define QM_REG_MAXPQSIZETXSEL_33_RT_OFFSET 289432948#define QM_REG_MAXPQSIZETXSEL_34_RT_OFFSET 289442949#define QM_REG_MAXPQSIZETXSEL_35_RT_OFFSET 289452950#define QM_REG_MAXPQSIZETXSEL_36_RT_OFFSET 289462951#define QM_REG_MAXPQSIZETXSEL_37_RT_OFFSET 289472952#define QM_REG_MAXPQSIZETXSEL_38_RT_OFFSET 289482953#define QM_REG_MAXPQSIZETXSEL_39_RT_OFFSET 289492954#define QM_REG_MAXPQSIZETXSEL_40_RT_OFFSET 289502955#define QM_REG_MAXPQSIZETXSEL_41_RT_OFFSET 289512956#define QM_REG_MAXPQSIZETXSEL_42_RT_OFFSET 289522957#define QM_REG_MAXPQSIZETXSEL_43_RT_OFFSET 289532958#define QM_REG_MAXPQSIZETXSEL_44_RT_OFFSET 289542959#define QM_REG_MAXPQSIZETXSEL_45_RT_OFFSET 289552960#define QM_REG_MAXPQSIZETXSEL_46_RT_OFFSET 289562961#define QM_REG_MAXPQSIZETXSEL_47_RT_OFFSET 289572962#define QM_REG_MAXPQSIZETXSEL_48_RT_OFFSET 289582963#define QM_REG_MAXPQSIZETXSEL_49_RT_OFFSET 289592964#define QM_REG_MAXPQSIZETXSEL_50_RT_OFFSET 289602965#define QM_REG_MAXPQSIZETXSEL_51_RT_OFFSET 289612966#define QM_REG_MAXPQSIZETXSEL_52_RT_OFFSET 289622967#define QM_REG_MAXPQSIZETXSEL_53_RT_OFFSET 289632968#define QM_REG_MAXPQSIZETXSEL_54_RT_OFFSET 289642969#define QM_REG_MAXPQSIZETXSEL_55_RT_OFFSET 289652970#define QM_REG_MAXPQSIZETXSEL_56_RT_OFFSET 289662971#define QM_REG_MAXPQSIZETXSEL_57_RT_OFFSET 289672972#define QM_REG_MAXPQSIZETXSEL_58_RT_OFFSET 289682973#define QM_REG_MAXPQSIZETXSEL_59_RT_OFFSET 289692974#define QM_REG_MAXPQSIZETXSEL_60_RT_OFFSET 289702975#define QM_REG_MAXPQSIZETXSEL_61_RT_OFFSET 289712976#define QM_REG_MAXPQSIZETXSEL_62_RT_OFFSET 289722977#define QM_REG_MAXPQSIZETXSEL_63_RT_OFFSET 289732978#define QM_REG_BASEADDROTHERPQ_RT_OFFSET 289742979#define QM_REG_BASEADDROTHERPQ_RT_SIZE 1282980#define QM_REG_PTRTBLOTHER_RT_OFFSET 291022981#define QM_REG_PTRTBLOTHER_RT_SIZE 2562982#define QM_REG_VOQCRDLINE_RT_OFFSET 293582983#define QM_REG_VOQCRDLINE_RT_SIZE 202984#define QM_REG_VOQINITCRDLINE_RT_OFFSET 293782985#define QM_REG_VOQINITCRDLINE_RT_SIZE 202986#define QM_REG_AFULLQMBYPTHRPFWFQ_RT_OFFSET 293982987#define QM_REG_AFULLQMBYPTHRVPWFQ_RT_OFFSET 293992988#define QM_REG_AFULLQMBYPTHRPFRL_RT_OFFSET 294002989#define QM_REG_AFULLQMBYPTHRGLBLRL_RT_OFFSET 294012990#define QM_REG_AFULLOPRTNSTCCRDMASK_RT_OFFSET 294022991#define QM_REG_WRROTHERPQGRP_0_RT_OFFSET 294032992#define QM_REG_WRROTHERPQGRP_1_RT_OFFSET 294042993#define QM_REG_WRROTHERPQGRP_2_RT_OFFSET 294052994#define QM_REG_WRROTHERPQGRP_3_RT_OFFSET 294062995#define QM_REG_WRROTHERPQGRP_4_RT_OFFSET 294072996#define QM_REG_WRROTHERPQGRP_5_RT_OFFSET 294082997#define QM_REG_WRROTHERPQGRP_6_RT_OFFSET 294092998#define QM_REG_WRROTHERPQGRP_7_RT_OFFSET 294102999#define QM_REG_WRROTHERPQGRP_8_RT_OFFSET 294113000#define QM_REG_WRROTHERPQGRP_9_RT_OFFSET 294123001#define QM_REG_WRROTHERPQGRP_10_RT_OFFSET 294133002#define QM_REG_WRROTHERPQGRP_11_RT_OFFSET 294143003#define QM_REG_WRROTHERPQGRP_12_RT_OFFSET 294153004#define QM_REG_WRROTHERPQGRP_13_RT_OFFSET 294163005#define QM_REG_WRROTHERPQGRP_14_RT_OFFSET 294173006#define QM_REG_WRROTHERPQGRP_15_RT_OFFSET 294183007#define QM_REG_WRROTHERGRPWEIGHT_0_RT_OFFSET 294193008#define QM_REG_WRROTHERGRPWEIGHT_1_RT_OFFSET 294203009#define QM_REG_WRROTHERGRPWEIGHT_2_RT_OFFSET 294213010#define QM_REG_WRROTHERGRPWEIGHT_3_RT_OFFSET 294223011#define QM_REG_WRRTXGRPWEIGHT_0_RT_OFFSET 294233012#define QM_REG_WRRTXGRPWEIGHT_1_RT_OFFSET 294243013#define QM_REG_PQTX2PF_0_RT_OFFSET 294253014#define QM_REG_PQTX2PF_1_RT_OFFSET 294263015#define QM_REG_PQTX2PF_2_RT_OFFSET 294273016#define QM_REG_PQTX2PF_3_RT_OFFSET 294283017#define QM_REG_PQTX2PF_4_RT_OFFSET 294293018#define QM_REG_PQTX2PF_5_RT_OFFSET 294303019#define QM_REG_PQTX2PF_6_RT_OFFSET 294313020#define QM_REG_PQTX2PF_7_RT_OFFSET 294323021#define QM_REG_PQTX2PF_8_RT_OFFSET 294333022#define QM_REG_PQTX2PF_9_RT_OFFSET 294343023#define QM_REG_PQTX2PF_10_RT_OFFSET 294353024#define QM_REG_PQTX2PF_11_RT_OFFSET 294363025#define QM_REG_PQTX2PF_12_RT_OFFSET 294373026#define QM_REG_PQTX2PF_13_RT_OFFSET 294383027#define QM_REG_PQTX2PF_14_RT_OFFSET 294393028#define QM_REG_PQTX2PF_15_RT_OFFSET 294403029#define QM_REG_PQTX2PF_16_RT_OFFSET 294413030#define QM_REG_PQTX2PF_17_RT_OFFSET 294423031#define QM_REG_PQTX2PF_18_RT_OFFSET 294433032#define QM_REG_PQTX2PF_19_RT_OFFSET 294443033#define QM_REG_PQTX2PF_20_RT_OFFSET 294453034#define QM_REG_PQTX2PF_21_RT_OFFSET 294463035#define QM_REG_PQTX2PF_22_RT_OFFSET 294473036#define QM_REG_PQTX2PF_23_RT_OFFSET 294483037#define QM_REG_PQTX2PF_24_RT_OFFSET 294493038#define QM_REG_PQTX2PF_25_RT_OFFSET 294503039#define QM_REG_PQTX2PF_26_RT_OFFSET 294513040#define QM_REG_PQTX2PF_27_RT_OFFSET 294523041#define QM_REG_PQTX2PF_28_RT_OFFSET 294533042#define QM_REG_PQTX2PF_29_RT_OFFSET 294543043#define QM_REG_PQTX2PF_30_RT_OFFSET 294553044#define QM_REG_PQTX2PF_31_RT_OFFSET 294563045#define QM_REG_PQTX2PF_32_RT_OFFSET 294573046#define QM_REG_PQTX2PF_33_RT_OFFSET 294583047#define QM_REG_PQTX2PF_34_RT_OFFSET 294593048#define QM_REG_PQTX2PF_35_RT_OFFSET 294603049#define QM_REG_PQTX2PF_36_RT_OFFSET 294613050#define QM_REG_PQTX2PF_37_RT_OFFSET 294623051#define QM_REG_PQTX2PF_38_RT_OFFSET 294633052#define QM_REG_PQTX2PF_39_RT_OFFSET 294643053#define QM_REG_PQTX2PF_40_RT_OFFSET 294653054#define QM_REG_PQTX2PF_41_RT_OFFSET 294663055#define QM_REG_PQTX2PF_42_RT_OFFSET 294673056#define QM_REG_PQTX2PF_43_RT_OFFSET 294683057#define QM_REG_PQTX2PF_44_RT_OFFSET 294693058#define QM_REG_PQTX2PF_45_RT_OFFSET 294703059#define QM_REG_PQTX2PF_46_RT_OFFSET 294713060#define QM_REG_PQTX2PF_47_RT_OFFSET 294723061#define QM_REG_PQTX2PF_48_RT_OFFSET 294733062#define QM_REG_PQTX2PF_49_RT_OFFSET 294743063#define QM_REG_PQTX2PF_50_RT_OFFSET 294753064#define QM_REG_PQTX2PF_51_RT_OFFSET 294763065#define QM_REG_PQTX2PF_52_RT_OFFSET 294773066#define QM_REG_PQTX2PF_53_RT_OFFSET 294783067#define QM_REG_PQTX2PF_54_RT_OFFSET 294793068#define QM_REG_PQTX2PF_55_RT_OFFSET 294803069#define QM_REG_PQTX2PF_56_RT_OFFSET 294813070#define QM_REG_PQTX2PF_57_RT_OFFSET 294823071#define QM_REG_PQTX2PF_58_RT_OFFSET 294833072#define QM_REG_PQTX2PF_59_RT_OFFSET 294843073#define QM_REG_PQTX2PF_60_RT_OFFSET 294853074#define QM_REG_PQTX2PF_61_RT_OFFSET 294863075#define QM_REG_PQTX2PF_62_RT_OFFSET 294873076#define QM_REG_PQTX2PF_63_RT_OFFSET 294883077#define QM_REG_PQOTHER2PF_0_RT_OFFSET 294893078#define QM_REG_PQOTHER2PF_1_RT_OFFSET 294903079#define QM_REG_PQOTHER2PF_2_RT_OFFSET 294913080#define QM_REG_PQOTHER2PF_3_RT_OFFSET 294923081#define QM_REG_PQOTHER2PF_4_RT_OFFSET 294933082#define QM_REG_PQOTHER2PF_5_RT_OFFSET 294943083#define QM_REG_PQOTHER2PF_6_RT_OFFSET 294953084#define QM_REG_PQOTHER2PF_7_RT_OFFSET 294963085#define QM_REG_PQOTHER2PF_8_RT_OFFSET 294973086#define QM_REG_PQOTHER2PF_9_RT_OFFSET 294983087#define QM_REG_PQOTHER2PF_10_RT_OFFSET 294993088#define QM_REG_PQOTHER2PF_11_RT_OFFSET 295003089#define QM_REG_PQOTHER2PF_12_RT_OFFSET 295013090#define QM_REG_PQOTHER2PF_13_RT_OFFSET 295023091#define QM_REG_PQOTHER2PF_14_RT_OFFSET 295033092#define QM_REG_PQOTHER2PF_15_RT_OFFSET 295043093#define QM_REG_RLGLBLPERIOD_0_RT_OFFSET 295053094#define QM_REG_RLGLBLPERIOD_1_RT_OFFSET 295063095#define QM_REG_RLGLBLPERIODTIMER_0_RT_OFFSET 295073096#define QM_REG_RLGLBLPERIODTIMER_1_RT_OFFSET 295083097#define QM_REG_RLGLBLPERIODSEL_0_RT_OFFSET 295093098#define QM_REG_RLGLBLPERIODSEL_1_RT_OFFSET 295103099#define QM_REG_RLGLBLPERIODSEL_2_RT_OFFSET 295113100#define QM_REG_RLGLBLPERIODSEL_3_RT_OFFSET 295123101#define QM_REG_RLGLBLPERIODSEL_4_RT_OFFSET 295133102#define QM_REG_RLGLBLPERIODSEL_5_RT_OFFSET 295143103#define QM_REG_RLGLBLPERIODSEL_6_RT_OFFSET 295153104#define QM_REG_RLGLBLPERIODSEL_7_RT_OFFSET 295163105#define QM_REG_RLGLBLINCVAL_RT_OFFSET 295173106#define QM_REG_RLGLBLINCVAL_RT_SIZE 2563107#define QM_REG_RLGLBLUPPERBOUND_RT_OFFSET 297733108#define QM_REG_RLGLBLUPPERBOUND_RT_SIZE 2563109#define QM_REG_RLGLBLCRD_RT_OFFSET 300293110#define QM_REG_RLGLBLCRD_RT_SIZE 2563111#define QM_REG_RLGLBLENABLE_RT_OFFSET 302853112#define QM_REG_RLPFPERIOD_RT_OFFSET 302863113#define QM_REG_RLPFPERIODTIMER_RT_OFFSET 302873114#define QM_REG_RLPFINCVAL_RT_OFFSET 302883115#define QM_REG_RLPFINCVAL_RT_SIZE 163116#define QM_REG_RLPFUPPERBOUND_RT_OFFSET 303043117#define QM_REG_RLPFUPPERBOUND_RT_SIZE 163118#define QM_REG_RLPFCRD_RT_OFFSET 303203119#define QM_REG_RLPFCRD_RT_SIZE 163120#define QM_REG_RLPFENABLE_RT_OFFSET 303363121#define QM_REG_RLPFVOQENABLE_RT_OFFSET 303373122#define QM_REG_WFQPFWEIGHT_RT_OFFSET 303383123#define QM_REG_WFQPFWEIGHT_RT_SIZE 163124#define QM_REG_WFQPFUPPERBOUND_RT_OFFSET 303543125#define QM_REG_WFQPFUPPERBOUND_RT_SIZE 163126#define QM_REG_WFQPFCRD_RT_OFFSET 303703127#define QM_REG_WFQPFCRD_RT_SIZE 1603128#define QM_REG_WFQPFENABLE_RT_OFFSET 305303129#define QM_REG_WFQVPENABLE_RT_OFFSET 305313130#define QM_REG_BASEADDRTXPQ_RT_OFFSET 305323131#define QM_REG_BASEADDRTXPQ_RT_SIZE 5123132#define QM_REG_TXPQMAP_RT_OFFSET 310443133#define QM_REG_TXPQMAP_RT_SIZE 5123134#define QM_REG_WFQVPWEIGHT_RT_OFFSET 315563135#define QM_REG_WFQVPWEIGHT_RT_SIZE 5123136#define QM_REG_WFQVPUPPERBOUND_RT_OFFSET 320683137#define QM_REG_WFQVPUPPERBOUND_RT_SIZE 5123138#define QM_REG_WFQVPCRD_RT_OFFSET 325803139#define QM_REG_WFQVPCRD_RT_SIZE 5123140#define QM_REG_WFQVPMAP_RT_OFFSET 330923141#define QM_REG_WFQVPMAP_RT_SIZE 5123142#define QM_REG_PTRTBLTX_RT_OFFSET 336043143#define QM_REG_PTRTBLTX_RT_SIZE 10243144#define QM_REG_WFQPFCRD_MSB_RT_OFFSET 346283145#define QM_REG_WFQPFCRD_MSB_RT_SIZE 1603146#define NIG_REG_TAG_ETHERTYPE_0_RT_OFFSET 347883147#define NIG_REG_BRB_GATE_DNTFWD_PORT_RT_OFFSET 347893148#define NIG_REG_OUTER_TAG_VALUE_LIST0_RT_OFFSET 347903149#define NIG_REG_OUTER_TAG_VALUE_LIST1_RT_OFFSET 347913150#define NIG_REG_OUTER_TAG_VALUE_LIST2_RT_OFFSET 347923151#define NIG_REG_OUTER_TAG_VALUE_LIST3_RT_OFFSET 347933152#define NIG_REG_LLH_FUNC_TAGMAC_CLS_TYPE_RT_OFFSET 347943153#define NIG_REG_LLH_FUNC_TAG_EN_RT_OFFSET 347953154#define NIG_REG_LLH_FUNC_TAG_EN_RT_SIZE 43155#define NIG_REG_LLH_FUNC_TAG_VALUE_RT_OFFSET 347993156#define NIG_REG_LLH_FUNC_TAG_VALUE_RT_SIZE 43157#define NIG_REG_LLH_FUNC_FILTER_VALUE_RT_OFFSET 348033158#define NIG_REG_LLH_FUNC_FILTER_VALUE_RT_SIZE 323159#define NIG_REG_LLH_FUNC_FILTER_EN_RT_OFFSET 348353160#define NIG_REG_LLH_FUNC_FILTER_EN_RT_SIZE 163161#define NIG_REG_LLH_FUNC_FILTER_MODE_RT_OFFSET 348513162#define NIG_REG_LLH_FUNC_FILTER_MODE_RT_SIZE 163163#define NIG_REG_LLH_FUNC_FILTER_PROTOCOL_TYPE_RT_OFFSET 348673164#define NIG_REG_LLH_FUNC_FILTER_PROTOCOL_TYPE_RT_SIZE 163165#define NIG_REG_LLH_FUNC_FILTER_HDR_SEL_RT_OFFSET 348833166#define NIG_REG_LLH_FUNC_FILTER_HDR_SEL_RT_SIZE 163167#define NIG_REG_TX_EDPM_CTRL_RT_OFFSET 348993168#define NIG_REG_PPF_TO_ENGINE_SEL_RT_OFFSET 349003169#define NIG_REG_PPF_TO_ENGINE_SEL_RT_SIZE 83170#define CDU_REG_CID_ADDR_PARAMS_RT_OFFSET 349083171#define CDU_REG_SEGMENT0_PARAMS_RT_OFFSET 349093172#define CDU_REG_SEGMENT1_PARAMS_RT_OFFSET 349103173#define CDU_REG_PF_SEG0_TYPE_OFFSET_RT_OFFSET 349113174#define CDU_REG_PF_SEG1_TYPE_OFFSET_RT_OFFSET 349123175#define CDU_REG_PF_SEG2_TYPE_OFFSET_RT_OFFSET 349133176#define CDU_REG_PF_SEG3_TYPE_OFFSET_RT_OFFSET 349143177#define CDU_REG_PF_FL_SEG0_TYPE_OFFSET_RT_OFFSET 349153178#define CDU_REG_PF_FL_SEG1_TYPE_OFFSET_RT_OFFSET 349163179#define CDU_REG_PF_FL_SEG2_TYPE_OFFSET_RT_OFFSET 349173180#define CDU_REG_PF_FL_SEG3_TYPE_OFFSET_RT_OFFSET 349183181#define CDU_REG_VF_SEG_TYPE_OFFSET_RT_OFFSET 349193182#define CDU_REG_VF_FL_SEG_TYPE_OFFSET_RT_OFFSET 349203183#define PBF_REG_TAG_ETHERTYPE_0_RT_OFFSET 349213184#define PBF_REG_BTB_SHARED_AREA_SIZE_RT_OFFSET 349223185#define PBF_REG_YCMD_QS_NUM_LINES_VOQ0_RT_OFFSET 349233186#define PBF_REG_BTB_GUARANTEED_VOQ0_RT_OFFSET 349243187#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ0_RT_OFFSET 349253188#define PBF_REG_YCMD_QS_NUM_LINES_VOQ1_RT_OFFSET 349263189#define PBF_REG_BTB_GUARANTEED_VOQ1_RT_OFFSET 349273190#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ1_RT_OFFSET 349283191#define PBF_REG_YCMD_QS_NUM_LINES_VOQ2_RT_OFFSET 349293192#define PBF_REG_BTB_GUARANTEED_VOQ2_RT_OFFSET 349303193#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ2_RT_OFFSET 349313194#define PBF_REG_YCMD_QS_NUM_LINES_VOQ3_RT_OFFSET 349323195#define PBF_REG_BTB_GUARANTEED_VOQ3_RT_OFFSET 349333196#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ3_RT_OFFSET 349343197#define PBF_REG_YCMD_QS_NUM_LINES_VOQ4_RT_OFFSET 349353198#define PBF_REG_BTB_GUARANTEED_VOQ4_RT_OFFSET 349363199#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ4_RT_OFFSET 349373200#define PBF_REG_YCMD_QS_NUM_LINES_VOQ5_RT_OFFSET 349383201#define PBF_REG_BTB_GUARANTEED_VOQ5_RT_OFFSET 349393202#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ5_RT_OFFSET 349403203#define PBF_REG_YCMD_QS_NUM_LINES_VOQ6_RT_OFFSET 349413204#define PBF_REG_BTB_GUARANTEED_VOQ6_RT_OFFSET 349423205#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ6_RT_OFFSET 349433206#define PBF_REG_YCMD_QS_NUM_LINES_VOQ7_RT_OFFSET 349443207#define PBF_REG_BTB_GUARANTEED_VOQ7_RT_OFFSET 349453208#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ7_RT_OFFSET 349463209#define PBF_REG_YCMD_QS_NUM_LINES_VOQ8_RT_OFFSET 349473210#define PBF_REG_BTB_GUARANTEED_VOQ8_RT_OFFSET 349483211#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ8_RT_OFFSET 349493212#define PBF_REG_YCMD_QS_NUM_LINES_VOQ9_RT_OFFSET 349503213#define PBF_REG_BTB_GUARANTEED_VOQ9_RT_OFFSET 349513214#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ9_RT_OFFSET 349523215#define PBF_REG_YCMD_QS_NUM_LINES_VOQ10_RT_OFFSET 349533216#define PBF_REG_BTB_GUARANTEED_VOQ10_RT_OFFSET 349543217#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ10_RT_OFFSET 349553218#define PBF_REG_YCMD_QS_NUM_LINES_VOQ11_RT_OFFSET 349563219#define PBF_REG_BTB_GUARANTEED_VOQ11_RT_OFFSET 349573220#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ11_RT_OFFSET 349583221#define PBF_REG_YCMD_QS_NUM_LINES_VOQ12_RT_OFFSET 349593222#define PBF_REG_BTB_GUARANTEED_VOQ12_RT_OFFSET 349603223#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ12_RT_OFFSET 349613224#define PBF_REG_YCMD_QS_NUM_LINES_VOQ13_RT_OFFSET 349623225#define PBF_REG_BTB_GUARANTEED_VOQ13_RT_OFFSET 349633226#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ13_RT_OFFSET 349643227#define PBF_REG_YCMD_QS_NUM_LINES_VOQ14_RT_OFFSET 349653228#define PBF_REG_BTB_GUARANTEED_VOQ14_RT_OFFSET 349663229#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ14_RT_OFFSET 349673230#define PBF_REG_YCMD_QS_NUM_LINES_VOQ15_RT_OFFSET 349683231#define PBF_REG_BTB_GUARANTEED_VOQ15_RT_OFFSET 349693232#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ15_RT_OFFSET 349703233#define PBF_REG_YCMD_QS_NUM_LINES_VOQ16_RT_OFFSET 349713234#define PBF_REG_BTB_GUARANTEED_VOQ16_RT_OFFSET 349723235#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ16_RT_OFFSET 349733236#define PBF_REG_YCMD_QS_NUM_LINES_VOQ17_RT_OFFSET 349743237#define PBF_REG_BTB_GUARANTEED_VOQ17_RT_OFFSET 349753238#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ17_RT_OFFSET 349763239#define PBF_REG_YCMD_QS_NUM_LINES_VOQ18_RT_OFFSET 349773240#define PBF_REG_BTB_GUARANTEED_VOQ18_RT_OFFSET 349783241#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ18_RT_OFFSET 349793242#define PBF_REG_YCMD_QS_NUM_LINES_VOQ19_RT_OFFSET 349803243#define PBF_REG_BTB_GUARANTEED_VOQ19_RT_OFFSET 349813244#define PBF_REG_BTB_SHARED_AREA_SETUP_VOQ19_RT_OFFSET 349823245#define XCM_REG_CON_PHY_Q3_RT_OFFSET 349833246 3247#define RUNTIME_ARRAY_SIZE 349843248 3249/* Init Callbacks */3250#define DMAE_READY_CB 03251 3252/* The eth storm context for the Tstorm */3253struct tstorm_eth_conn_st_ctx {3254 __le32 reserved[4];3255};3256 3257/* The eth storm context for the Pstorm */3258struct pstorm_eth_conn_st_ctx {3259 __le32 reserved[8];3260};3261 3262/* The eth storm context for the Xstorm */3263struct xstorm_eth_conn_st_ctx {3264 __le32 reserved[60];3265};3266 3267struct xstorm_eth_conn_ag_ctx {3268 u8 reserved0;3269 u8 state;3270 u8 flags0;3271#define XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x13272#define XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 03273#define XSTORM_ETH_CONN_AG_CTX_RESERVED1_MASK 0x13274#define XSTORM_ETH_CONN_AG_CTX_RESERVED1_SHIFT 13275#define XSTORM_ETH_CONN_AG_CTX_RESERVED2_MASK 0x13276#define XSTORM_ETH_CONN_AG_CTX_RESERVED2_SHIFT 23277#define XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x13278#define XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 33279#define XSTORM_ETH_CONN_AG_CTX_RESERVED3_MASK 0x13280#define XSTORM_ETH_CONN_AG_CTX_RESERVED3_SHIFT 43281#define XSTORM_ETH_CONN_AG_CTX_RESERVED4_MASK 0x13282#define XSTORM_ETH_CONN_AG_CTX_RESERVED4_SHIFT 53283#define XSTORM_ETH_CONN_AG_CTX_RESERVED5_MASK 0x13284#define XSTORM_ETH_CONN_AG_CTX_RESERVED5_SHIFT 63285#define XSTORM_ETH_CONN_AG_CTX_RESERVED6_MASK 0x13286#define XSTORM_ETH_CONN_AG_CTX_RESERVED6_SHIFT 73287 u8 flags1;3288#define XSTORM_ETH_CONN_AG_CTX_RESERVED7_MASK 0x13289#define XSTORM_ETH_CONN_AG_CTX_RESERVED7_SHIFT 03290#define XSTORM_ETH_CONN_AG_CTX_RESERVED8_MASK 0x13291#define XSTORM_ETH_CONN_AG_CTX_RESERVED8_SHIFT 13292#define XSTORM_ETH_CONN_AG_CTX_RESERVED9_MASK 0x13293#define XSTORM_ETH_CONN_AG_CTX_RESERVED9_SHIFT 23294#define XSTORM_ETH_CONN_AG_CTX_BIT11_MASK 0x13295#define XSTORM_ETH_CONN_AG_CTX_BIT11_SHIFT 33296#define XSTORM_ETH_CONN_AG_CTX_E5_RESERVED2_MASK 0x13297#define XSTORM_ETH_CONN_AG_CTX_E5_RESERVED2_SHIFT 43298#define XSTORM_ETH_CONN_AG_CTX_E5_RESERVED3_MASK 0x13299#define XSTORM_ETH_CONN_AG_CTX_E5_RESERVED3_SHIFT 53300#define XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x13301#define XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 63302#define XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x13303#define XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT 73304 u8 flags2;3305#define XSTORM_ETH_CONN_AG_CTX_CF0_MASK 0x33306#define XSTORM_ETH_CONN_AG_CTX_CF0_SHIFT 03307#define XSTORM_ETH_CONN_AG_CTX_CF1_MASK 0x33308#define XSTORM_ETH_CONN_AG_CTX_CF1_SHIFT 23309#define XSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x33310#define XSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 43311#define XSTORM_ETH_CONN_AG_CTX_CF3_MASK 0x33312#define XSTORM_ETH_CONN_AG_CTX_CF3_SHIFT 63313 u8 flags3;3314#define XSTORM_ETH_CONN_AG_CTX_CF4_MASK 0x33315#define XSTORM_ETH_CONN_AG_CTX_CF4_SHIFT 03316#define XSTORM_ETH_CONN_AG_CTX_CF5_MASK 0x33317#define XSTORM_ETH_CONN_AG_CTX_CF5_SHIFT 23318#define XSTORM_ETH_CONN_AG_CTX_CF6_MASK 0x33319#define XSTORM_ETH_CONN_AG_CTX_CF6_SHIFT 43320#define XSTORM_ETH_CONN_AG_CTX_CF7_MASK 0x33321#define XSTORM_ETH_CONN_AG_CTX_CF7_SHIFT 63322 u8 flags4;3323#define XSTORM_ETH_CONN_AG_CTX_CF8_MASK 0x33324#define XSTORM_ETH_CONN_AG_CTX_CF8_SHIFT 03325#define XSTORM_ETH_CONN_AG_CTX_CF9_MASK 0x33326#define XSTORM_ETH_CONN_AG_CTX_CF9_SHIFT 23327#define XSTORM_ETH_CONN_AG_CTX_CF10_MASK 0x33328#define XSTORM_ETH_CONN_AG_CTX_CF10_SHIFT 43329#define XSTORM_ETH_CONN_AG_CTX_CF11_MASK 0x33330#define XSTORM_ETH_CONN_AG_CTX_CF11_SHIFT 63331 u8 flags5;3332#define XSTORM_ETH_CONN_AG_CTX_CF12_MASK 0x33333#define XSTORM_ETH_CONN_AG_CTX_CF12_SHIFT 03334#define XSTORM_ETH_CONN_AG_CTX_CF13_MASK 0x33335#define XSTORM_ETH_CONN_AG_CTX_CF13_SHIFT 23336#define XSTORM_ETH_CONN_AG_CTX_CF14_MASK 0x33337#define XSTORM_ETH_CONN_AG_CTX_CF14_SHIFT 43338#define XSTORM_ETH_CONN_AG_CTX_CF15_MASK 0x33339#define XSTORM_ETH_CONN_AG_CTX_CF15_SHIFT 63340 u8 flags6;3341#define XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK 0x33342#define XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT 03343#define XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_MASK 0x33344#define XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT 23345#define XSTORM_ETH_CONN_AG_CTX_DQ_CF_MASK 0x33346#define XSTORM_ETH_CONN_AG_CTX_DQ_CF_SHIFT 43347#define XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_MASK 0x33348#define XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_SHIFT 63349 u8 flags7;3350#define XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_MASK 0x33351#define XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_SHIFT 03352#define XSTORM_ETH_CONN_AG_CTX_RESERVED10_MASK 0x33353#define XSTORM_ETH_CONN_AG_CTX_RESERVED10_SHIFT 23354#define XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_MASK 0x33355#define XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_SHIFT 43356#define XSTORM_ETH_CONN_AG_CTX_CF0EN_MASK 0x13357#define XSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT 63358#define XSTORM_ETH_CONN_AG_CTX_CF1EN_MASK 0x13359#define XSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT 73360 u8 flags8;3361#define XSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x13362#define XSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 03363#define XSTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x13364#define XSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 13365#define XSTORM_ETH_CONN_AG_CTX_CF4EN_MASK 0x13366#define XSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT 23367#define XSTORM_ETH_CONN_AG_CTX_CF5EN_MASK 0x13368#define XSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT 33369#define XSTORM_ETH_CONN_AG_CTX_CF6EN_MASK 0x13370#define XSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT 43371#define XSTORM_ETH_CONN_AG_CTX_CF7EN_MASK 0x13372#define XSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT 53373#define XSTORM_ETH_CONN_AG_CTX_CF8EN_MASK 0x13374#define XSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT 63375#define XSTORM_ETH_CONN_AG_CTX_CF9EN_MASK 0x13376#define XSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT 73377 u8 flags9;3378#define XSTORM_ETH_CONN_AG_CTX_CF10EN_MASK 0x13379#define XSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT 03380#define XSTORM_ETH_CONN_AG_CTX_CF11EN_MASK 0x13381#define XSTORM_ETH_CONN_AG_CTX_CF11EN_SHIFT 13382#define XSTORM_ETH_CONN_AG_CTX_CF12EN_MASK 0x13383#define XSTORM_ETH_CONN_AG_CTX_CF12EN_SHIFT 23384#define XSTORM_ETH_CONN_AG_CTX_CF13EN_MASK 0x13385#define XSTORM_ETH_CONN_AG_CTX_CF13EN_SHIFT 33386#define XSTORM_ETH_CONN_AG_CTX_CF14EN_MASK 0x13387#define XSTORM_ETH_CONN_AG_CTX_CF14EN_SHIFT 43388#define XSTORM_ETH_CONN_AG_CTX_CF15EN_MASK 0x13389#define XSTORM_ETH_CONN_AG_CTX_CF15EN_SHIFT 53390#define XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK 0x13391#define XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT 63392#define XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK 0x13393#define XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT 73394 u8 flags10;3395#define XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_MASK 0x13396#define XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_SHIFT 03397#define XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_MASK 0x13398#define XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT 13399#define XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x13400#define XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 23401#define XSTORM_ETH_CONN_AG_CTX_RESERVED11_MASK 0x13402#define XSTORM_ETH_CONN_AG_CTX_RESERVED11_SHIFT 33403#define XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x13404#define XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 43405#define XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK 0x13406#define XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 53407#define XSTORM_ETH_CONN_AG_CTX_RESERVED12_MASK 0x13408#define XSTORM_ETH_CONN_AG_CTX_RESERVED12_SHIFT 63409#define XSTORM_ETH_CONN_AG_CTX_RESERVED13_MASK 0x13410#define XSTORM_ETH_CONN_AG_CTX_RESERVED13_SHIFT 73411 u8 flags11;3412#define XSTORM_ETH_CONN_AG_CTX_RESERVED14_MASK 0x13413#define XSTORM_ETH_CONN_AG_CTX_RESERVED14_SHIFT 03414#define XSTORM_ETH_CONN_AG_CTX_RESERVED15_MASK 0x13415#define XSTORM_ETH_CONN_AG_CTX_RESERVED15_SHIFT 13416#define XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_MASK 0x13417#define XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT 23418#define XSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x13419#define XSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 33420#define XSTORM_ETH_CONN_AG_CTX_RULE6EN_MASK 0x13421#define XSTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT 43422#define XSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x13423#define XSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 53424#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_MASK 0x13425#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_SHIFT 63426#define XSTORM_ETH_CONN_AG_CTX_RULE9EN_MASK 0x13427#define XSTORM_ETH_CONN_AG_CTX_RULE9EN_SHIFT 73428 u8 flags12;3429#define XSTORM_ETH_CONN_AG_CTX_RULE10EN_MASK 0x13430#define XSTORM_ETH_CONN_AG_CTX_RULE10EN_SHIFT 03431#define XSTORM_ETH_CONN_AG_CTX_RULE11EN_MASK 0x13432#define XSTORM_ETH_CONN_AG_CTX_RULE11EN_SHIFT 13433#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_MASK 0x13434#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_SHIFT 23435#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_MASK 0x13436#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_SHIFT 33437#define XSTORM_ETH_CONN_AG_CTX_RULE14EN_MASK 0x13438#define XSTORM_ETH_CONN_AG_CTX_RULE14EN_SHIFT 43439#define XSTORM_ETH_CONN_AG_CTX_RULE15EN_MASK 0x13440#define XSTORM_ETH_CONN_AG_CTX_RULE15EN_SHIFT 53441#define XSTORM_ETH_CONN_AG_CTX_RULE16EN_MASK 0x13442#define XSTORM_ETH_CONN_AG_CTX_RULE16EN_SHIFT 63443#define XSTORM_ETH_CONN_AG_CTX_RULE17EN_MASK 0x13444#define XSTORM_ETH_CONN_AG_CTX_RULE17EN_SHIFT 73445 u8 flags13;3446#define XSTORM_ETH_CONN_AG_CTX_RULE18EN_MASK 0x13447#define XSTORM_ETH_CONN_AG_CTX_RULE18EN_SHIFT 03448#define XSTORM_ETH_CONN_AG_CTX_RULE19EN_MASK 0x13449#define XSTORM_ETH_CONN_AG_CTX_RULE19EN_SHIFT 13450#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_MASK 0x13451#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_SHIFT 23452#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_MASK 0x13453#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_SHIFT 33454#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_MASK 0x13455#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_SHIFT 43456#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_MASK 0x13457#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_SHIFT 53458#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_MASK 0x13459#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_SHIFT 63460#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_MASK 0x13461#define XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_SHIFT 73462 u8 flags14;3463#define XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK 0x13464#define XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT 03465#define XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK 0x13466#define XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT 13467#define XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK 0x13468#define XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT 23469#define XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK 0x13470#define XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT 33471#define XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_MASK 0x13472#define XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT 43473#define XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK 0x13474#define XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT 53475#define XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_MASK 0x33476#define XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_SHIFT 63477 u8 edpm_event_id;3478 __le16 physical_q0;3479 __le16 e5_reserved1;3480 __le16 edpm_num_bds;3481 __le16 tx_bd_cons;3482 __le16 tx_bd_prod;3483 __le16 updated_qm_pq_id;3484 __le16 conn_dpi;3485 u8 byte3;3486 u8 byte4;3487 u8 byte5;3488 u8 byte6;3489 __le32 reg0;3490 __le32 reg1;3491 __le32 reg2;3492 __le32 reg3;3493 __le32 reg4;3494 __le32 reg5;3495 __le32 reg6;3496 __le16 word7;3497 __le16 word8;3498 __le16 word9;3499 __le16 word10;3500 __le32 reg7;3501 __le32 reg8;3502 __le32 reg9;3503 u8 byte7;3504 u8 byte8;3505 u8 byte9;3506 u8 byte10;3507 u8 byte11;3508 u8 byte12;3509 u8 byte13;3510 u8 byte14;3511 u8 byte15;3512 u8 e5_reserved;3513 __le16 word11;3514 __le32 reg10;3515 __le32 reg11;3516 __le32 reg12;3517 __le32 reg13;3518 __le32 reg14;3519 __le32 reg15;3520 __le32 reg16;3521 __le32 reg17;3522 __le32 reg18;3523 __le32 reg19;3524 __le16 word12;3525 __le16 word13;3526 __le16 word14;3527 __le16 word15;3528};3529 3530/* The eth storm context for the Ystorm */3531struct ystorm_eth_conn_st_ctx {3532 __le32 reserved[8];3533};3534 3535struct ystorm_eth_conn_ag_ctx {3536 u8 byte0;3537 u8 state;3538 u8 flags0;3539#define YSTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x13540#define YSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 03541#define YSTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x13542#define YSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 13543#define YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK 0x33544#define YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT 23545#define YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_MASK 0x33546#define YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_SHIFT 43547#define YSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x33548#define YSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 63549 u8 flags1;3550#define YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK 0x13551#define YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 03552#define YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_MASK 0x13553#define YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_SHIFT 13554#define YSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x13555#define YSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 23556#define YSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x13557#define YSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 33558#define YSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x13559#define YSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 43560#define YSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x13561#define YSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 53562#define YSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x13563#define YSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 63564#define YSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x13565#define YSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 73566 u8 tx_q0_int_coallecing_timeset;3567 u8 byte3;3568 __le16 word0;3569 __le32 terminate_spqe;3570 __le32 reg1;3571 __le16 tx_bd_cons_upd;3572 __le16 word2;3573 __le16 word3;3574 __le16 word4;3575 __le32 reg2;3576 __le32 reg3;3577};3578 3579struct tstorm_eth_conn_ag_ctx {3580 u8 byte0;3581 u8 byte1;3582 u8 flags0;3583#define TSTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x13584#define TSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 03585#define TSTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x13586#define TSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 13587#define TSTORM_ETH_CONN_AG_CTX_BIT2_MASK 0x13588#define TSTORM_ETH_CONN_AG_CTX_BIT2_SHIFT 23589#define TSTORM_ETH_CONN_AG_CTX_BIT3_MASK 0x13590#define TSTORM_ETH_CONN_AG_CTX_BIT3_SHIFT 33591#define TSTORM_ETH_CONN_AG_CTX_BIT4_MASK 0x13592#define TSTORM_ETH_CONN_AG_CTX_BIT4_SHIFT 43593#define TSTORM_ETH_CONN_AG_CTX_BIT5_MASK 0x13594#define TSTORM_ETH_CONN_AG_CTX_BIT5_SHIFT 53595#define TSTORM_ETH_CONN_AG_CTX_CF0_MASK 0x33596#define TSTORM_ETH_CONN_AG_CTX_CF0_SHIFT 63597 u8 flags1;3598#define TSTORM_ETH_CONN_AG_CTX_CF1_MASK 0x33599#define TSTORM_ETH_CONN_AG_CTX_CF1_SHIFT 03600#define TSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x33601#define TSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 23602#define TSTORM_ETH_CONN_AG_CTX_CF3_MASK 0x33603#define TSTORM_ETH_CONN_AG_CTX_CF3_SHIFT 43604#define TSTORM_ETH_CONN_AG_CTX_CF4_MASK 0x33605#define TSTORM_ETH_CONN_AG_CTX_CF4_SHIFT 63606 u8 flags2;3607#define TSTORM_ETH_CONN_AG_CTX_CF5_MASK 0x33608#define TSTORM_ETH_CONN_AG_CTX_CF5_SHIFT 03609#define TSTORM_ETH_CONN_AG_CTX_CF6_MASK 0x33610#define TSTORM_ETH_CONN_AG_CTX_CF6_SHIFT 23611#define TSTORM_ETH_CONN_AG_CTX_CF7_MASK 0x33612#define TSTORM_ETH_CONN_AG_CTX_CF7_SHIFT 43613#define TSTORM_ETH_CONN_AG_CTX_CF8_MASK 0x33614#define TSTORM_ETH_CONN_AG_CTX_CF8_SHIFT 63615 u8 flags3;3616#define TSTORM_ETH_CONN_AG_CTX_CF9_MASK 0x33617#define TSTORM_ETH_CONN_AG_CTX_CF9_SHIFT 03618#define TSTORM_ETH_CONN_AG_CTX_CF10_MASK 0x33619#define TSTORM_ETH_CONN_AG_CTX_CF10_SHIFT 23620#define TSTORM_ETH_CONN_AG_CTX_CF0EN_MASK 0x13621#define TSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT 43622#define TSTORM_ETH_CONN_AG_CTX_CF1EN_MASK 0x13623#define TSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT 53624#define TSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x13625#define TSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 63626#define TSTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x13627#define TSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 73628 u8 flags4;3629#define TSTORM_ETH_CONN_AG_CTX_CF4EN_MASK 0x13630#define TSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT 03631#define TSTORM_ETH_CONN_AG_CTX_CF5EN_MASK 0x13632#define TSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT 13633#define TSTORM_ETH_CONN_AG_CTX_CF6EN_MASK 0x13634#define TSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT 23635#define TSTORM_ETH_CONN_AG_CTX_CF7EN_MASK 0x13636#define TSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT 33637#define TSTORM_ETH_CONN_AG_CTX_CF8EN_MASK 0x13638#define TSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT 43639#define TSTORM_ETH_CONN_AG_CTX_CF9EN_MASK 0x13640#define TSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT 53641#define TSTORM_ETH_CONN_AG_CTX_CF10EN_MASK 0x13642#define TSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT 63643#define TSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x13644#define TSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 73645 u8 flags5;3646#define TSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x13647#define TSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 03648#define TSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x13649#define TSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 13650#define TSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x13651#define TSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 23652#define TSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x13653#define TSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 33654#define TSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x13655#define TSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 43656#define TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_MASK 0x13657#define TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_SHIFT 53658#define TSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x13659#define TSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 63660#define TSTORM_ETH_CONN_AG_CTX_RULE8EN_MASK 0x13661#define TSTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT 73662 __le32 reg0;3663 __le32 reg1;3664 __le32 reg2;3665 __le32 reg3;3666 __le32 reg4;3667 __le32 reg5;3668 __le32 reg6;3669 __le32 reg7;3670 __le32 reg8;3671 u8 byte2;3672 u8 byte3;3673 __le16 rx_bd_cons;3674 u8 byte4;3675 u8 byte5;3676 __le16 rx_bd_prod;3677 __le16 word2;3678 __le16 word3;3679 __le32 reg9;3680 __le32 reg10;3681};3682 3683struct ustorm_eth_conn_ag_ctx {3684 u8 byte0;3685 u8 byte1;3686 u8 flags0;3687#define USTORM_ETH_CONN_AG_CTX_BIT0_MASK 0x13688#define USTORM_ETH_CONN_AG_CTX_BIT0_SHIFT 03689#define USTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x13690#define USTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 13691#define USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_MASK 0x33692#define USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_SHIFT 23693#define USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_MASK 0x33694#define USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_SHIFT 43695#define USTORM_ETH_CONN_AG_CTX_CF2_MASK 0x33696#define USTORM_ETH_CONN_AG_CTX_CF2_SHIFT 63697 u8 flags1;3698#define USTORM_ETH_CONN_AG_CTX_CF3_MASK 0x33699#define USTORM_ETH_CONN_AG_CTX_CF3_SHIFT 03700#define USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_MASK 0x33701#define USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_SHIFT 23702#define USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_MASK 0x33703#define USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_SHIFT 43704#define USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK 0x33705#define USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT 63706 u8 flags2;3707#define USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_MASK 0x13708#define USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_SHIFT 03709#define USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_MASK 0x13710#define USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_SHIFT 13711#define USTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x13712#define USTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 23713#define USTORM_ETH_CONN_AG_CTX_CF3EN_MASK 0x13714#define USTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT 33715#define USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_MASK 0x13716#define USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_SHIFT 43717#define USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_MASK 0x13718#define USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_SHIFT 53719#define USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK 0x13720#define USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 63721#define USTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x13722#define USTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 73723 u8 flags3;3724#define USTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x13725#define USTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 03726#define USTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x13727#define USTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 13728#define USTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x13729#define USTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 23730#define USTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x13731#define USTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 33732#define USTORM_ETH_CONN_AG_CTX_RULE5EN_MASK 0x13733#define USTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT 43734#define USTORM_ETH_CONN_AG_CTX_RULE6EN_MASK 0x13735#define USTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT 53736#define USTORM_ETH_CONN_AG_CTX_RULE7EN_MASK 0x13737#define USTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT 63738#define USTORM_ETH_CONN_AG_CTX_RULE8EN_MASK 0x13739#define USTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT 73740 u8 byte2;3741 u8 byte3;3742 __le16 word0;3743 __le16 tx_bd_cons;3744 __le32 reg0;3745 __le32 reg1;3746 __le32 reg2;3747 __le32 tx_int_coallecing_timeset;3748 __le16 tx_drv_bd_cons;3749 __le16 rx_drv_cqe_cons;3750};3751 3752/* The eth storm context for the Ustorm */3753struct ustorm_eth_conn_st_ctx {3754 __le32 reserved[40];3755};3756 3757/* The eth storm context for the Mstorm */3758struct mstorm_eth_conn_st_ctx {3759 __le32 reserved[8];3760};3761 3762/* eth connection context */3763struct eth_conn_context {3764 struct tstorm_eth_conn_st_ctx tstorm_st_context;3765 struct regpair tstorm_st_padding[2];3766 struct pstorm_eth_conn_st_ctx pstorm_st_context;3767 struct xstorm_eth_conn_st_ctx xstorm_st_context;3768 struct xstorm_eth_conn_ag_ctx xstorm_ag_context;3769 struct tstorm_eth_conn_ag_ctx tstorm_ag_context;3770 struct ystorm_eth_conn_st_ctx ystorm_st_context;3771 struct ystorm_eth_conn_ag_ctx ystorm_ag_context;3772 struct ustorm_eth_conn_ag_ctx ustorm_ag_context;3773 struct ustorm_eth_conn_st_ctx ustorm_st_context;3774 struct mstorm_eth_conn_st_ctx mstorm_st_context;3775};3776 3777/* Ethernet filter types: mac/vlan/pair */3778enum eth_error_code {3779 ETH_OK = 0x00,3780 ETH_FILTERS_MAC_ADD_FAIL_FULL,3781 ETH_FILTERS_MAC_ADD_FAIL_FULL_MTT2,3782 ETH_FILTERS_MAC_ADD_FAIL_DUP_MTT2,3783 ETH_FILTERS_MAC_ADD_FAIL_DUP_STT2,3784 ETH_FILTERS_MAC_DEL_FAIL_NOF,3785 ETH_FILTERS_MAC_DEL_FAIL_NOF_MTT2,3786 ETH_FILTERS_MAC_DEL_FAIL_NOF_STT2,3787 ETH_FILTERS_MAC_ADD_FAIL_ZERO_MAC,3788 ETH_FILTERS_VLAN_ADD_FAIL_FULL,3789 ETH_FILTERS_VLAN_ADD_FAIL_DUP,3790 ETH_FILTERS_VLAN_DEL_FAIL_NOF,3791 ETH_FILTERS_VLAN_DEL_FAIL_NOF_TT1,3792 ETH_FILTERS_PAIR_ADD_FAIL_DUP,3793 ETH_FILTERS_PAIR_ADD_FAIL_FULL,3794 ETH_FILTERS_PAIR_ADD_FAIL_FULL_MAC,3795 ETH_FILTERS_PAIR_DEL_FAIL_NOF,3796 ETH_FILTERS_PAIR_DEL_FAIL_NOF_TT1,3797 ETH_FILTERS_PAIR_ADD_FAIL_ZERO_MAC,3798 ETH_FILTERS_VNI_ADD_FAIL_FULL,3799 ETH_FILTERS_VNI_ADD_FAIL_DUP,3800 ETH_FILTERS_GFT_UPDATE_FAIL,3801 ETH_RX_QUEUE_FAIL_LOAD_VF_DATA,3802 ETH_FILTERS_GFS_ADD_FILTER_FAIL_MAX_HOPS,3803 ETH_FILTERS_GFS_ADD_FILTER_FAIL_NO_FREE_ENRTY,3804 ETH_FILTERS_GFS_ADD_FILTER_FAIL_ALREADY_EXISTS,3805 ETH_FILTERS_GFS_ADD_FILTER_FAIL_PCI_ERROR,3806 ETH_FILTERS_GFS_ADD_FINLER_FAIL_MAGIC_NUM_ERROR,3807 ETH_FILTERS_GFS_DEL_FILTER_FAIL_MAX_HOPS,3808 ETH_FILTERS_GFS_DEL_FILTER_FAIL_NO_MATCH_ENRTY,3809 ETH_FILTERS_GFS_DEL_FILTER_FAIL_PCI_ERROR,3810 ETH_FILTERS_GFS_DEL_FILTER_FAIL_MAGIC_NUM_ERROR,3811 MAX_ETH_ERROR_CODE3812};3813 3814/* Opcodes for the event ring */3815enum eth_event_opcode {3816 ETH_EVENT_UNUSED,3817 ETH_EVENT_VPORT_START,3818 ETH_EVENT_VPORT_UPDATE,3819 ETH_EVENT_VPORT_STOP,3820 ETH_EVENT_TX_QUEUE_START,3821 ETH_EVENT_TX_QUEUE_STOP,3822 ETH_EVENT_RX_QUEUE_START,3823 ETH_EVENT_RX_QUEUE_UPDATE,3824 ETH_EVENT_RX_QUEUE_STOP,3825 ETH_EVENT_FILTERS_UPDATE,3826 ETH_EVENT_RX_ADD_OPENFLOW_FILTER,3827 ETH_EVENT_RX_DELETE_OPENFLOW_FILTER,3828 ETH_EVENT_RX_CREATE_OPENFLOW_ACTION,3829 ETH_EVENT_RX_ADD_UDP_FILTER,3830 ETH_EVENT_RX_DELETE_UDP_FILTER,3831 ETH_EVENT_RX_CREATE_GFT_ACTION,3832 ETH_EVENT_RX_GFT_UPDATE_FILTER,3833 ETH_EVENT_TX_QUEUE_UPDATE,3834 ETH_EVENT_RGFS_ADD_FILTER,3835 ETH_EVENT_RGFS_DEL_FILTER,3836 ETH_EVENT_TGFS_ADD_FILTER,3837 ETH_EVENT_TGFS_DEL_FILTER,3838 ETH_EVENT_GFS_COUNTERS_REPORT_REQUEST,3839 MAX_ETH_EVENT_OPCODE3840};3841 3842/* Classify rule types in E2/E3 */3843enum eth_filter_action {3844 ETH_FILTER_ACTION_UNUSED,3845 ETH_FILTER_ACTION_REMOVE,3846 ETH_FILTER_ACTION_ADD,3847 ETH_FILTER_ACTION_REMOVE_ALL,3848 MAX_ETH_FILTER_ACTION3849};3850 3851/* Command for adding/removing a classification rule $$KEEP_ENDIANNESS$$ */3852struct eth_filter_cmd {3853 u8 type;3854 u8 vport_id;3855 u8 action;3856 u8 reserved0;3857 __le32 vni;3858 __le16 mac_lsb;3859 __le16 mac_mid;3860 __le16 mac_msb;3861 __le16 vlan_id;3862};3863 3864/* $$KEEP_ENDIANNESS$$ */3865struct eth_filter_cmd_header {3866 u8 rx;3867 u8 tx;3868 u8 cmd_cnt;3869 u8 assert_on_error;3870 u8 reserved1[4];3871};3872 3873/* Ethernet filter types: mac/vlan/pair */3874enum eth_filter_type {3875 ETH_FILTER_TYPE_UNUSED,3876 ETH_FILTER_TYPE_MAC,3877 ETH_FILTER_TYPE_VLAN,3878 ETH_FILTER_TYPE_PAIR,3879 ETH_FILTER_TYPE_INNER_MAC,3880 ETH_FILTER_TYPE_INNER_VLAN,3881 ETH_FILTER_TYPE_INNER_PAIR,3882 ETH_FILTER_TYPE_INNER_MAC_VNI_PAIR,3883 ETH_FILTER_TYPE_MAC_VNI_PAIR,3884 ETH_FILTER_TYPE_VNI,3885 MAX_ETH_FILTER_TYPE3886};3887 3888/* inner to inner vlan priority translation configurations */3889struct eth_in_to_in_pri_map_cfg {3890 u8 inner_vlan_pri_remap_en;3891 u8 reserved[7];3892 u8 non_rdma_in_to_in_pri_map[8];3893 u8 rdma_in_to_in_pri_map[8];3894};3895 3896/* Eth IPv4 Fragment Type */3897enum eth_ipv4_frag_type {3898 ETH_IPV4_NOT_FRAG,3899 ETH_IPV4_FIRST_FRAG,3900 ETH_IPV4_NON_FIRST_FRAG,3901 MAX_ETH_IPV4_FRAG_TYPE3902};3903 3904/* eth IPv4 Fragment Type */3905enum eth_ip_type {3906 ETH_IPV4,3907 ETH_IPV6,3908 MAX_ETH_IP_TYPE3909};3910 3911/* Ethernet Ramrod Command IDs */3912enum eth_ramrod_cmd_id {3913 ETH_RAMROD_UNUSED,3914 ETH_RAMROD_VPORT_START,3915 ETH_RAMROD_VPORT_UPDATE,3916 ETH_RAMROD_VPORT_STOP,3917 ETH_RAMROD_RX_QUEUE_START,3918 ETH_RAMROD_RX_QUEUE_STOP,3919 ETH_RAMROD_TX_QUEUE_START,3920 ETH_RAMROD_TX_QUEUE_STOP,3921 ETH_RAMROD_FILTERS_UPDATE,3922 ETH_RAMROD_RX_QUEUE_UPDATE,3923 ETH_RAMROD_RX_CREATE_OPENFLOW_ACTION,3924 ETH_RAMROD_RX_ADD_OPENFLOW_FILTER,3925 ETH_RAMROD_RX_DELETE_OPENFLOW_FILTER,3926 ETH_RAMROD_RX_ADD_UDP_FILTER,3927 ETH_RAMROD_RX_DELETE_UDP_FILTER,3928 ETH_RAMROD_RX_CREATE_GFT_ACTION,3929 ETH_RAMROD_RX_UPDATE_GFT_FILTER,3930 ETH_RAMROD_TX_QUEUE_UPDATE,3931 ETH_RAMROD_RGFS_FILTER_ADD,3932 ETH_RAMROD_RGFS_FILTER_DEL,3933 ETH_RAMROD_TGFS_FILTER_ADD,3934 ETH_RAMROD_TGFS_FILTER_DEL,3935 ETH_RAMROD_GFS_COUNTERS_REPORT_REQUEST,3936 MAX_ETH_RAMROD_CMD_ID3937};3938 3939/* Return code from eth sp ramrods */3940struct eth_return_code {3941 u8 value;3942#define ETH_RETURN_CODE_ERR_CODE_MASK 0x3F3943#define ETH_RETURN_CODE_ERR_CODE_SHIFT 03944#define ETH_RETURN_CODE_RESERVED_MASK 0x13945#define ETH_RETURN_CODE_RESERVED_SHIFT 63946#define ETH_RETURN_CODE_RX_TX_MASK 0x13947#define ETH_RETURN_CODE_RX_TX_SHIFT 73948};3949 3950/* tx destination enum */3951enum eth_tx_dst_mode_config_enum {3952 ETH_TX_DST_MODE_CONFIG_DISABLE,3953 ETH_TX_DST_MODE_CONFIG_FORWARD_DATA_IN_BD,3954 ETH_TX_DST_MODE_CONFIG_FORWARD_DATA_IN_VPORT,3955 MAX_ETH_TX_DST_MODE_CONFIG_ENUM3956};3957 3958/* What to do in case an error occurs */3959enum eth_tx_err {3960 ETH_TX_ERR_DROP,3961 ETH_TX_ERR_ASSERT_MALICIOUS,3962 MAX_ETH_TX_ERR3963};3964 3965/* Array of the different error type behaviors */3966struct eth_tx_err_vals {3967 __le16 values;3968#define ETH_TX_ERR_VALS_ILLEGAL_VLAN_MODE_MASK 0x13969#define ETH_TX_ERR_VALS_ILLEGAL_VLAN_MODE_SHIFT 03970#define ETH_TX_ERR_VALS_PACKET_TOO_SMALL_MASK 0x13971#define ETH_TX_ERR_VALS_PACKET_TOO_SMALL_SHIFT 13972#define ETH_TX_ERR_VALS_ANTI_SPOOFING_ERR_MASK 0x13973#define ETH_TX_ERR_VALS_ANTI_SPOOFING_ERR_SHIFT 23974#define ETH_TX_ERR_VALS_ILLEGAL_INBAND_TAGS_MASK 0x13975#define ETH_TX_ERR_VALS_ILLEGAL_INBAND_TAGS_SHIFT 33976#define ETH_TX_ERR_VALS_VLAN_INSERTION_W_INBAND_TAG_MASK 0x13977#define ETH_TX_ERR_VALS_VLAN_INSERTION_W_INBAND_TAG_SHIFT 43978#define ETH_TX_ERR_VALS_MTU_VIOLATION_MASK 0x13979#define ETH_TX_ERR_VALS_MTU_VIOLATION_SHIFT 53980#define ETH_TX_ERR_VALS_ILLEGAL_CONTROL_FRAME_MASK 0x13981#define ETH_TX_ERR_VALS_ILLEGAL_CONTROL_FRAME_SHIFT 63982#define ETH_TX_ERR_VALS_ILLEGAL_BD_FLAGS_MASK 0x13983#define ETH_TX_ERR_VALS_ILLEGAL_BD_FLAGS_SHIFT 73984#define ETH_TX_ERR_VALS_RESERVED_MASK 0xFF3985#define ETH_TX_ERR_VALS_RESERVED_SHIFT 83986};3987 3988/* vport rss configuration data */3989struct eth_vport_rss_config {3990 __le16 capabilities;3991#define ETH_VPORT_RSS_CONFIG_IPV4_CAPABILITY_MASK 0x13992#define ETH_VPORT_RSS_CONFIG_IPV4_CAPABILITY_SHIFT 03993#define ETH_VPORT_RSS_CONFIG_IPV6_CAPABILITY_MASK 0x13994#define ETH_VPORT_RSS_CONFIG_IPV6_CAPABILITY_SHIFT 13995#define ETH_VPORT_RSS_CONFIG_IPV4_TCP_CAPABILITY_MASK 0x13996#define ETH_VPORT_RSS_CONFIG_IPV4_TCP_CAPABILITY_SHIFT 23997#define ETH_VPORT_RSS_CONFIG_IPV6_TCP_CAPABILITY_MASK 0x13998#define ETH_VPORT_RSS_CONFIG_IPV6_TCP_CAPABILITY_SHIFT 33999#define ETH_VPORT_RSS_CONFIG_IPV4_UDP_CAPABILITY_MASK 0x14000#define ETH_VPORT_RSS_CONFIG_IPV4_UDP_CAPABILITY_SHIFT 44001#define ETH_VPORT_RSS_CONFIG_IPV6_UDP_CAPABILITY_MASK 0x14002#define ETH_VPORT_RSS_CONFIG_IPV6_UDP_CAPABILITY_SHIFT 54003#define ETH_VPORT_RSS_CONFIG_EN_5_TUPLE_CAPABILITY_MASK 0x14004#define ETH_VPORT_RSS_CONFIG_EN_5_TUPLE_CAPABILITY_SHIFT 64005#define ETH_VPORT_RSS_CONFIG_RESERVED0_MASK 0x1FF4006#define ETH_VPORT_RSS_CONFIG_RESERVED0_SHIFT 74007 u8 rss_id;4008 u8 rss_mode;4009 u8 update_rss_key;4010 u8 update_rss_ind_table;4011 u8 update_rss_capabilities;4012 u8 tbl_size;4013 u8 ind_table_mask_valid;4014 u8 reserved2[3];4015 __le16 indirection_table[ETH_RSS_IND_TABLE_ENTRIES_NUM];4016 __le32 ind_table_mask[ETH_RSS_IND_TABLE_MASK_SIZE_REGS];4017 __le32 rss_key[ETH_RSS_KEY_SIZE_REGS];4018 __le32 reserved3;4019};4020 4021/* eth vport RSS mode */4022enum eth_vport_rss_mode {4023 ETH_VPORT_RSS_MODE_DISABLED,4024 ETH_VPORT_RSS_MODE_REGULAR,4025 MAX_ETH_VPORT_RSS_MODE4026};4027 4028/* Command for setting classification flags for a vport $$KEEP_ENDIANNESS$$ */4029struct eth_vport_rx_mode {4030 __le16 state;4031#define ETH_VPORT_RX_MODE_UCAST_DROP_ALL_MASK 0x14032#define ETH_VPORT_RX_MODE_UCAST_DROP_ALL_SHIFT 04033#define ETH_VPORT_RX_MODE_UCAST_ACCEPT_ALL_MASK 0x14034#define ETH_VPORT_RX_MODE_UCAST_ACCEPT_ALL_SHIFT 14035#define ETH_VPORT_RX_MODE_UCAST_ACCEPT_UNMATCHED_MASK 0x14036#define ETH_VPORT_RX_MODE_UCAST_ACCEPT_UNMATCHED_SHIFT 24037#define ETH_VPORT_RX_MODE_MCAST_DROP_ALL_MASK 0x14038#define ETH_VPORT_RX_MODE_MCAST_DROP_ALL_SHIFT 34039#define ETH_VPORT_RX_MODE_MCAST_ACCEPT_ALL_MASK 0x14040#define ETH_VPORT_RX_MODE_MCAST_ACCEPT_ALL_SHIFT 44041#define ETH_VPORT_RX_MODE_BCAST_ACCEPT_ALL_MASK 0x14042#define ETH_VPORT_RX_MODE_BCAST_ACCEPT_ALL_SHIFT 54043#define ETH_VPORT_RX_MODE_ACCEPT_ANY_VNI_MASK 0x14044#define ETH_VPORT_RX_MODE_ACCEPT_ANY_VNI_SHIFT 64045#define ETH_VPORT_RX_MODE_RESERVED1_MASK 0x1FF4046#define ETH_VPORT_RX_MODE_RESERVED1_SHIFT 74047};4048 4049/* Command for setting tpa parameters */4050struct eth_vport_tpa_param {4051 u8 tpa_ipv4_en_flg;4052 u8 tpa_ipv6_en_flg;4053 u8 tpa_ipv4_tunn_en_flg;4054 u8 tpa_ipv6_tunn_en_flg;4055 u8 tpa_pkt_split_flg;4056 u8 tpa_hdr_data_split_flg;4057 u8 tpa_gro_consistent_flg;4058 4059 u8 tpa_max_aggs_num;4060 4061 __le16 tpa_max_size;4062 __le16 tpa_min_size_to_start;4063 4064 __le16 tpa_min_size_to_cont;4065 u8 max_buff_num;4066 u8 reserved;4067};4068 4069/* Command for setting classification flags for a vport $$KEEP_ENDIANNESS$$ */4070struct eth_vport_tx_mode {4071 __le16 state;4072#define ETH_VPORT_TX_MODE_UCAST_DROP_ALL_MASK 0x14073#define ETH_VPORT_TX_MODE_UCAST_DROP_ALL_SHIFT 04074#define ETH_VPORT_TX_MODE_UCAST_ACCEPT_ALL_MASK 0x14075#define ETH_VPORT_TX_MODE_UCAST_ACCEPT_ALL_SHIFT 14076#define ETH_VPORT_TX_MODE_MCAST_DROP_ALL_MASK 0x14077#define ETH_VPORT_TX_MODE_MCAST_DROP_ALL_SHIFT 24078#define ETH_VPORT_TX_MODE_MCAST_ACCEPT_ALL_MASK 0x14079#define ETH_VPORT_TX_MODE_MCAST_ACCEPT_ALL_SHIFT 34080#define ETH_VPORT_TX_MODE_BCAST_ACCEPT_ALL_MASK 0x14081#define ETH_VPORT_TX_MODE_BCAST_ACCEPT_ALL_SHIFT 44082#define ETH_VPORT_TX_MODE_RESERVED1_MASK 0x7FF4083#define ETH_VPORT_TX_MODE_RESERVED1_SHIFT 54084};4085 4086/* GFT filter update action type */4087enum gft_filter_update_action {4088 GFT_ADD_FILTER,4089 GFT_DELETE_FILTER,4090 MAX_GFT_FILTER_UPDATE_ACTION4091};4092 4093/* Ramrod data for rx create gft action */4094struct rx_create_gft_action_ramrod_data {4095 u8 vport_id;4096 u8 reserved[7];4097};4098 4099/* Ramrod data for rx create openflow action */4100struct rx_create_openflow_action_ramrod_data {4101 u8 vport_id;4102 u8 reserved[7];4103};4104 4105/* Ramrod data for rx add openflow filter */4106struct rx_openflow_filter_ramrod_data {4107 __le16 action_icid;4108 u8 priority;4109 u8 reserved0;4110 __le32 tenant_id;4111 __le16 dst_mac_hi;4112 __le16 dst_mac_mid;4113 __le16 dst_mac_lo;4114 __le16 src_mac_hi;4115 __le16 src_mac_mid;4116 __le16 src_mac_lo;4117 __le16 vlan_id;4118 __le16 l2_eth_type;4119 u8 ipv4_dscp;4120 u8 ipv4_frag_type;4121 u8 ipv4_over_ip;4122 u8 tenant_id_exists;4123 __le32 ipv4_dst_addr;4124 __le32 ipv4_src_addr;4125 __le16 l4_dst_port;4126 __le16 l4_src_port;4127};4128 4129/* Ramrod data for rx queue start ramrod */4130struct rx_queue_start_ramrod_data {4131 __le16 rx_queue_id;4132 __le16 num_of_pbl_pages;4133 __le16 bd_max_bytes;4134 __le16 sb_id;4135 u8 sb_index;4136 u8 vport_id;4137 u8 default_rss_queue_flg;4138 u8 complete_cqe_flg;4139 u8 complete_event_flg;4140 u8 stats_counter_id;4141 u8 pin_context;4142 u8 pxp_tph_valid_bd;4143 u8 pxp_tph_valid_pkt;4144 u8 pxp_st_hint;4145 4146 __le16 pxp_st_index;4147 u8 pmd_mode;4148 4149 u8 notify_en;4150 u8 toggle_val;4151 4152 u8 vf_rx_prod_index;4153 u8 vf_rx_prod_use_zone_a;4154 u8 reserved[5];4155 __le16 reserved1;4156 struct regpair cqe_pbl_addr;4157 struct regpair bd_base;4158 struct regpair reserved2;4159};4160 4161/* Ramrod data for rx queue stop ramrod */4162struct rx_queue_stop_ramrod_data {4163 __le16 rx_queue_id;4164 u8 complete_cqe_flg;4165 u8 complete_event_flg;4166 u8 vport_id;4167 u8 reserved[3];4168};4169 4170/* Ramrod data for rx queue update ramrod */4171struct rx_queue_update_ramrod_data {4172 __le16 rx_queue_id;4173 u8 complete_cqe_flg;4174 u8 complete_event_flg;4175 u8 vport_id;4176 u8 set_default_rss_queue;4177 u8 reserved[3];4178 u8 reserved1;4179 u8 reserved2;4180 u8 reserved3;4181 __le16 reserved4;4182 __le16 reserved5;4183 struct regpair reserved6;4184};4185 4186/* Ramrod data for rx Add UDP Filter */4187struct rx_udp_filter_ramrod_data {4188 __le16 action_icid;4189 __le16 vlan_id;4190 u8 ip_type;4191 u8 tenant_id_exists;4192 __le16 reserved1;4193 __le32 ip_dst_addr[4];4194 __le32 ip_src_addr[4];4195 __le16 udp_dst_port;4196 __le16 udp_src_port;4197 __le32 tenant_id;4198};4199 4200/* Add or delete GFT filter - filter is packet header of type of packet wished4201 * to pass certain FW flow.4202 */4203struct rx_update_gft_filter_ramrod_data {4204 struct regpair pkt_hdr_addr;4205 __le16 pkt_hdr_length;4206 __le16 action_icid;4207 __le16 rx_qid;4208 __le16 flow_id;4209 __le16 vport_id;4210 u8 action_icid_valid;4211 u8 rx_qid_valid;4212 u8 flow_id_valid;4213 u8 filter_action;4214 u8 assert_on_error;4215 u8 inner_vlan_removal_en;4216};4217 4218/* Ramrod data for tx queue start ramrod */4219struct tx_queue_start_ramrod_data {4220 __le16 sb_id;4221 u8 sb_index;4222 u8 vport_id;4223 u8 reserved0;4224 u8 stats_counter_id;4225 __le16 qm_pq_id;4226 u8 flags;4227#define TX_QUEUE_START_RAMROD_DATA_DISABLE_OPPORTUNISTIC_MASK 0x14228#define TX_QUEUE_START_RAMROD_DATA_DISABLE_OPPORTUNISTIC_SHIFT 04229#define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_PKT_DUP_MASK 0x14230#define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_PKT_DUP_SHIFT 14231#define TX_QUEUE_START_RAMROD_DATA_PMD_MODE_MASK 0x14232#define TX_QUEUE_START_RAMROD_DATA_PMD_MODE_SHIFT 24233#define TX_QUEUE_START_RAMROD_DATA_NOTIFY_EN_MASK 0x14234#define TX_QUEUE_START_RAMROD_DATA_NOTIFY_EN_SHIFT 34235#define TX_QUEUE_START_RAMROD_DATA_PIN_CONTEXT_MASK 0x14236#define TX_QUEUE_START_RAMROD_DATA_PIN_CONTEXT_SHIFT 44237#define TX_QUEUE_START_RAMROD_DATA_RESERVED1_MASK 0x74238#define TX_QUEUE_START_RAMROD_DATA_RESERVED1_SHIFT 54239 u8 pxp_st_hint;4240 u8 pxp_tph_valid_bd;4241 u8 pxp_tph_valid_pkt;4242 __le16 pxp_st_index;4243 u8 comp_agg_size;4244 u8 reserved3;4245 __le16 queue_zone_id;4246 __le16 reserved2;4247 __le16 pbl_size;4248 __le16 tx_queue_id;4249 __le16 same_as_last_id;4250 __le16 reserved[3];4251 struct regpair pbl_base_addr;4252 struct regpair bd_cons_address;4253};4254 4255/* Ramrod data for tx queue stop ramrod */4256struct tx_queue_stop_ramrod_data {4257 __le16 reserved[4];4258};4259 4260/* Ramrod data for tx queue update ramrod */4261struct tx_queue_update_ramrod_data {4262 __le16 update_qm_pq_id_flg;4263 __le16 qm_pq_id;4264 __le32 reserved0;4265 struct regpair reserved1[5];4266};4267 4268/* Inner to Inner VLAN priority map update mode */4269enum update_in_to_in_pri_map_mode_enum {4270 ETH_IN_TO_IN_PRI_MAP_UPDATE_DISABLED,4271 ETH_IN_TO_IN_PRI_MAP_UPDATE_NON_RDMA_TBL,4272 ETH_IN_TO_IN_PRI_MAP_UPDATE_RDMA_TBL,4273 MAX_UPDATE_IN_TO_IN_PRI_MAP_MODE_ENUM4274};4275 4276/* Ramrod data for vport update ramrod */4277struct vport_filter_update_ramrod_data {4278 struct eth_filter_cmd_header filter_cmd_hdr;4279 struct eth_filter_cmd filter_cmds[ETH_FILTER_RULES_COUNT];4280};4281 4282/* Ramrod data for vport start ramrod */4283struct vport_start_ramrod_data {4284 u8 vport_id;4285 u8 sw_fid;4286 __le16 mtu;4287 u8 drop_ttl0_en;4288 u8 inner_vlan_removal_en;4289 struct eth_vport_rx_mode rx_mode;4290 struct eth_vport_tx_mode tx_mode;4291 struct eth_vport_tpa_param tpa_param;4292 __le16 default_vlan;4293 u8 tx_switching_en;4294 u8 anti_spoofing_en;4295 u8 default_vlan_en;4296 u8 handle_ptp_pkts;4297 u8 silent_vlan_removal_en;4298 u8 untagged;4299 struct eth_tx_err_vals tx_err_behav;4300 u8 zero_placement_offset;4301 u8 ctl_frame_mac_check_en;4302 u8 ctl_frame_ethtype_check_en;4303 u8 reserved0;4304 u8 reserved1;4305 u8 tx_dst_port_mode_config;4306 u8 dst_vport_id;4307 u8 tx_dst_port_mode;4308 u8 dst_vport_id_valid;4309 u8 wipe_inner_vlan_pri_en;4310 u8 reserved2[2];4311 struct eth_in_to_in_pri_map_cfg in_to_in_vlan_pri_map_cfg;4312};4313 4314/* Ramrod data for vport stop ramrod */4315struct vport_stop_ramrod_data {4316 u8 vport_id;4317 u8 reserved[7];4318};4319 4320/* Ramrod data for vport update ramrod */4321struct vport_update_ramrod_data_cmn {4322 u8 vport_id;4323 u8 update_rx_active_flg;4324 u8 rx_active_flg;4325 u8 update_tx_active_flg;4326 u8 tx_active_flg;4327 u8 update_rx_mode_flg;4328 u8 update_tx_mode_flg;4329 u8 update_approx_mcast_flg;4330 4331 u8 update_rss_flg;4332 u8 update_inner_vlan_removal_en_flg;4333 4334 u8 inner_vlan_removal_en;4335 u8 update_tpa_param_flg;4336 u8 update_tpa_en_flg;4337 u8 update_tx_switching_en_flg;4338 4339 u8 tx_switching_en;4340 u8 update_anti_spoofing_en_flg;4341 4342 u8 anti_spoofing_en;4343 u8 update_handle_ptp_pkts;4344 4345 u8 handle_ptp_pkts;4346 u8 update_default_vlan_en_flg;4347 4348 u8 default_vlan_en;4349 4350 u8 update_default_vlan_flg;4351 4352 __le16 default_vlan;4353 u8 update_accept_any_vlan_flg;4354 4355 u8 accept_any_vlan;4356 u8 silent_vlan_removal_en;4357 u8 update_mtu_flg;4358 4359 __le16 mtu;4360 u8 update_ctl_frame_checks_en_flg;4361 u8 ctl_frame_mac_check_en;4362 u8 ctl_frame_ethtype_check_en;4363 u8 update_in_to_in_pri_map_mode;4364 u8 in_to_in_pri_map[8];4365 u8 update_tx_dst_port_mode_flg;4366 u8 tx_dst_port_mode_config;4367 u8 dst_vport_id;4368 u8 tx_dst_port_mode;4369 u8 dst_vport_id_valid;4370 u8 reserved[1];4371};4372 4373struct vport_update_ramrod_mcast {4374 __le32 bins[ETH_MULTICAST_MAC_BINS_IN_REGS];4375};4376 4377/* Ramrod data for vport update ramrod */4378struct vport_update_ramrod_data {4379 struct vport_update_ramrod_data_cmn common;4380 4381 struct eth_vport_rx_mode rx_mode;4382 struct eth_vport_tx_mode tx_mode;4383 __le32 reserved[3];4384 struct eth_vport_tpa_param tpa_param;4385 struct vport_update_ramrod_mcast approx_mcast;4386 struct eth_vport_rss_config rss_config;4387};4388 4389struct xstorm_eth_conn_ag_ctx_dq_ext_ldpart {4390 u8 reserved0;4391 u8 state;4392 u8 flags0;4393#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM0_MASK 0x14394#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM0_SHIFT 04395#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED1_MASK 0x14396#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED1_SHIFT 14397#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED2_MASK 0x14398#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED2_SHIFT 24399#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM3_MASK 0x14400#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM3_SHIFT 34401#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED3_MASK 0x14402#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED3_SHIFT 44403#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED4_MASK 0x14404#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED4_SHIFT 54405#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED5_MASK 0x14406#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED5_SHIFT 64407#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED6_MASK 0x14408#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED6_SHIFT 74409 u8 flags1;4410#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED7_MASK 0x14411#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED7_SHIFT 04412#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED8_MASK 0x14413#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED8_SHIFT 14414#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_MASK 0x14415#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_SHIFT 24416#define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_MASK 0x14417#define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_SHIFT 34418#define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED2_MASK 0x14419#define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED2_SHIFT 44420#define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED3_MASK 0x14421#define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED3_SHIFT 54422#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_MASK 0x14423#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_SHIFT 64424#define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_MASK 0x14425#define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_SHIFT 74426 u8 flags2;4427#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0_MASK 0x34428#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0_SHIFT 04429#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1_MASK 0x34430#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1_SHIFT 24431#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2_MASK 0x34432#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2_SHIFT 44433#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3_MASK 0x34434#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3_SHIFT 64435 u8 flags3;4436#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4_MASK 0x34437#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4_SHIFT 04438#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5_MASK 0x34439#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5_SHIFT 24440#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6_MASK 0x34441#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6_SHIFT 44442#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7_MASK 0x34443#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7_SHIFT 64444 u8 flags4;4445#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8_MASK 0x34446#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8_SHIFT 04447#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9_MASK 0x34448#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9_SHIFT 24449#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10_MASK 0x34450#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10_SHIFT 44451#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11_MASK 0x34452#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11_SHIFT 64453 u8 flags5;4454#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12_MASK 0x34455#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12_SHIFT 04456#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13_MASK 0x34457#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13_SHIFT 24458#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14_MASK 0x34459#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14_SHIFT 44460#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15_MASK 0x34461#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15_SHIFT 64462 u8 flags6;4463#define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_MASK 0x34464#define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_SHIFT 04465#define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_MASK 0x34466#define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_SHIFT 24467#define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_MASK 0x34468#define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_SHIFT 44469#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_MASK 0x34470#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_SHIFT 64471 u8 flags7;4472#define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_MASK 0x34473#define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_SHIFT 04474#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED10_MASK 0x34475#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED10_SHIFT 24476#define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_MASK 0x34477#define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_SHIFT 44478#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0EN_MASK 0x14479#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0EN_SHIFT 64480#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1EN_MASK 0x14481#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1EN_SHIFT 74482 u8 flags8;4483#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2EN_MASK 0x14484#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2EN_SHIFT 04485#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3EN_MASK 0x14486#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3EN_SHIFT 14487#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4EN_MASK 0x14488#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4EN_SHIFT 24489#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5EN_MASK 0x14490#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5EN_SHIFT 34491#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6EN_MASK 0x14492#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6EN_SHIFT 44493#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7EN_MASK 0x14494#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7EN_SHIFT 54495#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8EN_MASK 0x14496#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8EN_SHIFT 64497#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9EN_MASK 0x14498#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9EN_SHIFT 74499 u8 flags9;4500#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10EN_MASK 0x14501#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10EN_SHIFT 04502#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11EN_MASK 0x14503#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11EN_SHIFT 14504#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12EN_MASK 0x14505#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12EN_SHIFT 24506#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13EN_MASK 0x14507#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13EN_SHIFT 34508#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14EN_MASK 0x14509#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14EN_SHIFT 44510#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15EN_MASK 0x14511#define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15EN_SHIFT 54512#define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_EN_MASK 0x14513#define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_EN_SHIFT 64514#define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_EN_MASK 0x14515#define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_EN_SHIFT 74516 u8 flags10;4517#define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_EN_MASK 0x14518#define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_EN_SHIFT 04519#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_EN_MASK 0x14520#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_EN_SHIFT 14521#define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_EN_MASK 0x14522#define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_EN_SHIFT 24523#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED11_MASK 0x14524#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED11_SHIFT 34525#define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_EN_MASK 0x14526#define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_EN_SHIFT 44527#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_EN_RESERVED_MASK 0x14528#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_EN_RESERVED_SHIFT 54529#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED12_MASK 0x14530#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED12_SHIFT 64531#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED13_MASK 0x14532#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED13_SHIFT 74533 u8 flags11;4534#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED14_MASK 0x14535#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED14_SHIFT 04536#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED15_MASK 0x14537#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED15_SHIFT 14538#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_DEC_RULE_EN_MASK 0x14539#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_DEC_RULE_EN_SHIFT 24540#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE5EN_MASK 0x14541#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE5EN_SHIFT 34542#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE6EN_MASK 0x14543#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE6EN_SHIFT 44544#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE7EN_MASK 0x14545#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE7EN_SHIFT 54546#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED1_MASK 0x14547#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED1_SHIFT 64548#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE9EN_MASK 0x14549#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE9EN_SHIFT 74550 u8 flags12;4551#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE10EN_MASK 0x14552#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE10EN_SHIFT 04553#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE11EN_MASK 0x14554#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE11EN_SHIFT 14555#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED2_MASK 0x14556#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED2_SHIFT 24557#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED3_MASK 0x14558#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED3_SHIFT 34559#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE14EN_MASK 0x14560#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE14EN_SHIFT 44561#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE15EN_MASK 0x14562#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE15EN_SHIFT 54563#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE16EN_MASK 0x14564#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE16EN_SHIFT 64565#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE17EN_MASK 0x14566#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE17EN_SHIFT 74567 u8 flags13;4568#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE18EN_MASK 0x14569#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE18EN_SHIFT 04570#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE19EN_MASK 0x14571#define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE19EN_SHIFT 14572#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED4_MASK 0x14573#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED4_SHIFT 24574#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED5_MASK 0x14575#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED5_SHIFT 34576#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED6_MASK 0x14577#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED6_SHIFT 44578#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED7_MASK 0x14579#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED7_SHIFT 54580#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED8_MASK 0x14581#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED8_SHIFT 64582#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED9_MASK 0x14583#define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED9_SHIFT 74584 u8 flags14;4585#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_USE_EXT_HDR_MASK 0x14586#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_USE_EXT_HDR_SHIFT 04587#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_RAW_L3L4_MASK 0x14588#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_RAW_L3L4_SHIFT 14589#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_INBAND_PROP_HDR_MASK 0x14590#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_INBAND_PROP_HDR_SHIFT 24591#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_EXT_TUNNEL_MASK 0x14592#define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_EXT_TUNNEL_SHIFT 34593#define E4XSTORMETHCONNAGCTXDQEXTLDPART_L2_EDPM_ENABLE_MASK 0x14594#define E4XSTORMETHCONNAGCTXDQEXTLDPART_L2_EDPM_ENABLE_SHIFT 44595#define E4XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_MASK 0x14596#define E4XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_SHIFT 54597#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_MASK 0x34598#define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_SHIFT 64599 u8 edpm_event_id;4600 __le16 physical_q0;4601 __le16 e5_reserved1;4602 __le16 edpm_num_bds;4603 __le16 tx_bd_cons;4604 __le16 tx_bd_prod;4605 __le16 updated_qm_pq_id;4606 __le16 conn_dpi;4607 u8 byte3;4608 u8 byte4;4609 u8 byte5;4610 u8 byte6;4611 __le32 reg0;4612 __le32 reg1;4613 __le32 reg2;4614 __le32 reg3;4615 __le32 reg4;4616};4617 4618struct mstorm_eth_conn_ag_ctx {4619 u8 byte0;4620 u8 byte1;4621 u8 flags0;4622#define MSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x14623#define MSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 04624#define MSTORM_ETH_CONN_AG_CTX_BIT1_MASK 0x14625#define MSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT 14626#define MSTORM_ETH_CONN_AG_CTX_CF0_MASK 0x34627#define MSTORM_ETH_CONN_AG_CTX_CF0_SHIFT 24628#define MSTORM_ETH_CONN_AG_CTX_CF1_MASK 0x34629#define MSTORM_ETH_CONN_AG_CTX_CF1_SHIFT 44630#define MSTORM_ETH_CONN_AG_CTX_CF2_MASK 0x34631#define MSTORM_ETH_CONN_AG_CTX_CF2_SHIFT 64632 u8 flags1;4633#define MSTORM_ETH_CONN_AG_CTX_CF0EN_MASK 0x14634#define MSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT 04635#define MSTORM_ETH_CONN_AG_CTX_CF1EN_MASK 0x14636#define MSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT 14637#define MSTORM_ETH_CONN_AG_CTX_CF2EN_MASK 0x14638#define MSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT 24639#define MSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK 0x14640#define MSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT 34641#define MSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK 0x14642#define MSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT 44643#define MSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK 0x14644#define MSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT 54645#define MSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK 0x14646#define MSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT 64647#define MSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK 0x14648#define MSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT 74649 __le16 word0;4650 __le16 word1;4651 __le32 reg0;4652 __le32 reg1;4653};4654 4655struct xstorm_eth_hw_conn_ag_ctx {4656 u8 reserved0;4657 u8 state;4658 u8 flags0;4659#define XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x14660#define XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 04661#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED1_MASK 0x14662#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED1_SHIFT 14663#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED2_MASK 0x14664#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED2_SHIFT 24665#define XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x14666#define XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 34667#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED3_MASK 0x14668#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED3_SHIFT 44669#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED4_MASK 0x14670#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED4_SHIFT 54671#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED5_MASK 0x14672#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED5_SHIFT 64673#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED6_MASK 0x14674#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED6_SHIFT 74675 u8 flags1;4676#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED7_MASK 0x14677#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED7_SHIFT 04678#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED8_MASK 0x14679#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED8_SHIFT 14680#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_MASK 0x14681#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_SHIFT 24682#define XSTORM_ETH_HW_CONN_AG_CTX_BIT11_MASK 0x14683#define XSTORM_ETH_HW_CONN_AG_CTX_BIT11_SHIFT 34684#define XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED2_MASK 0x14685#define XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED2_SHIFT 44686#define XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED3_MASK 0x14687#define XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED3_SHIFT 54688#define XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_MASK 0x14689#define XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT 64690#define XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_MASK 0x14691#define XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT 74692 u8 flags2;4693#define XSTORM_ETH_HW_CONN_AG_CTX_CF0_MASK 0x34694#define XSTORM_ETH_HW_CONN_AG_CTX_CF0_SHIFT 04695#define XSTORM_ETH_HW_CONN_AG_CTX_CF1_MASK 0x34696#define XSTORM_ETH_HW_CONN_AG_CTX_CF1_SHIFT 24697#define XSTORM_ETH_HW_CONN_AG_CTX_CF2_MASK 0x34698#define XSTORM_ETH_HW_CONN_AG_CTX_CF2_SHIFT 44699#define XSTORM_ETH_HW_CONN_AG_CTX_CF3_MASK 0x34700#define XSTORM_ETH_HW_CONN_AG_CTX_CF3_SHIFT 64701 u8 flags3;4702#define XSTORM_ETH_HW_CONN_AG_CTX_CF4_MASK 0x34703#define XSTORM_ETH_HW_CONN_AG_CTX_CF4_SHIFT 04704#define XSTORM_ETH_HW_CONN_AG_CTX_CF5_MASK 0x34705#define XSTORM_ETH_HW_CONN_AG_CTX_CF5_SHIFT 24706#define XSTORM_ETH_HW_CONN_AG_CTX_CF6_MASK 0x34707#define XSTORM_ETH_HW_CONN_AG_CTX_CF6_SHIFT 44708#define XSTORM_ETH_HW_CONN_AG_CTX_CF7_MASK 0x34709#define XSTORM_ETH_HW_CONN_AG_CTX_CF7_SHIFT 64710 u8 flags4;4711#define XSTORM_ETH_HW_CONN_AG_CTX_CF8_MASK 0x34712#define XSTORM_ETH_HW_CONN_AG_CTX_CF8_SHIFT 04713#define XSTORM_ETH_HW_CONN_AG_CTX_CF9_MASK 0x34714#define XSTORM_ETH_HW_CONN_AG_CTX_CF9_SHIFT 24715#define XSTORM_ETH_HW_CONN_AG_CTX_CF10_MASK 0x34716#define XSTORM_ETH_HW_CONN_AG_CTX_CF10_SHIFT 44717#define XSTORM_ETH_HW_CONN_AG_CTX_CF11_MASK 0x34718#define XSTORM_ETH_HW_CONN_AG_CTX_CF11_SHIFT 64719 u8 flags5;4720#define XSTORM_ETH_HW_CONN_AG_CTX_CF12_MASK 0x34721#define XSTORM_ETH_HW_CONN_AG_CTX_CF12_SHIFT 04722#define XSTORM_ETH_HW_CONN_AG_CTX_CF13_MASK 0x34723#define XSTORM_ETH_HW_CONN_AG_CTX_CF13_SHIFT 24724#define XSTORM_ETH_HW_CONN_AG_CTX_CF14_MASK 0x34725#define XSTORM_ETH_HW_CONN_AG_CTX_CF14_SHIFT 44726#define XSTORM_ETH_HW_CONN_AG_CTX_CF15_MASK 0x34727#define XSTORM_ETH_HW_CONN_AG_CTX_CF15_SHIFT 64728 u8 flags6;4729#define XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK 0x34730#define XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT 04731#define XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_MASK 0x34732#define XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT 24733#define XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_MASK 0x34734#define XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_SHIFT 44735#define XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_MASK 0x34736#define XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_SHIFT 64737 u8 flags7;4738#define XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_MASK 0x34739#define XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_SHIFT 04740#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED10_MASK 0x34741#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED10_SHIFT 24742#define XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_MASK 0x34743#define XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_SHIFT 44744#define XSTORM_ETH_HW_CONN_AG_CTX_CF0EN_MASK 0x14745#define XSTORM_ETH_HW_CONN_AG_CTX_CF0EN_SHIFT 64746#define XSTORM_ETH_HW_CONN_AG_CTX_CF1EN_MASK 0x14747#define XSTORM_ETH_HW_CONN_AG_CTX_CF1EN_SHIFT 74748 u8 flags8;4749#define XSTORM_ETH_HW_CONN_AG_CTX_CF2EN_MASK 0x14750#define XSTORM_ETH_HW_CONN_AG_CTX_CF2EN_SHIFT 04751#define XSTORM_ETH_HW_CONN_AG_CTX_CF3EN_MASK 0x14752#define XSTORM_ETH_HW_CONN_AG_CTX_CF3EN_SHIFT 14753#define XSTORM_ETH_HW_CONN_AG_CTX_CF4EN_MASK 0x14754#define XSTORM_ETH_HW_CONN_AG_CTX_CF4EN_SHIFT 24755#define XSTORM_ETH_HW_CONN_AG_CTX_CF5EN_MASK 0x14756#define XSTORM_ETH_HW_CONN_AG_CTX_CF5EN_SHIFT 34757#define XSTORM_ETH_HW_CONN_AG_CTX_CF6EN_MASK 0x14758#define XSTORM_ETH_HW_CONN_AG_CTX_CF6EN_SHIFT 44759#define XSTORM_ETH_HW_CONN_AG_CTX_CF7EN_MASK 0x14760#define XSTORM_ETH_HW_CONN_AG_CTX_CF7EN_SHIFT 54761#define XSTORM_ETH_HW_CONN_AG_CTX_CF8EN_MASK 0x14762#define XSTORM_ETH_HW_CONN_AG_CTX_CF8EN_SHIFT 64763#define XSTORM_ETH_HW_CONN_AG_CTX_CF9EN_MASK 0x14764#define XSTORM_ETH_HW_CONN_AG_CTX_CF9EN_SHIFT 74765 u8 flags9;4766#define XSTORM_ETH_HW_CONN_AG_CTX_CF10EN_MASK 0x14767#define XSTORM_ETH_HW_CONN_AG_CTX_CF10EN_SHIFT 04768#define XSTORM_ETH_HW_CONN_AG_CTX_CF11EN_MASK 0x14769#define XSTORM_ETH_HW_CONN_AG_CTX_CF11EN_SHIFT 14770#define XSTORM_ETH_HW_CONN_AG_CTX_CF12EN_MASK 0x14771#define XSTORM_ETH_HW_CONN_AG_CTX_CF12EN_SHIFT 24772#define XSTORM_ETH_HW_CONN_AG_CTX_CF13EN_MASK 0x14773#define XSTORM_ETH_HW_CONN_AG_CTX_CF13EN_SHIFT 34774#define XSTORM_ETH_HW_CONN_AG_CTX_CF14EN_MASK 0x14775#define XSTORM_ETH_HW_CONN_AG_CTX_CF14EN_SHIFT 44776#define XSTORM_ETH_HW_CONN_AG_CTX_CF15EN_MASK 0x14777#define XSTORM_ETH_HW_CONN_AG_CTX_CF15EN_SHIFT 54778#define XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK 0x14779#define XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT 64780#define XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK 0x14781#define XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT 74782 u8 flags10;4783#define XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_EN_MASK 0x14784#define XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_EN_SHIFT 04785#define XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_EN_MASK 0x14786#define XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT 14787#define XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x14788#define XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 24789#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED11_MASK 0x14790#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED11_SHIFT 34791#define XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x14792#define XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 44793#define XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK 0x14794#define XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 54795#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED12_MASK 0x14796#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED12_SHIFT 64797#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED13_MASK 0x14798#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED13_SHIFT 74799 u8 flags11;4800#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED14_MASK 0x14801#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED14_SHIFT 04802#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED15_MASK 0x14803#define XSTORM_ETH_HW_CONN_AG_CTX_RESERVED15_SHIFT 14804#define XSTORM_ETH_HW_CONN_AG_CTX_TX_DEC_RULE_EN_MASK 0x14805#define XSTORM_ETH_HW_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT 24806#define XSTORM_ETH_HW_CONN_AG_CTX_RULE5EN_MASK 0x14807#define XSTORM_ETH_HW_CONN_AG_CTX_RULE5EN_SHIFT 34808#define XSTORM_ETH_HW_CONN_AG_CTX_RULE6EN_MASK 0x14809#define XSTORM_ETH_HW_CONN_AG_CTX_RULE6EN_SHIFT 44810#define XSTORM_ETH_HW_CONN_AG_CTX_RULE7EN_MASK 0x14811#define XSTORM_ETH_HW_CONN_AG_CTX_RULE7EN_SHIFT 54812#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED1_MASK 0x14813#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED1_SHIFT 64814#define XSTORM_ETH_HW_CONN_AG_CTX_RULE9EN_MASK 0x14815#define XSTORM_ETH_HW_CONN_AG_CTX_RULE9EN_SHIFT 74816 u8 flags12;4817#define XSTORM_ETH_HW_CONN_AG_CTX_RULE10EN_MASK 0x14818#define XSTORM_ETH_HW_CONN_AG_CTX_RULE10EN_SHIFT 04819#define XSTORM_ETH_HW_CONN_AG_CTX_RULE11EN_MASK 0x14820#define XSTORM_ETH_HW_CONN_AG_CTX_RULE11EN_SHIFT 14821#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED2_MASK 0x14822#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED2_SHIFT 24823#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED3_MASK 0x14824#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED3_SHIFT 34825#define XSTORM_ETH_HW_CONN_AG_CTX_RULE14EN_MASK 0x14826#define XSTORM_ETH_HW_CONN_AG_CTX_RULE14EN_SHIFT 44827#define XSTORM_ETH_HW_CONN_AG_CTX_RULE15EN_MASK 0x14828#define XSTORM_ETH_HW_CONN_AG_CTX_RULE15EN_SHIFT 54829#define XSTORM_ETH_HW_CONN_AG_CTX_RULE16EN_MASK 0x14830#define XSTORM_ETH_HW_CONN_AG_CTX_RULE16EN_SHIFT 64831#define XSTORM_ETH_HW_CONN_AG_CTX_RULE17EN_MASK 0x14832#define XSTORM_ETH_HW_CONN_AG_CTX_RULE17EN_SHIFT 74833 u8 flags13;4834#define XSTORM_ETH_HW_CONN_AG_CTX_RULE18EN_MASK 0x14835#define XSTORM_ETH_HW_CONN_AG_CTX_RULE18EN_SHIFT 04836#define XSTORM_ETH_HW_CONN_AG_CTX_RULE19EN_MASK 0x14837#define XSTORM_ETH_HW_CONN_AG_CTX_RULE19EN_SHIFT 14838#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED4_MASK 0x14839#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED4_SHIFT 24840#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED5_MASK 0x14841#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED5_SHIFT 34842#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED6_MASK 0x14843#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED6_SHIFT 44844#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED7_MASK 0x14845#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED7_SHIFT 54846#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED8_MASK 0x14847#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED8_SHIFT 64848#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED9_MASK 0x14849#define XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED9_SHIFT 74850 u8 flags14;4851#define XSTORM_ETH_HW_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK 0x14852#define XSTORM_ETH_HW_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT 04853#define XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK 0x14854#define XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT 14855#define XSTORM_ETH_HW_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK 0x14856#define XSTORM_ETH_HW_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT 24857#define XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK 0x14858#define XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT 34859#define XSTORM_ETH_HW_CONN_AG_CTX_L2_EDPM_ENABLE_MASK 0x14860#define XSTORM_ETH_HW_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT 44861#define XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK 0x14862#define XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT 54863#define XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_MASK 0x34864#define XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_SHIFT 64865 u8 edpm_event_id;4866 __le16 physical_q0;4867 __le16 e5_reserved1;4868 __le16 edpm_num_bds;4869 __le16 tx_bd_cons;4870 __le16 tx_bd_prod;4871 __le16 updated_qm_pq_id;4872 __le16 conn_dpi;4873};4874 4875/* GFT CAM line struct with fields breakout */4876struct gft_cam_line_mapped {4877 __le32 camline;4878#define GFT_CAM_LINE_MAPPED_VALID_MASK 0x14879#define GFT_CAM_LINE_MAPPED_VALID_SHIFT 04880#define GFT_CAM_LINE_MAPPED_IP_VERSION_MASK 0x14881#define GFT_CAM_LINE_MAPPED_IP_VERSION_SHIFT 14882#define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_MASK 0x14883#define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_SHIFT 24884#define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_MASK 0xF4885#define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_SHIFT 34886#define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_MASK 0xF4887#define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_SHIFT 74888#define GFT_CAM_LINE_MAPPED_PF_ID_MASK 0xF4889#define GFT_CAM_LINE_MAPPED_PF_ID_SHIFT 114890#define GFT_CAM_LINE_MAPPED_IP_VERSION_MASK_MASK 0x14891#define GFT_CAM_LINE_MAPPED_IP_VERSION_MASK_SHIFT 154892#define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_MASK_MASK 0x14893#define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_MASK_SHIFT 164894#define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_MASK_MASK 0xF4895#define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_MASK_SHIFT 174896#define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_MASK_MASK 0xF4897#define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_MASK_SHIFT 214898#define GFT_CAM_LINE_MAPPED_PF_ID_MASK_MASK 0xF4899#define GFT_CAM_LINE_MAPPED_PF_ID_MASK_SHIFT 254900#define GFT_CAM_LINE_MAPPED_RESERVED1_MASK 0x74901#define GFT_CAM_LINE_MAPPED_RESERVED1_SHIFT 294902};4903 4904/* Used in gft_profile_key: Indication for ip version */4905enum gft_profile_ip_version {4906 GFT_PROFILE_IPV4 = 0,4907 GFT_PROFILE_IPV6 = 1,4908 MAX_GFT_PROFILE_IP_VERSION4909};4910 4911/* Profile key stucr fot GFT logic in Prs */4912struct gft_profile_key {4913 __le16 profile_key;4914#define GFT_PROFILE_KEY_IP_VERSION_MASK 0x14915#define GFT_PROFILE_KEY_IP_VERSION_SHIFT 04916#define GFT_PROFILE_KEY_TUNNEL_IP_VERSION_MASK 0x14917#define GFT_PROFILE_KEY_TUNNEL_IP_VERSION_SHIFT 14918#define GFT_PROFILE_KEY_UPPER_PROTOCOL_TYPE_MASK 0xF4919#define GFT_PROFILE_KEY_UPPER_PROTOCOL_TYPE_SHIFT 24920#define GFT_PROFILE_KEY_TUNNEL_TYPE_MASK 0xF4921#define GFT_PROFILE_KEY_TUNNEL_TYPE_SHIFT 64922#define GFT_PROFILE_KEY_PF_ID_MASK 0xF4923#define GFT_PROFILE_KEY_PF_ID_SHIFT 104924#define GFT_PROFILE_KEY_RESERVED0_MASK 0x34925#define GFT_PROFILE_KEY_RESERVED0_SHIFT 144926};4927 4928/* Used in gft_profile_key: Indication for tunnel type */4929enum gft_profile_tunnel_type {4930 GFT_PROFILE_NO_TUNNEL = 0,4931 GFT_PROFILE_VXLAN_TUNNEL = 1,4932 GFT_PROFILE_GRE_MAC_OR_NVGRE_TUNNEL = 2,4933 GFT_PROFILE_GRE_IP_TUNNEL = 3,4934 GFT_PROFILE_GENEVE_MAC_TUNNEL = 4,4935 GFT_PROFILE_GENEVE_IP_TUNNEL = 5,4936 MAX_GFT_PROFILE_TUNNEL_TYPE4937};4938 4939/* Used in gft_profile_key: Indication for protocol type */4940enum gft_profile_upper_protocol_type {4941 GFT_PROFILE_ROCE_PROTOCOL = 0,4942 GFT_PROFILE_RROCE_PROTOCOL = 1,4943 GFT_PROFILE_FCOE_PROTOCOL = 2,4944 GFT_PROFILE_ICMP_PROTOCOL = 3,4945 GFT_PROFILE_ARP_PROTOCOL = 4,4946 GFT_PROFILE_USER_TCP_SRC_PORT_1_INNER = 5,4947 GFT_PROFILE_USER_TCP_DST_PORT_1_INNER = 6,4948 GFT_PROFILE_TCP_PROTOCOL = 7,4949 GFT_PROFILE_USER_UDP_DST_PORT_1_INNER = 8,4950 GFT_PROFILE_USER_UDP_DST_PORT_2_OUTER = 9,4951 GFT_PROFILE_UDP_PROTOCOL = 10,4952 GFT_PROFILE_USER_IP_1_INNER = 11,4953 GFT_PROFILE_USER_IP_2_OUTER = 12,4954 GFT_PROFILE_USER_ETH_1_INNER = 13,4955 GFT_PROFILE_USER_ETH_2_OUTER = 14,4956 GFT_PROFILE_RAW = 15,4957 MAX_GFT_PROFILE_UPPER_PROTOCOL_TYPE4958};4959 4960/* GFT RAM line struct */4961struct gft_ram_line {4962 __le32 lo;4963#define GFT_RAM_LINE_VLAN_SELECT_MASK 0x34964#define GFT_RAM_LINE_VLAN_SELECT_SHIFT 04965#define GFT_RAM_LINE_TUNNEL_ENTROPHY_MASK 0x14966#define GFT_RAM_LINE_TUNNEL_ENTROPHY_SHIFT 24967#define GFT_RAM_LINE_TUNNEL_TTL_EQUAL_ONE_MASK 0x14968#define GFT_RAM_LINE_TUNNEL_TTL_EQUAL_ONE_SHIFT 34969#define GFT_RAM_LINE_TUNNEL_TTL_MASK 0x14970#define GFT_RAM_LINE_TUNNEL_TTL_SHIFT 44971#define GFT_RAM_LINE_TUNNEL_ETHERTYPE_MASK 0x14972#define GFT_RAM_LINE_TUNNEL_ETHERTYPE_SHIFT 54973#define GFT_RAM_LINE_TUNNEL_DST_PORT_MASK 0x14974#define GFT_RAM_LINE_TUNNEL_DST_PORT_SHIFT 64975#define GFT_RAM_LINE_TUNNEL_SRC_PORT_MASK 0x14976#define GFT_RAM_LINE_TUNNEL_SRC_PORT_SHIFT 74977#define GFT_RAM_LINE_TUNNEL_DSCP_MASK 0x14978#define GFT_RAM_LINE_TUNNEL_DSCP_SHIFT 84979#define GFT_RAM_LINE_TUNNEL_OVER_IP_PROTOCOL_MASK 0x14980#define GFT_RAM_LINE_TUNNEL_OVER_IP_PROTOCOL_SHIFT 94981#define GFT_RAM_LINE_TUNNEL_DST_IP_MASK 0x14982#define GFT_RAM_LINE_TUNNEL_DST_IP_SHIFT 104983#define GFT_RAM_LINE_TUNNEL_SRC_IP_MASK 0x14984#define GFT_RAM_LINE_TUNNEL_SRC_IP_SHIFT 114985#define GFT_RAM_LINE_TUNNEL_PRIORITY_MASK 0x14986#define GFT_RAM_LINE_TUNNEL_PRIORITY_SHIFT 124987#define GFT_RAM_LINE_TUNNEL_PROVIDER_VLAN_MASK 0x14988#define GFT_RAM_LINE_TUNNEL_PROVIDER_VLAN_SHIFT 134989#define GFT_RAM_LINE_TUNNEL_VLAN_MASK 0x14990#define GFT_RAM_LINE_TUNNEL_VLAN_SHIFT 144991#define GFT_RAM_LINE_TUNNEL_DST_MAC_MASK 0x14992#define GFT_RAM_LINE_TUNNEL_DST_MAC_SHIFT 154993#define GFT_RAM_LINE_TUNNEL_SRC_MAC_MASK 0x14994#define GFT_RAM_LINE_TUNNEL_SRC_MAC_SHIFT 164995#define GFT_RAM_LINE_TTL_EQUAL_ONE_MASK 0x14996#define GFT_RAM_LINE_TTL_EQUAL_ONE_SHIFT 174997#define GFT_RAM_LINE_TTL_MASK 0x14998#define GFT_RAM_LINE_TTL_SHIFT 184999#define GFT_RAM_LINE_ETHERTYPE_MASK 0x15000#define GFT_RAM_LINE_ETHERTYPE_SHIFT 195001#define GFT_RAM_LINE_RESERVED0_MASK 0x15002#define GFT_RAM_LINE_RESERVED0_SHIFT 205003#define GFT_RAM_LINE_TCP_FLAG_FIN_MASK 0x15004#define GFT_RAM_LINE_TCP_FLAG_FIN_SHIFT 215005#define GFT_RAM_LINE_TCP_FLAG_SYN_MASK 0x15006#define GFT_RAM_LINE_TCP_FLAG_SYN_SHIFT 225007#define GFT_RAM_LINE_TCP_FLAG_RST_MASK 0x15008#define GFT_RAM_LINE_TCP_FLAG_RST_SHIFT 235009#define GFT_RAM_LINE_TCP_FLAG_PSH_MASK 0x15010#define GFT_RAM_LINE_TCP_FLAG_PSH_SHIFT 245011#define GFT_RAM_LINE_TCP_FLAG_ACK_MASK 0x15012#define GFT_RAM_LINE_TCP_FLAG_ACK_SHIFT 255013#define GFT_RAM_LINE_TCP_FLAG_URG_MASK 0x15014#define GFT_RAM_LINE_TCP_FLAG_URG_SHIFT 265015#define GFT_RAM_LINE_TCP_FLAG_ECE_MASK 0x15016#define GFT_RAM_LINE_TCP_FLAG_ECE_SHIFT 275017#define GFT_RAM_LINE_TCP_FLAG_CWR_MASK 0x15018#define GFT_RAM_LINE_TCP_FLAG_CWR_SHIFT 285019#define GFT_RAM_LINE_TCP_FLAG_NS_MASK 0x15020#define GFT_RAM_LINE_TCP_FLAG_NS_SHIFT 295021#define GFT_RAM_LINE_DST_PORT_MASK 0x15022#define GFT_RAM_LINE_DST_PORT_SHIFT 305023#define GFT_RAM_LINE_SRC_PORT_MASK 0x15024#define GFT_RAM_LINE_SRC_PORT_SHIFT 315025 __le32 hi;5026#define GFT_RAM_LINE_DSCP_MASK 0x15027#define GFT_RAM_LINE_DSCP_SHIFT 05028#define GFT_RAM_LINE_OVER_IP_PROTOCOL_MASK 0x15029#define GFT_RAM_LINE_OVER_IP_PROTOCOL_SHIFT 15030#define GFT_RAM_LINE_DST_IP_MASK 0x15031#define GFT_RAM_LINE_DST_IP_SHIFT 25032#define GFT_RAM_LINE_SRC_IP_MASK 0x15033#define GFT_RAM_LINE_SRC_IP_SHIFT 35034#define GFT_RAM_LINE_PRIORITY_MASK 0x15035#define GFT_RAM_LINE_PRIORITY_SHIFT 45036#define GFT_RAM_LINE_PROVIDER_VLAN_MASK 0x15037#define GFT_RAM_LINE_PROVIDER_VLAN_SHIFT 55038#define GFT_RAM_LINE_VLAN_MASK 0x15039#define GFT_RAM_LINE_VLAN_SHIFT 65040#define GFT_RAM_LINE_DST_MAC_MASK 0x15041#define GFT_RAM_LINE_DST_MAC_SHIFT 75042#define GFT_RAM_LINE_SRC_MAC_MASK 0x15043#define GFT_RAM_LINE_SRC_MAC_SHIFT 85044#define GFT_RAM_LINE_TENANT_ID_MASK 0x15045#define GFT_RAM_LINE_TENANT_ID_SHIFT 95046#define GFT_RAM_LINE_RESERVED1_MASK 0x3FFFFF5047#define GFT_RAM_LINE_RESERVED1_SHIFT 105048};5049 5050/* Used in the first 2 bits for gft_ram_line: Indication for vlan mask */5051enum gft_vlan_select {5052 INNER_PROVIDER_VLAN = 0,5053 INNER_VLAN = 1,5054 OUTER_PROVIDER_VLAN = 2,5055 OUTER_VLAN = 3,5056 MAX_GFT_VLAN_SELECT5057};5058 5059/* The rdma task context of Mstorm */5060struct ystorm_rdma_task_st_ctx {5061 struct regpair temp[4];5062};5063 5064struct ystorm_rdma_task_ag_ctx {5065 u8 reserved;5066 u8 byte1;5067 __le16 msem_ctx_upd_seq;5068 u8 flags0;5069#define YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF5070#define YSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 05071#define YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x15072#define YSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 45073#define YSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x15074#define YSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 55075#define YSTORM_RDMA_TASK_AG_CTX_VALID_MASK 0x15076#define YSTORM_RDMA_TASK_AG_CTX_VALID_SHIFT 65077#define YSTORM_RDMA_TASK_AG_CTX_DIF_FIRST_IO_MASK 0x15078#define YSTORM_RDMA_TASK_AG_CTX_DIF_FIRST_IO_SHIFT 75079 u8 flags1;5080#define YSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x35081#define YSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 05082#define YSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x35083#define YSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 25084#define YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_MASK 0x35085#define YSTORM_RDMA_TASK_AG_CTX_CF2SPECIAL_SHIFT 45086#define YSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x15087#define YSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 65088#define YSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x15089#define YSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 75090 u8 flags2;5091#define YSTORM_RDMA_TASK_AG_CTX_BIT4_MASK 0x15092#define YSTORM_RDMA_TASK_AG_CTX_BIT4_SHIFT 05093#define YSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x15094#define YSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 15095#define YSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x15096#define YSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 25097#define YSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x15098#define YSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 35099#define YSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x15100#define YSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 45101#define YSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x15102#define YSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 55103#define YSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x15104#define YSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 65105#define YSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x15106#define YSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 75107 u8 key;5108 __le32 mw_cnt_or_qp_id;5109 u8 ref_cnt_seq;5110 u8 ctx_upd_seq;5111 __le16 dif_flags;5112 __le16 tx_ref_count;5113 __le16 last_used_ltid;5114 __le16 parent_mr_lo;5115 __le16 parent_mr_hi;5116 __le32 fbo_lo;5117 __le32 fbo_hi;5118};5119 5120struct mstorm_rdma_task_ag_ctx {5121 u8 reserved;5122 u8 byte1;5123 __le16 icid;5124 u8 flags0;5125#define MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF5126#define MSTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 05127#define MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x15128#define MSTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 45129#define MSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x15130#define MSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 55131#define MSTORM_RDMA_TASK_AG_CTX_BIT2_MASK 0x15132#define MSTORM_RDMA_TASK_AG_CTX_BIT2_SHIFT 65133#define MSTORM_RDMA_TASK_AG_CTX_DIF_FIRST_IO_MASK 0x15134#define MSTORM_RDMA_TASK_AG_CTX_DIF_FIRST_IO_SHIFT 75135 u8 flags1;5136#define MSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x35137#define MSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 05138#define MSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x35139#define MSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 25140#define MSTORM_RDMA_TASK_AG_CTX_CF2_MASK 0x35141#define MSTORM_RDMA_TASK_AG_CTX_CF2_SHIFT 45142#define MSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x15143#define MSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 65144#define MSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x15145#define MSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 75146 u8 flags2;5147#define MSTORM_RDMA_TASK_AG_CTX_CF2EN_MASK 0x15148#define MSTORM_RDMA_TASK_AG_CTX_CF2EN_SHIFT 05149#define MSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x15150#define MSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 15151#define MSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x15152#define MSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 25153#define MSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x15154#define MSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 35155#define MSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x15156#define MSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 45157#define MSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x15158#define MSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 55159#define MSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x15160#define MSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 65161#define MSTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x15162#define MSTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 75163 u8 key;5164 __le32 mw_cnt_or_qp_id;5165 u8 ref_cnt_seq;5166 u8 ctx_upd_seq;5167 __le16 dif_flags;5168 __le16 tx_ref_count;5169 __le16 last_used_ltid;5170 __le16 parent_mr_lo;5171 __le16 parent_mr_hi;5172 __le32 fbo_lo;5173 __le32 fbo_hi;5174};5175 5176/* The roce task context of Mstorm */5177struct mstorm_rdma_task_st_ctx {5178 struct regpair temp[4];5179};5180 5181/* The roce task context of Ustorm */5182struct ustorm_rdma_task_st_ctx {5183 struct regpair temp[6];5184};5185 5186struct ustorm_rdma_task_ag_ctx {5187 u8 reserved;5188 u8 state;5189 __le16 icid;5190 u8 flags0;5191#define USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_MASK 0xF5192#define USTORM_RDMA_TASK_AG_CTX_CONNECTION_TYPE_SHIFT 05193#define USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_MASK 0x15194#define USTORM_RDMA_TASK_AG_CTX_EXIST_IN_QM0_SHIFT 45195#define USTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x15196#define USTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 55197#define USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_MASK 0x35198#define USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_SHIFT 65199 u8 flags1;5200#define USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_MASK 0x35201#define USTORM_RDMA_TASK_AG_CTX_DIF_RESULT_TOGGLE_BIT_SHIFT 05202#define USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_MASK 0x35203#define USTORM_RDMA_TASK_AG_CTX_DIF_TX_IO_FLG_SHIFT 25204#define USTORM_RDMA_TASK_AG_CTX_DIF_BLOCK_SIZE_MASK 0x35205#define USTORM_RDMA_TASK_AG_CTX_DIF_BLOCK_SIZE_SHIFT 45206#define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_MASK 0x35207#define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_SHIFT 65208 u8 flags2;5209#define USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_MASK 0x15210#define USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_RESULT_CF_EN_SHIFT 05211#define USTORM_RDMA_TASK_AG_CTX_RESERVED2_MASK 0x15212#define USTORM_RDMA_TASK_AG_CTX_RESERVED2_SHIFT 15213#define USTORM_RDMA_TASK_AG_CTX_RESERVED3_MASK 0x15214#define USTORM_RDMA_TASK_AG_CTX_RESERVED3_SHIFT 25215#define USTORM_RDMA_TASK_AG_CTX_RESERVED4_MASK 0x15216#define USTORM_RDMA_TASK_AG_CTX_RESERVED4_SHIFT 35217#define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_MASK 0x15218#define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_CF_EN_SHIFT 45219#define USTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x15220#define USTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 55221#define USTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x15222#define USTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 65223#define USTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x15224#define USTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 75225 u8 flags3;5226#define USTORM_RDMA_TASK_AG_CTX_DIF_RXMIT_PROD_CONS_EN_MASK 0x15227#define USTORM_RDMA_TASK_AG_CTX_DIF_RXMIT_PROD_CONS_EN_SHIFT 05228#define USTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x15229#define USTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 15230#define USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_PROD_CONS_EN_MASK 0x15231#define USTORM_RDMA_TASK_AG_CTX_DIF_WRITE_PROD_CONS_EN_SHIFT 25232#define USTORM_RDMA_TASK_AG_CTX_RULE6EN_MASK 0x15233#define USTORM_RDMA_TASK_AG_CTX_RULE6EN_SHIFT 35234#define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_MASK 0xF5235#define USTORM_RDMA_TASK_AG_CTX_DIF_ERROR_TYPE_SHIFT 45236 __le32 dif_err_intervals;5237 __le32 dif_error_1st_interval;5238 __le32 dif_rxmit_cons;5239 __le32 dif_rxmit_prod;5240 __le32 sge_index;5241 __le32 sq_cons;5242 u8 byte2;5243 u8 byte3;5244 __le16 dif_write_cons;5245 __le16 dif_write_prod;5246 __le16 word3;5247 __le32 dif_error_buffer_address_lo;5248 __le32 dif_error_buffer_address_hi;5249};5250 5251/* RDMA task context */5252struct rdma_task_context {5253 struct ystorm_rdma_task_st_ctx ystorm_st_context;5254 struct ystorm_rdma_task_ag_ctx ystorm_ag_context;5255 struct tdif_task_context tdif_context;5256 struct mstorm_rdma_task_ag_ctx mstorm_ag_context;5257 struct mstorm_rdma_task_st_ctx mstorm_st_context;5258 struct rdif_task_context rdif_context;5259 struct ustorm_rdma_task_st_ctx ustorm_st_context;5260 struct regpair ustorm_st_padding[2];5261 struct ustorm_rdma_task_ag_ctx ustorm_ag_context;5262};5263 5264#define TOE_MAX_RAMROD_PER_PF 85265#define TOE_TX_PAGE_SIZE_BYTES 40965266#define TOE_GRQ_PAGE_SIZE_BYTES 40965267#define TOE_RX_CQ_PAGE_SIZE_BYTES 40965268 5269#define TOE_RX_MAX_RSS_CHAINS 645270#define TOE_TX_MAX_TSS_CHAINS 645271#define TOE_RSS_INDIRECTION_TABLE_SIZE 1285272 5273/* The toe storm context of Mstorm */5274struct mstorm_toe_conn_st_ctx {5275 __le32 reserved[24];5276};5277 5278/* The toe storm context of Pstorm */5279struct pstorm_toe_conn_st_ctx {5280 __le32 reserved[36];5281};5282 5283/* The toe storm context of Ystorm */5284struct ystorm_toe_conn_st_ctx {5285 __le32 reserved[8];5286};5287 5288/* The toe storm context of Xstorm */5289struct xstorm_toe_conn_st_ctx {5290 __le32 reserved[44];5291};5292 5293struct ystorm_toe_conn_ag_ctx {5294 u8 byte0;5295 u8 byte1;5296 u8 flags0;5297#define YSTORM_TOE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x15298#define YSTORM_TOE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 05299#define YSTORM_TOE_CONN_AG_CTX_BIT1_MASK 0x15300#define YSTORM_TOE_CONN_AG_CTX_BIT1_SHIFT 15301#define YSTORM_TOE_CONN_AG_CTX_SLOW_PATH_CF_MASK 0x35302#define YSTORM_TOE_CONN_AG_CTX_SLOW_PATH_CF_SHIFT 25303#define YSTORM_TOE_CONN_AG_CTX_RESET_RECEIVED_CF_MASK 0x35304#define YSTORM_TOE_CONN_AG_CTX_RESET_RECEIVED_CF_SHIFT 45305#define YSTORM_TOE_CONN_AG_CTX_CF2_MASK 0x35306#define YSTORM_TOE_CONN_AG_CTX_CF2_SHIFT 65307 u8 flags1;5308#define YSTORM_TOE_CONN_AG_CTX_SLOW_PATH_CF_EN_MASK 0x15309#define YSTORM_TOE_CONN_AG_CTX_SLOW_PATH_CF_EN_SHIFT 05310#define YSTORM_TOE_CONN_AG_CTX_RESET_RECEIVED_CF_EN_MASK 0x15311#define YSTORM_TOE_CONN_AG_CTX_RESET_RECEIVED_CF_EN_SHIFT 15312#define YSTORM_TOE_CONN_AG_CTX_CF2EN_MASK 0x15313#define YSTORM_TOE_CONN_AG_CTX_CF2EN_SHIFT 25314#define YSTORM_TOE_CONN_AG_CTX_REL_SEQ_EN_MASK 0x15315#define YSTORM_TOE_CONN_AG_CTX_REL_SEQ_EN_SHIFT 35316#define YSTORM_TOE_CONN_AG_CTX_RULE1EN_MASK 0x15317#define YSTORM_TOE_CONN_AG_CTX_RULE1EN_SHIFT 45318#define YSTORM_TOE_CONN_AG_CTX_RULE2EN_MASK 0x15319#define YSTORM_TOE_CONN_AG_CTX_RULE2EN_SHIFT 55320#define YSTORM_TOE_CONN_AG_CTX_RULE3EN_MASK 0x15321#define YSTORM_TOE_CONN_AG_CTX_RULE3EN_SHIFT 65322#define YSTORM_TOE_CONN_AG_CTX_CONS_PROD_EN_MASK 0x15323#define YSTORM_TOE_CONN_AG_CTX_CONS_PROD_EN_SHIFT 75324 u8 completion_opcode;5325 u8 byte3;5326 __le16 word0;5327 __le32 rel_seq;5328 __le32 rel_seq_threshold;5329 __le16 app_prod;5330 __le16 app_cons;5331 __le16 word3;5332 __le16 word4;5333 __le32 reg2;5334 __le32 reg3;5335};5336 5337struct xstorm_toe_conn_ag_ctx {5338 u8 reserved0;5339 u8 state;5340 u8 flags0;5341#define XSTORM_TOE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x15342#define XSTORM_TOE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 05343#define XSTORM_TOE_CONN_AG_CTX_EXIST_IN_QM1_MASK 0x15344#define XSTORM_TOE_CONN_AG_CTX_EXIST_IN_QM1_SHIFT 15345#define XSTORM_TOE_CONN_AG_CTX_RESERVED1_MASK 0x15346#define XSTORM_TOE_CONN_AG_CTX_RESERVED1_SHIFT 25347#define XSTORM_TOE_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x15348#define XSTORM_TOE_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 35349#define XSTORM_TOE_CONN_AG_CTX_TX_DEC_RULE_RES_MASK 0x15350#define XSTORM_TOE_CONN_AG_CTX_TX_DEC_RULE_RES_SHIFT 45351#define XSTORM_TOE_CONN_AG_CTX_RESERVED2_MASK 0x15352#define XSTORM_TOE_CONN_AG_CTX_RESERVED2_SHIFT 55353#define XSTORM_TOE_CONN_AG_CTX_BIT6_MASK 0x15354#define XSTORM_TOE_CONN_AG_CTX_BIT6_SHIFT 65355#define XSTORM_TOE_CONN_AG_CTX_BIT7_MASK 0x15356#define XSTORM_TOE_CONN_AG_CTX_BIT7_SHIFT 75357 u8 flags1;5358#define XSTORM_TOE_CONN_AG_CTX_BIT8_MASK 0x15359#define XSTORM_TOE_CONN_AG_CTX_BIT8_SHIFT 05360#define XSTORM_TOE_CONN_AG_CTX_BIT9_MASK 0x15361#define XSTORM_TOE_CONN_AG_CTX_BIT9_SHIFT 15362#define XSTORM_TOE_CONN_AG_CTX_BIT10_MASK 0x15363#define XSTORM_TOE_CONN_AG_CTX_BIT10_SHIFT 25364#define XSTORM_TOE_CONN_AG_CTX_BIT11_MASK 0x15365#define XSTORM_TOE_CONN_AG_CTX_BIT11_SHIFT 35366#define XSTORM_TOE_CONN_AG_CTX_BIT12_MASK 0x15367#define XSTORM_TOE_CONN_AG_CTX_BIT12_SHIFT 45368#define XSTORM_TOE_CONN_AG_CTX_BIT13_MASK 0x15369#define XSTORM_TOE_CONN_AG_CTX_BIT13_SHIFT 55370#define XSTORM_TOE_CONN_AG_CTX_BIT14_MASK 0x15371#define XSTORM_TOE_CONN_AG_CTX_BIT14_SHIFT 65372#define XSTORM_TOE_CONN_AG_CTX_BIT15_MASK 0x15373#define XSTORM_TOE_CONN_AG_CTX_BIT15_SHIFT 75374 u8 flags2;5375#define XSTORM_TOE_CONN_AG_CTX_CF0_MASK 0x35376#define XSTORM_TOE_CONN_AG_CTX_CF0_SHIFT 05377#define XSTORM_TOE_CONN_AG_CTX_CF1_MASK 0x35378#define XSTORM_TOE_CONN_AG_CTX_CF1_SHIFT 25379#define XSTORM_TOE_CONN_AG_CTX_CF2_MASK 0x35380#define XSTORM_TOE_CONN_AG_CTX_CF2_SHIFT 45381#define XSTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x35382#define XSTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 65383 u8 flags3;5384#define XSTORM_TOE_CONN_AG_CTX_CF4_MASK 0x35385#define XSTORM_TOE_CONN_AG_CTX_CF4_SHIFT 05386#define XSTORM_TOE_CONN_AG_CTX_CF5_MASK 0x35387#define XSTORM_TOE_CONN_AG_CTX_CF5_SHIFT 25388#define XSTORM_TOE_CONN_AG_CTX_CF6_MASK 0x35389#define XSTORM_TOE_CONN_AG_CTX_CF6_SHIFT 45390#define XSTORM_TOE_CONN_AG_CTX_CF7_MASK 0x35391#define XSTORM_TOE_CONN_AG_CTX_CF7_SHIFT 65392 u8 flags4;5393#define XSTORM_TOE_CONN_AG_CTX_CF8_MASK 0x35394#define XSTORM_TOE_CONN_AG_CTX_CF8_SHIFT 05395#define XSTORM_TOE_CONN_AG_CTX_CF9_MASK 0x35396#define XSTORM_TOE_CONN_AG_CTX_CF9_SHIFT 25397#define XSTORM_TOE_CONN_AG_CTX_CF10_MASK 0x35398#define XSTORM_TOE_CONN_AG_CTX_CF10_SHIFT 45399#define XSTORM_TOE_CONN_AG_CTX_CF11_MASK 0x35400#define XSTORM_TOE_CONN_AG_CTX_CF11_SHIFT 65401 u8 flags5;5402#define XSTORM_TOE_CONN_AG_CTX_CF12_MASK 0x35403#define XSTORM_TOE_CONN_AG_CTX_CF12_SHIFT 05404#define XSTORM_TOE_CONN_AG_CTX_CF13_MASK 0x35405#define XSTORM_TOE_CONN_AG_CTX_CF13_SHIFT 25406#define XSTORM_TOE_CONN_AG_CTX_CF14_MASK 0x35407#define XSTORM_TOE_CONN_AG_CTX_CF14_SHIFT 45408#define XSTORM_TOE_CONN_AG_CTX_CF15_MASK 0x35409#define XSTORM_TOE_CONN_AG_CTX_CF15_SHIFT 65410 u8 flags6;5411#define XSTORM_TOE_CONN_AG_CTX_CF16_MASK 0x35412#define XSTORM_TOE_CONN_AG_CTX_CF16_SHIFT 05413#define XSTORM_TOE_CONN_AG_CTX_CF17_MASK 0x35414#define XSTORM_TOE_CONN_AG_CTX_CF17_SHIFT 25415#define XSTORM_TOE_CONN_AG_CTX_CF18_MASK 0x35416#define XSTORM_TOE_CONN_AG_CTX_CF18_SHIFT 45417#define XSTORM_TOE_CONN_AG_CTX_DQ_FLUSH_MASK 0x35418#define XSTORM_TOE_CONN_AG_CTX_DQ_FLUSH_SHIFT 65419 u8 flags7;5420#define XSTORM_TOE_CONN_AG_CTX_FLUSH_Q0_MASK 0x35421#define XSTORM_TOE_CONN_AG_CTX_FLUSH_Q0_SHIFT 05422#define XSTORM_TOE_CONN_AG_CTX_FLUSH_Q1_MASK 0x35423#define XSTORM_TOE_CONN_AG_CTX_FLUSH_Q1_SHIFT 25424#define XSTORM_TOE_CONN_AG_CTX_SLOW_PATH_MASK 0x35425#define XSTORM_TOE_CONN_AG_CTX_SLOW_PATH_SHIFT 45426#define XSTORM_TOE_CONN_AG_CTX_CF0EN_MASK 0x15427#define XSTORM_TOE_CONN_AG_CTX_CF0EN_SHIFT 65428#define XSTORM_TOE_CONN_AG_CTX_CF1EN_MASK 0x15429#define XSTORM_TOE_CONN_AG_CTX_CF1EN_SHIFT 75430 u8 flags8;5431#define XSTORM_TOE_CONN_AG_CTX_CF2EN_MASK 0x15432#define XSTORM_TOE_CONN_AG_CTX_CF2EN_SHIFT 05433#define XSTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x15434#define XSTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 15435#define XSTORM_TOE_CONN_AG_CTX_CF4EN_MASK 0x15436#define XSTORM_TOE_CONN_AG_CTX_CF4EN_SHIFT 25437#define XSTORM_TOE_CONN_AG_CTX_CF5EN_MASK 0x15438#define XSTORM_TOE_CONN_AG_CTX_CF5EN_SHIFT 35439#define XSTORM_TOE_CONN_AG_CTX_CF6EN_MASK 0x15440#define XSTORM_TOE_CONN_AG_CTX_CF6EN_SHIFT 45441#define XSTORM_TOE_CONN_AG_CTX_CF7EN_MASK 0x15442#define XSTORM_TOE_CONN_AG_CTX_CF7EN_SHIFT 55443#define XSTORM_TOE_CONN_AG_CTX_CF8EN_MASK 0x15444#define XSTORM_TOE_CONN_AG_CTX_CF8EN_SHIFT 65445#define XSTORM_TOE_CONN_AG_CTX_CF9EN_MASK 0x15446#define XSTORM_TOE_CONN_AG_CTX_CF9EN_SHIFT 75447 u8 flags9;5448#define XSTORM_TOE_CONN_AG_CTX_CF10EN_MASK 0x15449#define XSTORM_TOE_CONN_AG_CTX_CF10EN_SHIFT 05450#define XSTORM_TOE_CONN_AG_CTX_CF11EN_MASK 0x15451#define XSTORM_TOE_CONN_AG_CTX_CF11EN_SHIFT 15452#define XSTORM_TOE_CONN_AG_CTX_CF12EN_MASK 0x15453#define XSTORM_TOE_CONN_AG_CTX_CF12EN_SHIFT 25454#define XSTORM_TOE_CONN_AG_CTX_CF13EN_MASK 0x15455#define XSTORM_TOE_CONN_AG_CTX_CF13EN_SHIFT 35456#define XSTORM_TOE_CONN_AG_CTX_CF14EN_MASK 0x15457#define XSTORM_TOE_CONN_AG_CTX_CF14EN_SHIFT 45458#define XSTORM_TOE_CONN_AG_CTX_CF15EN_MASK 0x15459#define XSTORM_TOE_CONN_AG_CTX_CF15EN_SHIFT 55460#define XSTORM_TOE_CONN_AG_CTX_CF16EN_MASK 0x15461#define XSTORM_TOE_CONN_AG_CTX_CF16EN_SHIFT 65462#define XSTORM_TOE_CONN_AG_CTX_CF17EN_MASK 0x15463#define XSTORM_TOE_CONN_AG_CTX_CF17EN_SHIFT 75464 u8 flags10;5465#define XSTORM_TOE_CONN_AG_CTX_CF18EN_MASK 0x15466#define XSTORM_TOE_CONN_AG_CTX_CF18EN_SHIFT 05467#define XSTORM_TOE_CONN_AG_CTX_DQ_FLUSH_EN_MASK 0x15468#define XSTORM_TOE_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT 15469#define XSTORM_TOE_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x15470#define XSTORM_TOE_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 25471#define XSTORM_TOE_CONN_AG_CTX_FLUSH_Q1_EN_MASK 0x15472#define XSTORM_TOE_CONN_AG_CTX_FLUSH_Q1_EN_SHIFT 35473#define XSTORM_TOE_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x15474#define XSTORM_TOE_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 45475#define XSTORM_TOE_CONN_AG_CTX_CF23EN_MASK 0x15476#define XSTORM_TOE_CONN_AG_CTX_CF23EN_SHIFT 55477#define XSTORM_TOE_CONN_AG_CTX_RULE0EN_MASK 0x15478#define XSTORM_TOE_CONN_AG_CTX_RULE0EN_SHIFT 65479#define XSTORM_TOE_CONN_AG_CTX_MORE_TO_SEND_RULE_EN_MASK 0x15480#define XSTORM_TOE_CONN_AG_CTX_MORE_TO_SEND_RULE_EN_SHIFT 75481 u8 flags11;5482#define XSTORM_TOE_CONN_AG_CTX_TX_BLOCKED_EN_MASK 0x15483#define XSTORM_TOE_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT 05484#define XSTORM_TOE_CONN_AG_CTX_RULE3EN_MASK 0x15485#define XSTORM_TOE_CONN_AG_CTX_RULE3EN_SHIFT 15486#define XSTORM_TOE_CONN_AG_CTX_RESERVED3_MASK 0x15487#define XSTORM_TOE_CONN_AG_CTX_RESERVED3_SHIFT 25488#define XSTORM_TOE_CONN_AG_CTX_RULE5EN_MASK 0x15489#define XSTORM_TOE_CONN_AG_CTX_RULE5EN_SHIFT 35490#define XSTORM_TOE_CONN_AG_CTX_RULE6EN_MASK 0x15491#define XSTORM_TOE_CONN_AG_CTX_RULE6EN_SHIFT 45492#define XSTORM_TOE_CONN_AG_CTX_RULE7EN_MASK 0x15493#define XSTORM_TOE_CONN_AG_CTX_RULE7EN_SHIFT 55494#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED1_MASK 0x15495#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED1_SHIFT 65496#define XSTORM_TOE_CONN_AG_CTX_RULE9EN_MASK 0x15497#define XSTORM_TOE_CONN_AG_CTX_RULE9EN_SHIFT 75498 u8 flags12;5499#define XSTORM_TOE_CONN_AG_CTX_RULE10EN_MASK 0x15500#define XSTORM_TOE_CONN_AG_CTX_RULE10EN_SHIFT 05501#define XSTORM_TOE_CONN_AG_CTX_RULE11EN_MASK 0x15502#define XSTORM_TOE_CONN_AG_CTX_RULE11EN_SHIFT 15503#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED2_MASK 0x15504#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED2_SHIFT 25505#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED3_MASK 0x15506#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED3_SHIFT 35507#define XSTORM_TOE_CONN_AG_CTX_RULE14EN_MASK 0x15508#define XSTORM_TOE_CONN_AG_CTX_RULE14EN_SHIFT 45509#define XSTORM_TOE_CONN_AG_CTX_RULE15EN_MASK 0x15510#define XSTORM_TOE_CONN_AG_CTX_RULE15EN_SHIFT 55511#define XSTORM_TOE_CONN_AG_CTX_RULE16EN_MASK 0x15512#define XSTORM_TOE_CONN_AG_CTX_RULE16EN_SHIFT 65513#define XSTORM_TOE_CONN_AG_CTX_RULE17EN_MASK 0x15514#define XSTORM_TOE_CONN_AG_CTX_RULE17EN_SHIFT 75515 u8 flags13;5516#define XSTORM_TOE_CONN_AG_CTX_RULE18EN_MASK 0x15517#define XSTORM_TOE_CONN_AG_CTX_RULE18EN_SHIFT 05518#define XSTORM_TOE_CONN_AG_CTX_RULE19EN_MASK 0x15519#define XSTORM_TOE_CONN_AG_CTX_RULE19EN_SHIFT 15520#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED4_MASK 0x15521#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED4_SHIFT 25522#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED5_MASK 0x15523#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED5_SHIFT 35524#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED6_MASK 0x15525#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED6_SHIFT 45526#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED7_MASK 0x15527#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED7_SHIFT 55528#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED8_MASK 0x15529#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED8_SHIFT 65530#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED9_MASK 0x15531#define XSTORM_TOE_CONN_AG_CTX_A0_RESERVED9_SHIFT 75532 u8 flags14;5533#define XSTORM_TOE_CONN_AG_CTX_BIT16_MASK 0x15534#define XSTORM_TOE_CONN_AG_CTX_BIT16_SHIFT 05535#define XSTORM_TOE_CONN_AG_CTX_BIT17_MASK 0x15536#define XSTORM_TOE_CONN_AG_CTX_BIT17_SHIFT 15537#define XSTORM_TOE_CONN_AG_CTX_BIT18_MASK 0x15538#define XSTORM_TOE_CONN_AG_CTX_BIT18_SHIFT 25539#define XSTORM_TOE_CONN_AG_CTX_BIT19_MASK 0x15540#define XSTORM_TOE_CONN_AG_CTX_BIT19_SHIFT 35541#define XSTORM_TOE_CONN_AG_CTX_BIT20_MASK 0x15542#define XSTORM_TOE_CONN_AG_CTX_BIT20_SHIFT 45543#define XSTORM_TOE_CONN_AG_CTX_BIT21_MASK 0x15544#define XSTORM_TOE_CONN_AG_CTX_BIT21_SHIFT 55545#define XSTORM_TOE_CONN_AG_CTX_CF23_MASK 0x35546#define XSTORM_TOE_CONN_AG_CTX_CF23_SHIFT 65547 u8 byte2;5548 __le16 physical_q0;5549 __le16 physical_q1;5550 __le16 word2;5551 __le16 word3;5552 __le16 bd_prod;5553 __le16 word5;5554 __le16 word6;5555 u8 byte3;5556 u8 byte4;5557 u8 byte5;5558 u8 byte6;5559 __le32 reg0;5560 __le32 reg1;5561 __le32 reg2;5562 __le32 more_to_send_seq;5563 __le32 local_adv_wnd_seq;5564 __le32 reg5;5565 __le32 reg6;5566 __le16 word7;5567 __le16 word8;5568 __le16 word9;5569 __le16 word10;5570 __le32 reg7;5571 __le32 reg8;5572 __le32 reg9;5573 u8 byte7;5574 u8 byte8;5575 u8 byte9;5576 u8 byte10;5577 u8 byte11;5578 u8 byte12;5579 u8 byte13;5580 u8 byte14;5581 u8 byte15;5582 u8 e5_reserved;5583 __le16 word11;5584 __le32 reg10;5585 __le32 reg11;5586 __le32 reg12;5587 __le32 reg13;5588 __le32 reg14;5589 __le32 reg15;5590 __le32 reg16;5591 __le32 reg17;5592};5593 5594struct tstorm_toe_conn_ag_ctx {5595 u8 reserved0;5596 u8 byte1;5597 u8 flags0;5598#define TSTORM_TOE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x15599#define TSTORM_TOE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 05600#define TSTORM_TOE_CONN_AG_CTX_BIT1_MASK 0x15601#define TSTORM_TOE_CONN_AG_CTX_BIT1_SHIFT 15602#define TSTORM_TOE_CONN_AG_CTX_BIT2_MASK 0x15603#define TSTORM_TOE_CONN_AG_CTX_BIT2_SHIFT 25604#define TSTORM_TOE_CONN_AG_CTX_BIT3_MASK 0x15605#define TSTORM_TOE_CONN_AG_CTX_BIT3_SHIFT 35606#define TSTORM_TOE_CONN_AG_CTX_BIT4_MASK 0x15607#define TSTORM_TOE_CONN_AG_CTX_BIT4_SHIFT 45608#define TSTORM_TOE_CONN_AG_CTX_BIT5_MASK 0x15609#define TSTORM_TOE_CONN_AG_CTX_BIT5_SHIFT 55610#define TSTORM_TOE_CONN_AG_CTX_TIMEOUT_CF_MASK 0x35611#define TSTORM_TOE_CONN_AG_CTX_TIMEOUT_CF_SHIFT 65612 u8 flags1;5613#define TSTORM_TOE_CONN_AG_CTX_CF1_MASK 0x35614#define TSTORM_TOE_CONN_AG_CTX_CF1_SHIFT 05615#define TSTORM_TOE_CONN_AG_CTX_CF2_MASK 0x35616#define TSTORM_TOE_CONN_AG_CTX_CF2_SHIFT 25617#define TSTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x35618#define TSTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 45619#define TSTORM_TOE_CONN_AG_CTX_CF4_MASK 0x35620#define TSTORM_TOE_CONN_AG_CTX_CF4_SHIFT 65621 u8 flags2;5622#define TSTORM_TOE_CONN_AG_CTX_CF5_MASK 0x35623#define TSTORM_TOE_CONN_AG_CTX_CF5_SHIFT 05624#define TSTORM_TOE_CONN_AG_CTX_CF6_MASK 0x35625#define TSTORM_TOE_CONN_AG_CTX_CF6_SHIFT 25626#define TSTORM_TOE_CONN_AG_CTX_CF7_MASK 0x35627#define TSTORM_TOE_CONN_AG_CTX_CF7_SHIFT 45628#define TSTORM_TOE_CONN_AG_CTX_CF8_MASK 0x35629#define TSTORM_TOE_CONN_AG_CTX_CF8_SHIFT 65630 u8 flags3;5631#define TSTORM_TOE_CONN_AG_CTX_FLUSH_Q0_MASK 0x35632#define TSTORM_TOE_CONN_AG_CTX_FLUSH_Q0_SHIFT 05633#define TSTORM_TOE_CONN_AG_CTX_CF10_MASK 0x35634#define TSTORM_TOE_CONN_AG_CTX_CF10_SHIFT 25635#define TSTORM_TOE_CONN_AG_CTX_TIMEOUT_CF_EN_MASK 0x15636#define TSTORM_TOE_CONN_AG_CTX_TIMEOUT_CF_EN_SHIFT 45637#define TSTORM_TOE_CONN_AG_CTX_CF1EN_MASK 0x15638#define TSTORM_TOE_CONN_AG_CTX_CF1EN_SHIFT 55639#define TSTORM_TOE_CONN_AG_CTX_CF2EN_MASK 0x15640#define TSTORM_TOE_CONN_AG_CTX_CF2EN_SHIFT 65641#define TSTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x15642#define TSTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 75643 u8 flags4;5644#define TSTORM_TOE_CONN_AG_CTX_CF4EN_MASK 0x15645#define TSTORM_TOE_CONN_AG_CTX_CF4EN_SHIFT 05646#define TSTORM_TOE_CONN_AG_CTX_CF5EN_MASK 0x15647#define TSTORM_TOE_CONN_AG_CTX_CF5EN_SHIFT 15648#define TSTORM_TOE_CONN_AG_CTX_CF6EN_MASK 0x15649#define TSTORM_TOE_CONN_AG_CTX_CF6EN_SHIFT 25650#define TSTORM_TOE_CONN_AG_CTX_CF7EN_MASK 0x15651#define TSTORM_TOE_CONN_AG_CTX_CF7EN_SHIFT 35652#define TSTORM_TOE_CONN_AG_CTX_CF8EN_MASK 0x15653#define TSTORM_TOE_CONN_AG_CTX_CF8EN_SHIFT 45654#define TSTORM_TOE_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x15655#define TSTORM_TOE_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 55656#define TSTORM_TOE_CONN_AG_CTX_CF10EN_MASK 0x15657#define TSTORM_TOE_CONN_AG_CTX_CF10EN_SHIFT 65658#define TSTORM_TOE_CONN_AG_CTX_RULE0EN_MASK 0x15659#define TSTORM_TOE_CONN_AG_CTX_RULE0EN_SHIFT 75660 u8 flags5;5661#define TSTORM_TOE_CONN_AG_CTX_RULE1EN_MASK 0x15662#define TSTORM_TOE_CONN_AG_CTX_RULE1EN_SHIFT 05663#define TSTORM_TOE_CONN_AG_CTX_RULE2EN_MASK 0x15664#define TSTORM_TOE_CONN_AG_CTX_RULE2EN_SHIFT 15665#define TSTORM_TOE_CONN_AG_CTX_RULE3EN_MASK 0x15666#define TSTORM_TOE_CONN_AG_CTX_RULE3EN_SHIFT 25667#define TSTORM_TOE_CONN_AG_CTX_RULE4EN_MASK 0x15668#define TSTORM_TOE_CONN_AG_CTX_RULE4EN_SHIFT 35669#define TSTORM_TOE_CONN_AG_CTX_RULE5EN_MASK 0x15670#define TSTORM_TOE_CONN_AG_CTX_RULE5EN_SHIFT 45671#define TSTORM_TOE_CONN_AG_CTX_RULE6EN_MASK 0x15672#define TSTORM_TOE_CONN_AG_CTX_RULE6EN_SHIFT 55673#define TSTORM_TOE_CONN_AG_CTX_RULE7EN_MASK 0x15674#define TSTORM_TOE_CONN_AG_CTX_RULE7EN_SHIFT 65675#define TSTORM_TOE_CONN_AG_CTX_RULE8EN_MASK 0x15676#define TSTORM_TOE_CONN_AG_CTX_RULE8EN_SHIFT 75677 __le32 reg0;5678 __le32 reg1;5679 __le32 reg2;5680 __le32 reg3;5681 __le32 reg4;5682 __le32 reg5;5683 __le32 reg6;5684 __le32 reg7;5685 __le32 reg8;5686 u8 byte2;5687 u8 byte3;5688 __le16 word0;5689};5690 5691struct ustorm_toe_conn_ag_ctx {5692 u8 reserved;5693 u8 byte1;5694 u8 flags0;5695#define USTORM_TOE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x15696#define USTORM_TOE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 05697#define USTORM_TOE_CONN_AG_CTX_BIT1_MASK 0x15698#define USTORM_TOE_CONN_AG_CTX_BIT1_SHIFT 15699#define USTORM_TOE_CONN_AG_CTX_CF0_MASK 0x35700#define USTORM_TOE_CONN_AG_CTX_CF0_SHIFT 25701#define USTORM_TOE_CONN_AG_CTX_CF1_MASK 0x35702#define USTORM_TOE_CONN_AG_CTX_CF1_SHIFT 45703#define USTORM_TOE_CONN_AG_CTX_PUSH_TIMER_CF_MASK 0x35704#define USTORM_TOE_CONN_AG_CTX_PUSH_TIMER_CF_SHIFT 65705 u8 flags1;5706#define USTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x35707#define USTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 05708#define USTORM_TOE_CONN_AG_CTX_SLOW_PATH_CF_MASK 0x35709#define USTORM_TOE_CONN_AG_CTX_SLOW_PATH_CF_SHIFT 25710#define USTORM_TOE_CONN_AG_CTX_DQ_CF_MASK 0x35711#define USTORM_TOE_CONN_AG_CTX_DQ_CF_SHIFT 45712#define USTORM_TOE_CONN_AG_CTX_CF6_MASK 0x35713#define USTORM_TOE_CONN_AG_CTX_CF6_SHIFT 65714 u8 flags2;5715#define USTORM_TOE_CONN_AG_CTX_CF0EN_MASK 0x15716#define USTORM_TOE_CONN_AG_CTX_CF0EN_SHIFT 05717#define USTORM_TOE_CONN_AG_CTX_CF1EN_MASK 0x15718#define USTORM_TOE_CONN_AG_CTX_CF1EN_SHIFT 15719#define USTORM_TOE_CONN_AG_CTX_PUSH_TIMER_CF_EN_MASK 0x15720#define USTORM_TOE_CONN_AG_CTX_PUSH_TIMER_CF_EN_SHIFT 25721#define USTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x15722#define USTORM_TOE_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 35723#define USTORM_TOE_CONN_AG_CTX_SLOW_PATH_CF_EN_MASK 0x15724#define USTORM_TOE_CONN_AG_CTX_SLOW_PATH_CF_EN_SHIFT 45725#define USTORM_TOE_CONN_AG_CTX_DQ_CF_EN_MASK 0x15726#define USTORM_TOE_CONN_AG_CTX_DQ_CF_EN_SHIFT 55727#define USTORM_TOE_CONN_AG_CTX_CF6EN_MASK 0x15728#define USTORM_TOE_CONN_AG_CTX_CF6EN_SHIFT 65729#define USTORM_TOE_CONN_AG_CTX_RULE0EN_MASK 0x15730#define USTORM_TOE_CONN_AG_CTX_RULE0EN_SHIFT 75731 u8 flags3;5732#define USTORM_TOE_CONN_AG_CTX_RULE1EN_MASK 0x15733#define USTORM_TOE_CONN_AG_CTX_RULE1EN_SHIFT 05734#define USTORM_TOE_CONN_AG_CTX_RULE2EN_MASK 0x15735#define USTORM_TOE_CONN_AG_CTX_RULE2EN_SHIFT 15736#define USTORM_TOE_CONN_AG_CTX_RULE3EN_MASK 0x15737#define USTORM_TOE_CONN_AG_CTX_RULE3EN_SHIFT 25738#define USTORM_TOE_CONN_AG_CTX_RULE4EN_MASK 0x15739#define USTORM_TOE_CONN_AG_CTX_RULE4EN_SHIFT 35740#define USTORM_TOE_CONN_AG_CTX_RULE5EN_MASK 0x15741#define USTORM_TOE_CONN_AG_CTX_RULE5EN_SHIFT 45742#define USTORM_TOE_CONN_AG_CTX_RULE6EN_MASK 0x15743#define USTORM_TOE_CONN_AG_CTX_RULE6EN_SHIFT 55744#define USTORM_TOE_CONN_AG_CTX_RULE7EN_MASK 0x15745#define USTORM_TOE_CONN_AG_CTX_RULE7EN_SHIFT 65746#define USTORM_TOE_CONN_AG_CTX_RULE8EN_MASK 0x15747#define USTORM_TOE_CONN_AG_CTX_RULE8EN_SHIFT 75748 u8 byte2;5749 u8 byte3;5750 __le16 word0;5751 __le16 word1;5752 __le32 reg0;5753 __le32 reg1;5754 __le32 reg2;5755 __le32 reg3;5756 __le16 word2;5757 __le16 word3;5758};5759 5760/* The toe storm context of Tstorm */5761struct tstorm_toe_conn_st_ctx {5762 __le32 reserved[16];5763};5764 5765/* The toe storm context of Ustorm */5766struct ustorm_toe_conn_st_ctx {5767 __le32 reserved[52];5768};5769 5770/* toe connection context */5771struct toe_conn_context {5772 struct ystorm_toe_conn_st_ctx ystorm_st_context;5773 struct pstorm_toe_conn_st_ctx pstorm_st_context;5774 struct regpair pstorm_st_padding[2];5775 struct xstorm_toe_conn_st_ctx xstorm_st_context;5776 struct regpair xstorm_st_padding[2];5777 struct ystorm_toe_conn_ag_ctx ystorm_ag_context;5778 struct xstorm_toe_conn_ag_ctx xstorm_ag_context;5779 struct tstorm_toe_conn_ag_ctx tstorm_ag_context;5780 struct regpair tstorm_ag_padding[2];5781 struct timers_context timer_context;5782 struct ustorm_toe_conn_ag_ctx ustorm_ag_context;5783 struct tstorm_toe_conn_st_ctx tstorm_st_context;5784 struct mstorm_toe_conn_st_ctx mstorm_st_context;5785 struct ustorm_toe_conn_st_ctx ustorm_st_context;5786};5787 5788/* toe init ramrod header */5789struct toe_init_ramrod_header {5790 u8 first_rss;5791 u8 num_rss;5792 u8 reserved[6];5793};5794 5795/* toe pf init parameters */5796struct toe_pf_init_params {5797 __le32 push_timeout;5798 __le16 grq_buffer_size;5799 __le16 grq_sb_id;5800 u8 grq_sb_index;5801 u8 max_seg_retransmit;5802 u8 doubt_reachability;5803 u8 ll2_rx_queue_id;5804 __le16 grq_fetch_threshold;5805 u8 reserved1[2];5806 struct regpair grq_page_addr;5807};5808 5809/* toe tss parameters */5810struct toe_tss_params {5811 struct regpair curr_page_addr;5812 struct regpair next_page_addr;5813 u8 reserved0;5814 u8 status_block_index;5815 __le16 status_block_id;5816 __le16 reserved1[2];5817};5818 5819/* toe rss parameters */5820struct toe_rss_params {5821 struct regpair curr_page_addr;5822 struct regpair next_page_addr;5823 u8 reserved0;5824 u8 status_block_index;5825 __le16 status_block_id;5826 __le16 reserved1[2];5827};5828 5829/* toe init ramrod data */5830struct toe_init_ramrod_data {5831 struct toe_init_ramrod_header hdr;5832 struct tcp_init_params tcp_params;5833 struct toe_pf_init_params pf_params;5834 struct toe_tss_params tss_params[TOE_TX_MAX_TSS_CHAINS];5835 struct toe_rss_params rss_params[TOE_RX_MAX_RSS_CHAINS];5836};5837 5838/* toe offload parameters */5839struct toe_offload_params {5840 struct regpair tx_bd_page_addr;5841 struct regpair tx_app_page_addr;5842 __le32 more_to_send_seq;5843 __le16 rcv_indication_size;5844 u8 rss_tss_id;5845 u8 ignore_grq_push;5846 struct regpair rx_db_data_ptr;5847};5848 5849/* TOE offload ramrod data - DMAed by firmware */5850struct toe_offload_ramrod_data {5851 struct tcp_offload_params tcp_ofld_params;5852 struct toe_offload_params toe_ofld_params;5853};5854 5855/* TOE ramrod command IDs */5856enum toe_ramrod_cmd_id {5857 TOE_RAMROD_UNUSED,5858 TOE_RAMROD_FUNC_INIT,5859 TOE_RAMROD_INITATE_OFFLOAD,5860 TOE_RAMROD_FUNC_CLOSE,5861 TOE_RAMROD_SEARCHER_DELETE,5862 TOE_RAMROD_TERMINATE,5863 TOE_RAMROD_QUERY,5864 TOE_RAMROD_UPDATE,5865 TOE_RAMROD_EMPTY,5866 TOE_RAMROD_RESET_SEND,5867 TOE_RAMROD_INVALIDATE,5868 MAX_TOE_RAMROD_CMD_ID5869};5870 5871/* Toe RQ buffer descriptor */5872struct toe_rx_bd {5873 struct regpair addr;5874 __le16 size;5875 __le16 flags;5876#define TOE_RX_BD_START_MASK 0x15877#define TOE_RX_BD_START_SHIFT 05878#define TOE_RX_BD_END_MASK 0x15879#define TOE_RX_BD_END_SHIFT 15880#define TOE_RX_BD_NO_PUSH_MASK 0x15881#define TOE_RX_BD_NO_PUSH_SHIFT 25882#define TOE_RX_BD_SPLIT_MASK 0x15883#define TOE_RX_BD_SPLIT_SHIFT 35884#define TOE_RX_BD_RESERVED0_MASK 0xFFF5885#define TOE_RX_BD_RESERVED0_SHIFT 45886 __le32 reserved1;5887};5888 5889/* TOE RX completion queue opcodes (opcode 0 is illegal) */5890enum toe_rx_cmp_opcode {5891 TOE_RX_CMP_OPCODE_GA = 1,5892 TOE_RX_CMP_OPCODE_GR = 2,5893 TOE_RX_CMP_OPCODE_GNI = 3,5894 TOE_RX_CMP_OPCODE_GAIR = 4,5895 TOE_RX_CMP_OPCODE_GAIL = 5,5896 TOE_RX_CMP_OPCODE_GRI = 6,5897 TOE_RX_CMP_OPCODE_GJ = 7,5898 TOE_RX_CMP_OPCODE_DGI = 8,5899 TOE_RX_CMP_OPCODE_CMP = 9,5900 TOE_RX_CMP_OPCODE_REL = 10,5901 TOE_RX_CMP_OPCODE_SKP = 11,5902 TOE_RX_CMP_OPCODE_URG = 12,5903 TOE_RX_CMP_OPCODE_RT_TO = 13,5904 TOE_RX_CMP_OPCODE_KA_TO = 14,5905 TOE_RX_CMP_OPCODE_MAX_RT = 15,5906 TOE_RX_CMP_OPCODE_DBT_RE = 16,5907 TOE_RX_CMP_OPCODE_SYN = 17,5908 TOE_RX_CMP_OPCODE_OPT_ERR = 18,5909 TOE_RX_CMP_OPCODE_FW2_TO = 19,5910 TOE_RX_CMP_OPCODE_2WY_CLS = 20,5911 TOE_RX_CMP_OPCODE_RST_RCV = 21,5912 TOE_RX_CMP_OPCODE_FIN_RCV = 22,5913 TOE_RX_CMP_OPCODE_FIN_UPL = 23,5914 TOE_RX_CMP_OPCODE_INIT = 32,5915 TOE_RX_CMP_OPCODE_RSS_UPDATE = 33,5916 TOE_RX_CMP_OPCODE_CLOSE = 34,5917 TOE_RX_CMP_OPCODE_INITIATE_OFFLOAD = 80,5918 TOE_RX_CMP_OPCODE_SEARCHER_DELETE = 81,5919 TOE_RX_CMP_OPCODE_TERMINATE = 82,5920 TOE_RX_CMP_OPCODE_QUERY = 83,5921 TOE_RX_CMP_OPCODE_RESET_SEND = 84,5922 TOE_RX_CMP_OPCODE_INVALIDATE = 85,5923 TOE_RX_CMP_OPCODE_EMPTY = 86,5924 TOE_RX_CMP_OPCODE_UPDATE = 87,5925 MAX_TOE_RX_CMP_OPCODE5926};5927 5928/* TOE rx ooo completion data */5929struct toe_rx_cqe_ooo_params {5930 __le32 nbytes;5931 __le16 grq_buff_id;5932 u8 isle_num;5933 u8 reserved0;5934};5935 5936/* TOE rx in order completion data */5937struct toe_rx_cqe_in_order_params {5938 __le32 nbytes;5939 __le16 grq_buff_id;5940 __le16 reserved1;5941};5942 5943/* Union for TOE rx completion data */5944union toe_rx_cqe_data_union {5945 struct toe_rx_cqe_ooo_params ooo_params;5946 struct toe_rx_cqe_in_order_params in_order_params;5947 struct regpair raw_data;5948};5949 5950/* TOE rx completion element */5951struct toe_rx_cqe {5952 __le16 icid;5953 u8 completion_opcode;5954 u8 reserved0;5955 __le32 reserved1;5956 union toe_rx_cqe_data_union data;5957};5958 5959/* toe RX doorbel data */5960struct toe_rx_db_data {5961 __le32 local_adv_wnd_seq;5962 __le32 reserved[3];5963};5964 5965/* Toe GRQ buffer descriptor */5966struct toe_rx_grq_bd {5967 struct regpair addr;5968 __le16 buff_id;5969 __le16 reserved0;5970 __le32 reserved1;5971};5972 5973/* Toe transmission application buffer descriptor */5974struct toe_tx_app_buff_desc {5975 __le32 next_buffer_start_seq;5976 __le32 reserved;5977};5978 5979/* Toe transmission application buffer descriptor page pointer */5980struct toe_tx_app_buff_page_pointer {5981 struct regpair next_page_addr;5982};5983 5984/* Toe transmission buffer descriptor */5985struct toe_tx_bd {5986 struct regpair addr;5987 __le16 size;5988 __le16 flags;5989#define TOE_TX_BD_PUSH_MASK 0x15990#define TOE_TX_BD_PUSH_SHIFT 05991#define TOE_TX_BD_NOTIFY_MASK 0x15992#define TOE_TX_BD_NOTIFY_SHIFT 15993#define TOE_TX_BD_LARGE_IO_MASK 0x15994#define TOE_TX_BD_LARGE_IO_SHIFT 25995#define TOE_TX_BD_BD_CONS_MASK 0x1FFF5996#define TOE_TX_BD_BD_CONS_SHIFT 35997 __le32 next_bd_start_seq;5998};5999 6000/* TOE completion opcodes */6001enum toe_tx_cmp_opcode {6002 TOE_TX_CMP_OPCODE_DATA,6003 TOE_TX_CMP_OPCODE_TERMINATE,6004 TOE_TX_CMP_OPCODE_EMPTY,6005 TOE_TX_CMP_OPCODE_RESET_SEND,6006 TOE_TX_CMP_OPCODE_INVALIDATE,6007 TOE_TX_CMP_OPCODE_RST_RCV,6008 MAX_TOE_TX_CMP_OPCODE6009};6010 6011/* Toe transmission completion element */6012struct toe_tx_cqe {6013 __le16 icid;6014 u8 opcode;6015 u8 reserved;6016 __le32 size;6017};6018 6019/* Toe transmission page pointer bd */6020struct toe_tx_page_pointer_bd {6021 struct regpair next_page_addr;6022 struct regpair prev_page_addr;6023};6024 6025/* Toe transmission completion element page pointer */6026struct toe_tx_page_pointer_cqe {6027 struct regpair next_page_addr;6028};6029 6030/* toe update parameters */6031struct toe_update_params {6032 __le16 flags;6033#define TOE_UPDATE_PARAMS_RCV_INDICATION_SIZE_CHANGED_MASK 0x16034#define TOE_UPDATE_PARAMS_RCV_INDICATION_SIZE_CHANGED_SHIFT 06035#define TOE_UPDATE_PARAMS_RESERVED_MASK 0x7FFF6036#define TOE_UPDATE_PARAMS_RESERVED_SHIFT 16037 __le16 rcv_indication_size;6038 __le16 reserved1[2];6039};6040 6041/* TOE update ramrod data - DMAed by firmware */6042struct toe_update_ramrod_data {6043 struct tcp_update_params tcp_upd_params;6044 struct toe_update_params toe_upd_params;6045};6046 6047struct mstorm_toe_conn_ag_ctx {6048 u8 byte0;6049 u8 byte1;6050 u8 flags0;6051#define MSTORM_TOE_CONN_AG_CTX_BIT0_MASK 0x16052#define MSTORM_TOE_CONN_AG_CTX_BIT0_SHIFT 06053#define MSTORM_TOE_CONN_AG_CTX_BIT1_MASK 0x16054#define MSTORM_TOE_CONN_AG_CTX_BIT1_SHIFT 16055#define MSTORM_TOE_CONN_AG_CTX_CF0_MASK 0x36056#define MSTORM_TOE_CONN_AG_CTX_CF0_SHIFT 26057#define MSTORM_TOE_CONN_AG_CTX_CF1_MASK 0x36058#define MSTORM_TOE_CONN_AG_CTX_CF1_SHIFT 46059#define MSTORM_TOE_CONN_AG_CTX_CF2_MASK 0x36060#define MSTORM_TOE_CONN_AG_CTX_CF2_SHIFT 66061 u8 flags1;6062#define MSTORM_TOE_CONN_AG_CTX_CF0EN_MASK 0x16063#define MSTORM_TOE_CONN_AG_CTX_CF0EN_SHIFT 06064#define MSTORM_TOE_CONN_AG_CTX_CF1EN_MASK 0x16065#define MSTORM_TOE_CONN_AG_CTX_CF1EN_SHIFT 16066#define MSTORM_TOE_CONN_AG_CTX_CF2EN_MASK 0x16067#define MSTORM_TOE_CONN_AG_CTX_CF2EN_SHIFT 26068#define MSTORM_TOE_CONN_AG_CTX_RULE0EN_MASK 0x16069#define MSTORM_TOE_CONN_AG_CTX_RULE0EN_SHIFT 36070#define MSTORM_TOE_CONN_AG_CTX_RULE1EN_MASK 0x16071#define MSTORM_TOE_CONN_AG_CTX_RULE1EN_SHIFT 46072#define MSTORM_TOE_CONN_AG_CTX_RULE2EN_MASK 0x16073#define MSTORM_TOE_CONN_AG_CTX_RULE2EN_SHIFT 56074#define MSTORM_TOE_CONN_AG_CTX_RULE3EN_MASK 0x16075#define MSTORM_TOE_CONN_AG_CTX_RULE3EN_SHIFT 66076#define MSTORM_TOE_CONN_AG_CTX_RULE4EN_MASK 0x16077#define MSTORM_TOE_CONN_AG_CTX_RULE4EN_SHIFT 76078 __le16 word0;6079 __le16 word1;6080 __le32 reg0;6081 __le32 reg1;6082};6083 6084/* TOE doorbell data */6085struct toe_db_data {6086 u8 params;6087#define TOE_DB_DATA_DEST_MASK 0x36088#define TOE_DB_DATA_DEST_SHIFT 06089#define TOE_DB_DATA_AGG_CMD_MASK 0x36090#define TOE_DB_DATA_AGG_CMD_SHIFT 26091#define TOE_DB_DATA_BYPASS_EN_MASK 0x16092#define TOE_DB_DATA_BYPASS_EN_SHIFT 46093#define TOE_DB_DATA_RESERVED_MASK 0x16094#define TOE_DB_DATA_RESERVED_SHIFT 56095#define TOE_DB_DATA_AGG_VAL_SEL_MASK 0x36096#define TOE_DB_DATA_AGG_VAL_SEL_SHIFT 66097 u8 agg_flags;6098 __le16 bd_prod;6099};6100 6101/* rdma function init ramrod data */6102struct rdma_close_func_ramrod_data {6103 u8 cnq_start_offset;6104 u8 num_cnqs;6105 u8 vf_id;6106 u8 vf_valid;6107 u8 reserved[4];6108};6109 6110/* rdma function init CNQ parameters */6111struct rdma_cnq_params {6112 __le16 sb_num;6113 u8 sb_index;6114 u8 num_pbl_pages;6115 __le32 reserved;6116 struct regpair pbl_base_addr;6117 __le16 queue_zone_num;6118 u8 reserved1[6];6119};6120 6121/* rdma create cq ramrod data */6122struct rdma_create_cq_ramrod_data {6123 struct regpair cq_handle;6124 struct regpair pbl_addr;6125 __le32 max_cqes;6126 __le16 pbl_num_pages;6127 __le16 dpi;6128 u8 is_two_level_pbl;6129 u8 cnq_id;6130 u8 pbl_log_page_size;6131 u8 toggle_bit;6132 __le16 int_timeout;6133 u8 vf_id;6134 u8 flags;6135#define RDMA_CREATE_CQ_RAMROD_DATA_VF_ID_VALID_MASK 0x16136#define RDMA_CREATE_CQ_RAMROD_DATA_VF_ID_VALID_SHIFT 06137#define RDMA_CREATE_CQ_RAMROD_DATA_RESERVED1_MASK 0x7F6138#define RDMA_CREATE_CQ_RAMROD_DATA_RESERVED1_SHIFT 16139};6140 6141/* rdma deregister tid ramrod data */6142struct rdma_deregister_tid_ramrod_data {6143 __le32 itid;6144 __le32 reserved;6145};6146 6147/* rdma destroy cq output params */6148struct rdma_destroy_cq_output_params {6149 __le16 cnq_num;6150 __le16 reserved0;6151 __le32 reserved1;6152};6153 6154/* rdma destroy cq ramrod data */6155struct rdma_destroy_cq_ramrod_data {6156 struct regpair output_params_addr;6157};6158 6159/* RDMA slow path EQ cmd IDs */6160enum rdma_event_opcode {6161 RDMA_EVENT_UNUSED,6162 RDMA_EVENT_FUNC_INIT,6163 RDMA_EVENT_FUNC_CLOSE,6164 RDMA_EVENT_REGISTER_MR,6165 RDMA_EVENT_DEREGISTER_MR,6166 RDMA_EVENT_CREATE_CQ,6167 RDMA_EVENT_RESIZE_CQ,6168 RDMA_EVENT_DESTROY_CQ,6169 RDMA_EVENT_CREATE_SRQ,6170 RDMA_EVENT_MODIFY_SRQ,6171 RDMA_EVENT_DESTROY_SRQ,6172 RDMA_EVENT_START_NAMESPACE_TRACKING,6173 RDMA_EVENT_STOP_NAMESPACE_TRACKING,6174 MAX_RDMA_EVENT_OPCODE6175};6176 6177/* RDMA FW return code for slow path ramrods */6178enum rdma_fw_return_code {6179 RDMA_RETURN_OK = 0,6180 RDMA_RETURN_REGISTER_MR_BAD_STATE_ERR,6181 RDMA_RETURN_DEREGISTER_MR_BAD_STATE_ERR,6182 RDMA_RETURN_RESIZE_CQ_ERR,6183 RDMA_RETURN_NIG_DRAIN_REQ,6184 RDMA_RETURN_GENERAL_ERR,6185 MAX_RDMA_FW_RETURN_CODE6186};6187 6188/* rdma function init header */6189struct rdma_init_func_hdr {6190 u8 cnq_start_offset;6191 u8 num_cnqs;6192 u8 cq_ring_mode;6193 u8 vf_id;6194 u8 vf_valid;6195 u8 relaxed_ordering;6196 __le16 first_reg_srq_id;6197 __le32 reg_srq_base_addr;6198 u8 flags;6199#define RDMA_INIT_FUNC_HDR_SEARCHER_MODE_MASK 0x16200#define RDMA_INIT_FUNC_HDR_SEARCHER_MODE_SHIFT 06201#define RDMA_INIT_FUNC_HDR_PVRDMA_MODE_MASK 0x16202#define RDMA_INIT_FUNC_HDR_PVRDMA_MODE_SHIFT 16203#define RDMA_INIT_FUNC_HDR_DPT_MODE_MASK 0x16204#define RDMA_INIT_FUNC_HDR_DPT_MODE_SHIFT 26205#define RDMA_INIT_FUNC_HDR_RESERVED0_MASK 0x1F6206#define RDMA_INIT_FUNC_HDR_RESERVED0_SHIFT 36207 u8 dpt_byte_threshold_log;6208 u8 dpt_common_queue_id;6209 u8 max_num_ns_log;6210};6211 6212/* rdma function init ramrod data */6213struct rdma_init_func_ramrod_data {6214 struct rdma_init_func_hdr params_header;6215 struct rdma_cnq_params dptq_params;6216 struct rdma_cnq_params cnq_params[NUM_OF_GLOBAL_QUEUES];6217};6218 6219/* rdma namespace tracking ramrod data */6220struct rdma_namespace_tracking_ramrod_data {6221 u8 name_space;6222 u8 reserved[7];6223};6224 6225/* RDMA ramrod command IDs */6226enum rdma_ramrod_cmd_id {6227 RDMA_RAMROD_UNUSED,6228 RDMA_RAMROD_FUNC_INIT,6229 RDMA_RAMROD_FUNC_CLOSE,6230 RDMA_RAMROD_REGISTER_MR,6231 RDMA_RAMROD_DEREGISTER_MR,6232 RDMA_RAMROD_CREATE_CQ,6233 RDMA_RAMROD_RESIZE_CQ,6234 RDMA_RAMROD_DESTROY_CQ,6235 RDMA_RAMROD_CREATE_SRQ,6236 RDMA_RAMROD_MODIFY_SRQ,6237 RDMA_RAMROD_DESTROY_SRQ,6238 RDMA_RAMROD_START_NS_TRACKING,6239 RDMA_RAMROD_STOP_NS_TRACKING,6240 MAX_RDMA_RAMROD_CMD_ID6241};6242 6243/* rdma register tid ramrod data */6244struct rdma_register_tid_ramrod_data {6245 __le16 flags;6246#define RDMA_REGISTER_TID_RAMROD_DATA_PAGE_SIZE_LOG_MASK 0x1F6247#define RDMA_REGISTER_TID_RAMROD_DATA_PAGE_SIZE_LOG_SHIFT 06248#define RDMA_REGISTER_TID_RAMROD_DATA_TWO_LEVEL_PBL_MASK 0x16249#define RDMA_REGISTER_TID_RAMROD_DATA_TWO_LEVEL_PBL_SHIFT 56250#define RDMA_REGISTER_TID_RAMROD_DATA_ZERO_BASED_MASK 0x16251#define RDMA_REGISTER_TID_RAMROD_DATA_ZERO_BASED_SHIFT 66252#define RDMA_REGISTER_TID_RAMROD_DATA_PHY_MR_MASK 0x16253#define RDMA_REGISTER_TID_RAMROD_DATA_PHY_MR_SHIFT 76254#define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_READ_MASK 0x16255#define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_READ_SHIFT 86256#define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_WRITE_MASK 0x16257#define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_WRITE_SHIFT 96258#define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_ATOMIC_MASK 0x16259#define RDMA_REGISTER_TID_RAMROD_DATA_REMOTE_ATOMIC_SHIFT 106260#define RDMA_REGISTER_TID_RAMROD_DATA_LOCAL_WRITE_MASK 0x16261#define RDMA_REGISTER_TID_RAMROD_DATA_LOCAL_WRITE_SHIFT 116262#define RDMA_REGISTER_TID_RAMROD_DATA_LOCAL_READ_MASK 0x16263#define RDMA_REGISTER_TID_RAMROD_DATA_LOCAL_READ_SHIFT 126264#define RDMA_REGISTER_TID_RAMROD_DATA_ENABLE_MW_BIND_MASK 0x16265#define RDMA_REGISTER_TID_RAMROD_DATA_ENABLE_MW_BIND_SHIFT 136266#define RDMA_REGISTER_TID_RAMROD_DATA_RESERVED_MASK 0x36267#define RDMA_REGISTER_TID_RAMROD_DATA_RESERVED_SHIFT 146268 u8 flags1;6269#define RDMA_REGISTER_TID_RAMROD_DATA_PBL_PAGE_SIZE_LOG_MASK 0x1F6270#define RDMA_REGISTER_TID_RAMROD_DATA_PBL_PAGE_SIZE_LOG_SHIFT 06271#define RDMA_REGISTER_TID_RAMROD_DATA_TID_TYPE_MASK 0x76272#define RDMA_REGISTER_TID_RAMROD_DATA_TID_TYPE_SHIFT 56273 u8 flags2;6274#define RDMA_REGISTER_TID_RAMROD_DATA_DMA_MR_MASK 0x16275#define RDMA_REGISTER_TID_RAMROD_DATA_DMA_MR_SHIFT 06276#define RDMA_REGISTER_TID_RAMROD_DATA_DIF_ON_HOST_FLG_MASK 0x16277#define RDMA_REGISTER_TID_RAMROD_DATA_DIF_ON_HOST_FLG_SHIFT 16278#define RDMA_REGISTER_TID_RAMROD_DATA_RESERVED1_MASK 0x3F6279#define RDMA_REGISTER_TID_RAMROD_DATA_RESERVED1_SHIFT 26280 u8 key;6281 u8 length_hi;6282 u8 vf_id;6283 u8 vf_valid;6284 __le16 pd;6285 __le16 reserved2;6286 __le32 length_lo;6287 __le32 itid;6288 __le32 reserved3;6289 struct regpair va;6290 struct regpair pbl_base;6291 struct regpair dif_error_addr;6292 __le32 reserved4[4];6293};6294 6295/* rdma resize cq output params */6296struct rdma_resize_cq_output_params {6297 __le32 old_cq_cons;6298 __le32 old_cq_prod;6299};6300 6301/* rdma resize cq ramrod data */6302struct rdma_resize_cq_ramrod_data {6303 u8 flags;6304#define RDMA_RESIZE_CQ_RAMROD_DATA_TOGGLE_BIT_MASK 0x16305#define RDMA_RESIZE_CQ_RAMROD_DATA_TOGGLE_BIT_SHIFT 06306#define RDMA_RESIZE_CQ_RAMROD_DATA_IS_TWO_LEVEL_PBL_MASK 0x16307#define RDMA_RESIZE_CQ_RAMROD_DATA_IS_TWO_LEVEL_PBL_SHIFT 16308#define RDMA_RESIZE_CQ_RAMROD_DATA_VF_ID_VALID_MASK 0x16309#define RDMA_RESIZE_CQ_RAMROD_DATA_VF_ID_VALID_SHIFT 26310#define RDMA_RESIZE_CQ_RAMROD_DATA_RESERVED_MASK 0x1F6311#define RDMA_RESIZE_CQ_RAMROD_DATA_RESERVED_SHIFT 36312 u8 pbl_log_page_size;6313 __le16 pbl_num_pages;6314 __le32 max_cqes;6315 struct regpair pbl_addr;6316 struct regpair output_params_addr;6317 u8 vf_id;6318 u8 reserved1[7];6319};6320 6321/* The rdma SRQ context */6322struct rdma_srq_context {6323 struct regpair temp[8];6324};6325 6326/* rdma create qp requester ramrod data */6327struct rdma_srq_create_ramrod_data {6328 u8 flags;6329#define RDMA_SRQ_CREATE_RAMROD_DATA_XRC_FLAG_MASK 0x16330#define RDMA_SRQ_CREATE_RAMROD_DATA_XRC_FLAG_SHIFT 06331#define RDMA_SRQ_CREATE_RAMROD_DATA_RESERVED_KEY_EN_MASK 0x16332#define RDMA_SRQ_CREATE_RAMROD_DATA_RESERVED_KEY_EN_SHIFT 16333#define RDMA_SRQ_CREATE_RAMROD_DATA_RESERVED1_MASK 0x3F6334#define RDMA_SRQ_CREATE_RAMROD_DATA_RESERVED1_SHIFT 26335 u8 reserved2;6336 __le16 xrc_domain;6337 __le32 xrc_srq_cq_cid;6338 struct regpair pbl_base_addr;6339 __le16 pages_in_srq_pbl;6340 __le16 pd_id;6341 struct rdma_srq_id srq_id;6342 __le16 page_size;6343 __le16 reserved3;6344 __le32 reserved4;6345 struct regpair producers_addr;6346};6347 6348/* rdma create qp requester ramrod data */6349struct rdma_srq_destroy_ramrod_data {6350 struct rdma_srq_id srq_id;6351 __le32 reserved;6352};6353 6354/* rdma create qp requester ramrod data */6355struct rdma_srq_modify_ramrod_data {6356 struct rdma_srq_id srq_id;6357 __le32 wqe_limit;6358};6359 6360/* RDMA Tid type enumeration (for register_tid ramrod) */6361enum rdma_tid_type {6362 RDMA_TID_REGISTERED_MR,6363 RDMA_TID_FMR,6364 RDMA_TID_MW,6365 MAX_RDMA_TID_TYPE6366};6367 6368/* The rdma XRC SRQ context */6369struct rdma_xrc_srq_context {6370 struct regpair temp[9];6371};6372 6373struct tstorm_rdma_task_ag_ctx {6374 u8 byte0;6375 u8 byte1;6376 __le16 word0;6377 u8 flags0;6378#define TSTORM_RDMA_TASK_AG_CTX_NIBBLE0_MASK 0xF6379#define TSTORM_RDMA_TASK_AG_CTX_NIBBLE0_SHIFT 06380#define TSTORM_RDMA_TASK_AG_CTX_BIT0_MASK 0x16381#define TSTORM_RDMA_TASK_AG_CTX_BIT0_SHIFT 46382#define TSTORM_RDMA_TASK_AG_CTX_BIT1_MASK 0x16383#define TSTORM_RDMA_TASK_AG_CTX_BIT1_SHIFT 56384#define TSTORM_RDMA_TASK_AG_CTX_BIT2_MASK 0x16385#define TSTORM_RDMA_TASK_AG_CTX_BIT2_SHIFT 66386#define TSTORM_RDMA_TASK_AG_CTX_BIT3_MASK 0x16387#define TSTORM_RDMA_TASK_AG_CTX_BIT3_SHIFT 76388 u8 flags1;6389#define TSTORM_RDMA_TASK_AG_CTX_BIT4_MASK 0x16390#define TSTORM_RDMA_TASK_AG_CTX_BIT4_SHIFT 06391#define TSTORM_RDMA_TASK_AG_CTX_BIT5_MASK 0x16392#define TSTORM_RDMA_TASK_AG_CTX_BIT5_SHIFT 16393#define TSTORM_RDMA_TASK_AG_CTX_CF0_MASK 0x36394#define TSTORM_RDMA_TASK_AG_CTX_CF0_SHIFT 26395#define TSTORM_RDMA_TASK_AG_CTX_CF1_MASK 0x36396#define TSTORM_RDMA_TASK_AG_CTX_CF1_SHIFT 46397#define TSTORM_RDMA_TASK_AG_CTX_CF2_MASK 0x36398#define TSTORM_RDMA_TASK_AG_CTX_CF2_SHIFT 66399 u8 flags2;6400#define TSTORM_RDMA_TASK_AG_CTX_CF3_MASK 0x36401#define TSTORM_RDMA_TASK_AG_CTX_CF3_SHIFT 06402#define TSTORM_RDMA_TASK_AG_CTX_CF4_MASK 0x36403#define TSTORM_RDMA_TASK_AG_CTX_CF4_SHIFT 26404#define TSTORM_RDMA_TASK_AG_CTX_CF5_MASK 0x36405#define TSTORM_RDMA_TASK_AG_CTX_CF5_SHIFT 46406#define TSTORM_RDMA_TASK_AG_CTX_CF6_MASK 0x36407#define TSTORM_RDMA_TASK_AG_CTX_CF6_SHIFT 66408 u8 flags3;6409#define TSTORM_RDMA_TASK_AG_CTX_CF7_MASK 0x36410#define TSTORM_RDMA_TASK_AG_CTX_CF7_SHIFT 06411#define TSTORM_RDMA_TASK_AG_CTX_CF0EN_MASK 0x16412#define TSTORM_RDMA_TASK_AG_CTX_CF0EN_SHIFT 26413#define TSTORM_RDMA_TASK_AG_CTX_CF1EN_MASK 0x16414#define TSTORM_RDMA_TASK_AG_CTX_CF1EN_SHIFT 36415#define TSTORM_RDMA_TASK_AG_CTX_CF2EN_MASK 0x16416#define TSTORM_RDMA_TASK_AG_CTX_CF2EN_SHIFT 46417#define TSTORM_RDMA_TASK_AG_CTX_CF3EN_MASK 0x16418#define TSTORM_RDMA_TASK_AG_CTX_CF3EN_SHIFT 56419#define TSTORM_RDMA_TASK_AG_CTX_CF4EN_MASK 0x16420#define TSTORM_RDMA_TASK_AG_CTX_CF4EN_SHIFT 66421#define TSTORM_RDMA_TASK_AG_CTX_CF5EN_MASK 0x16422#define TSTORM_RDMA_TASK_AG_CTX_CF5EN_SHIFT 76423 u8 flags4;6424#define TSTORM_RDMA_TASK_AG_CTX_CF6EN_MASK 0x16425#define TSTORM_RDMA_TASK_AG_CTX_CF6EN_SHIFT 06426#define TSTORM_RDMA_TASK_AG_CTX_CF7EN_MASK 0x16427#define TSTORM_RDMA_TASK_AG_CTX_CF7EN_SHIFT 16428#define TSTORM_RDMA_TASK_AG_CTX_RULE0EN_MASK 0x16429#define TSTORM_RDMA_TASK_AG_CTX_RULE0EN_SHIFT 26430#define TSTORM_RDMA_TASK_AG_CTX_RULE1EN_MASK 0x16431#define TSTORM_RDMA_TASK_AG_CTX_RULE1EN_SHIFT 36432#define TSTORM_RDMA_TASK_AG_CTX_RULE2EN_MASK 0x16433#define TSTORM_RDMA_TASK_AG_CTX_RULE2EN_SHIFT 46434#define TSTORM_RDMA_TASK_AG_CTX_RULE3EN_MASK 0x16435#define TSTORM_RDMA_TASK_AG_CTX_RULE3EN_SHIFT 56436#define TSTORM_RDMA_TASK_AG_CTX_RULE4EN_MASK 0x16437#define TSTORM_RDMA_TASK_AG_CTX_RULE4EN_SHIFT 66438#define TSTORM_RDMA_TASK_AG_CTX_RULE5EN_MASK 0x16439#define TSTORM_RDMA_TASK_AG_CTX_RULE5EN_SHIFT 76440 u8 byte2;6441 __le16 word1;6442 __le32 reg0;6443 u8 byte3;6444 u8 byte4;6445 __le16 word2;6446 __le16 word3;6447 __le16 word4;6448 __le32 reg1;6449 __le32 reg2;6450};6451 6452struct ustorm_rdma_conn_ag_ctx {6453 u8 reserved;6454 u8 byte1;6455 u8 flags0;6456#define USTORM_RDMA_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x16457#define USTORM_RDMA_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 06458#define USTORM_RDMA_CONN_AG_CTX_DIF_ERROR_REPORTED_MASK 0x16459#define USTORM_RDMA_CONN_AG_CTX_DIF_ERROR_REPORTED_SHIFT 16460#define USTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x36461#define USTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 26462#define USTORM_RDMA_CONN_AG_CTX_CF1_MASK 0x36463#define USTORM_RDMA_CONN_AG_CTX_CF1_SHIFT 46464#define USTORM_RDMA_CONN_AG_CTX_CF2_MASK 0x36465#define USTORM_RDMA_CONN_AG_CTX_CF2_SHIFT 66466 u8 flags1;6467#define USTORM_RDMA_CONN_AG_CTX_CF3_MASK 0x36468#define USTORM_RDMA_CONN_AG_CTX_CF3_SHIFT 06469#define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_SE_CF_MASK 0x36470#define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_SE_CF_SHIFT 26471#define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_CF_MASK 0x36472#define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_CF_SHIFT 46473#define USTORM_RDMA_CONN_AG_CTX_CF6_MASK 0x36474#define USTORM_RDMA_CONN_AG_CTX_CF6_SHIFT 66475 u8 flags2;6476#define USTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x16477#define USTORM_RDMA_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 06478#define USTORM_RDMA_CONN_AG_CTX_CF1EN_MASK 0x16479#define USTORM_RDMA_CONN_AG_CTX_CF1EN_SHIFT 16480#define USTORM_RDMA_CONN_AG_CTX_CF2EN_MASK 0x16481#define USTORM_RDMA_CONN_AG_CTX_CF2EN_SHIFT 26482#define USTORM_RDMA_CONN_AG_CTX_CF3EN_MASK 0x16483#define USTORM_RDMA_CONN_AG_CTX_CF3EN_SHIFT 36484#define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_SE_CF_EN_MASK 0x16485#define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_SE_CF_EN_SHIFT 46486#define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_CF_EN_MASK 0x16487#define USTORM_RDMA_CONN_AG_CTX_CQ_ARM_CF_EN_SHIFT 56488#define USTORM_RDMA_CONN_AG_CTX_CF6EN_MASK 0x16489#define USTORM_RDMA_CONN_AG_CTX_CF6EN_SHIFT 66490#define USTORM_RDMA_CONN_AG_CTX_CQ_SE_EN_MASK 0x16491#define USTORM_RDMA_CONN_AG_CTX_CQ_SE_EN_SHIFT 76492 u8 flags3;6493#define USTORM_RDMA_CONN_AG_CTX_CQ_EN_MASK 0x16494#define USTORM_RDMA_CONN_AG_CTX_CQ_EN_SHIFT 06495#define USTORM_RDMA_CONN_AG_CTX_RULE2EN_MASK 0x16496#define USTORM_RDMA_CONN_AG_CTX_RULE2EN_SHIFT 16497#define USTORM_RDMA_CONN_AG_CTX_RULE3EN_MASK 0x16498#define USTORM_RDMA_CONN_AG_CTX_RULE3EN_SHIFT 26499#define USTORM_RDMA_CONN_AG_CTX_RULE4EN_MASK 0x16500#define USTORM_RDMA_CONN_AG_CTX_RULE4EN_SHIFT 36501#define USTORM_RDMA_CONN_AG_CTX_RULE5EN_MASK 0x16502#define USTORM_RDMA_CONN_AG_CTX_RULE5EN_SHIFT 46503#define USTORM_RDMA_CONN_AG_CTX_RULE6EN_MASK 0x16504#define USTORM_RDMA_CONN_AG_CTX_RULE6EN_SHIFT 56505#define USTORM_RDMA_CONN_AG_CTX_RULE7EN_MASK 0x16506#define USTORM_RDMA_CONN_AG_CTX_RULE7EN_SHIFT 66507#define USTORM_RDMA_CONN_AG_CTX_RULE8EN_MASK 0x16508#define USTORM_RDMA_CONN_AG_CTX_RULE8EN_SHIFT 76509 u8 byte2;6510 u8 nvmf_only;6511 __le16 conn_dpi;6512 __le16 word1;6513 __le32 cq_cons;6514 __le32 cq_se_prod;6515 __le32 cq_prod;6516 __le32 reg3;6517 __le16 int_timeout;6518 __le16 word3;6519};6520 6521struct xstorm_roce_conn_ag_ctx {6522 u8 reserved0;6523 u8 state;6524 u8 flags0;6525#define XSTORM_ROCE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x16526#define XSTORM_ROCE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 06527#define XSTORM_ROCE_CONN_AG_CTX_BIT1_MASK 0x16528#define XSTORM_ROCE_CONN_AG_CTX_BIT1_SHIFT 16529#define XSTORM_ROCE_CONN_AG_CTX_BIT2_MASK 0x16530#define XSTORM_ROCE_CONN_AG_CTX_BIT2_SHIFT 26531#define XSTORM_ROCE_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x16532#define XSTORM_ROCE_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 36533#define XSTORM_ROCE_CONN_AG_CTX_BIT4_MASK 0x16534#define XSTORM_ROCE_CONN_AG_CTX_BIT4_SHIFT 46535#define XSTORM_ROCE_CONN_AG_CTX_BIT5_MASK 0x16536#define XSTORM_ROCE_CONN_AG_CTX_BIT5_SHIFT 56537#define XSTORM_ROCE_CONN_AG_CTX_BIT6_MASK 0x16538#define XSTORM_ROCE_CONN_AG_CTX_BIT6_SHIFT 66539#define XSTORM_ROCE_CONN_AG_CTX_BIT7_MASK 0x16540#define XSTORM_ROCE_CONN_AG_CTX_BIT7_SHIFT 76541 u8 flags1;6542#define XSTORM_ROCE_CONN_AG_CTX_BIT8_MASK 0x16543#define XSTORM_ROCE_CONN_AG_CTX_BIT8_SHIFT 06544#define XSTORM_ROCE_CONN_AG_CTX_BIT9_MASK 0x16545#define XSTORM_ROCE_CONN_AG_CTX_BIT9_SHIFT 16546#define XSTORM_ROCE_CONN_AG_CTX_BIT10_MASK 0x16547#define XSTORM_ROCE_CONN_AG_CTX_BIT10_SHIFT 26548#define XSTORM_ROCE_CONN_AG_CTX_BIT11_MASK 0x16549#define XSTORM_ROCE_CONN_AG_CTX_BIT11_SHIFT 36550#define XSTORM_ROCE_CONN_AG_CTX_MSDM_FLUSH_MASK 0x16551#define XSTORM_ROCE_CONN_AG_CTX_MSDM_FLUSH_SHIFT 46552#define XSTORM_ROCE_CONN_AG_CTX_MSEM_FLUSH_MASK 0x16553#define XSTORM_ROCE_CONN_AG_CTX_MSEM_FLUSH_SHIFT 56554#define XSTORM_ROCE_CONN_AG_CTX_BIT14_MASK 0x16555#define XSTORM_ROCE_CONN_AG_CTX_BIT14_SHIFT 66556#define XSTORM_ROCE_CONN_AG_CTX_YSTORM_FLUSH_MASK 0x16557#define XSTORM_ROCE_CONN_AG_CTX_YSTORM_FLUSH_SHIFT 76558 u8 flags2;6559#define XSTORM_ROCE_CONN_AG_CTX_CF0_MASK 0x36560#define XSTORM_ROCE_CONN_AG_CTX_CF0_SHIFT 06561#define XSTORM_ROCE_CONN_AG_CTX_CF1_MASK 0x36562#define XSTORM_ROCE_CONN_AG_CTX_CF1_SHIFT 26563#define XSTORM_ROCE_CONN_AG_CTX_CF2_MASK 0x36564#define XSTORM_ROCE_CONN_AG_CTX_CF2_SHIFT 46565#define XSTORM_ROCE_CONN_AG_CTX_CF3_MASK 0x36566#define XSTORM_ROCE_CONN_AG_CTX_CF3_SHIFT 66567 u8 flags3;6568#define XSTORM_ROCE_CONN_AG_CTX_CF4_MASK 0x36569#define XSTORM_ROCE_CONN_AG_CTX_CF4_SHIFT 06570#define XSTORM_ROCE_CONN_AG_CTX_CF5_MASK 0x36571#define XSTORM_ROCE_CONN_AG_CTX_CF5_SHIFT 26572#define XSTORM_ROCE_CONN_AG_CTX_CF6_MASK 0x36573#define XSTORM_ROCE_CONN_AG_CTX_CF6_SHIFT 46574#define XSTORM_ROCE_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x36575#define XSTORM_ROCE_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 66576 u8 flags4;6577#define XSTORM_ROCE_CONN_AG_CTX_CF8_MASK 0x36578#define XSTORM_ROCE_CONN_AG_CTX_CF8_SHIFT 06579#define XSTORM_ROCE_CONN_AG_CTX_CF9_MASK 0x36580#define XSTORM_ROCE_CONN_AG_CTX_CF9_SHIFT 26581#define XSTORM_ROCE_CONN_AG_CTX_CF10_MASK 0x36582#define XSTORM_ROCE_CONN_AG_CTX_CF10_SHIFT 46583#define XSTORM_ROCE_CONN_AG_CTX_CF11_MASK 0x36584#define XSTORM_ROCE_CONN_AG_CTX_CF11_SHIFT 66585 u8 flags5;6586#define XSTORM_ROCE_CONN_AG_CTX_CF12_MASK 0x36587#define XSTORM_ROCE_CONN_AG_CTX_CF12_SHIFT 06588#define XSTORM_ROCE_CONN_AG_CTX_CF13_MASK 0x36589#define XSTORM_ROCE_CONN_AG_CTX_CF13_SHIFT 26590#define XSTORM_ROCE_CONN_AG_CTX_CF14_MASK 0x36591#define XSTORM_ROCE_CONN_AG_CTX_CF14_SHIFT 46592#define XSTORM_ROCE_CONN_AG_CTX_CF15_MASK 0x36593#define XSTORM_ROCE_CONN_AG_CTX_CF15_SHIFT 66594 u8 flags6;6595#define XSTORM_ROCE_CONN_AG_CTX_CF16_MASK 0x36596#define XSTORM_ROCE_CONN_AG_CTX_CF16_SHIFT 06597#define XSTORM_ROCE_CONN_AG_CTX_CF17_MASK 0x36598#define XSTORM_ROCE_CONN_AG_CTX_CF17_SHIFT 26599#define XSTORM_ROCE_CONN_AG_CTX_CF18_MASK 0x36600#define XSTORM_ROCE_CONN_AG_CTX_CF18_SHIFT 46601#define XSTORM_ROCE_CONN_AG_CTX_CF19_MASK 0x36602#define XSTORM_ROCE_CONN_AG_CTX_CF19_SHIFT 66603 u8 flags7;6604#define XSTORM_ROCE_CONN_AG_CTX_CF20_MASK 0x36605#define XSTORM_ROCE_CONN_AG_CTX_CF20_SHIFT 06606#define XSTORM_ROCE_CONN_AG_CTX_CF21_MASK 0x36607#define XSTORM_ROCE_CONN_AG_CTX_CF21_SHIFT 26608#define XSTORM_ROCE_CONN_AG_CTX_SLOW_PATH_MASK 0x36609#define XSTORM_ROCE_CONN_AG_CTX_SLOW_PATH_SHIFT 46610#define XSTORM_ROCE_CONN_AG_CTX_CF0EN_MASK 0x16611#define XSTORM_ROCE_CONN_AG_CTX_CF0EN_SHIFT 66612#define XSTORM_ROCE_CONN_AG_CTX_CF1EN_MASK 0x16613#define XSTORM_ROCE_CONN_AG_CTX_CF1EN_SHIFT 76614 u8 flags8;6615#define XSTORM_ROCE_CONN_AG_CTX_CF2EN_MASK 0x16616#define XSTORM_ROCE_CONN_AG_CTX_CF2EN_SHIFT 06617#define XSTORM_ROCE_CONN_AG_CTX_CF3EN_MASK 0x16618#define XSTORM_ROCE_CONN_AG_CTX_CF3EN_SHIFT 16619#define XSTORM_ROCE_CONN_AG_CTX_CF4EN_MASK 0x16620#define XSTORM_ROCE_CONN_AG_CTX_CF4EN_SHIFT 26621#define XSTORM_ROCE_CONN_AG_CTX_CF5EN_MASK 0x16622#define XSTORM_ROCE_CONN_AG_CTX_CF5EN_SHIFT 36623#define XSTORM_ROCE_CONN_AG_CTX_CF6EN_MASK 0x16624#define XSTORM_ROCE_CONN_AG_CTX_CF6EN_SHIFT 46625#define XSTORM_ROCE_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x16626#define XSTORM_ROCE_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 56627#define XSTORM_ROCE_CONN_AG_CTX_CF8EN_MASK 0x16628#define XSTORM_ROCE_CONN_AG_CTX_CF8EN_SHIFT 66629#define XSTORM_ROCE_CONN_AG_CTX_CF9EN_MASK 0x16630#define XSTORM_ROCE_CONN_AG_CTX_CF9EN_SHIFT 76631 u8 flags9;6632#define XSTORM_ROCE_CONN_AG_CTX_CF10EN_MASK 0x16633#define XSTORM_ROCE_CONN_AG_CTX_CF10EN_SHIFT 06634#define XSTORM_ROCE_CONN_AG_CTX_CF11EN_MASK 0x16635#define XSTORM_ROCE_CONN_AG_CTX_CF11EN_SHIFT 16636#define XSTORM_ROCE_CONN_AG_CTX_CF12EN_MASK 0x16637#define XSTORM_ROCE_CONN_AG_CTX_CF12EN_SHIFT 26638#define XSTORM_ROCE_CONN_AG_CTX_CF13EN_MASK 0x16639#define XSTORM_ROCE_CONN_AG_CTX_CF13EN_SHIFT 36640#define XSTORM_ROCE_CONN_AG_CTX_CF14EN_MASK 0x16641#define XSTORM_ROCE_CONN_AG_CTX_CF14EN_SHIFT 46642#define XSTORM_ROCE_CONN_AG_CTX_CF15EN_MASK 0x16643#define XSTORM_ROCE_CONN_AG_CTX_CF15EN_SHIFT 56644#define XSTORM_ROCE_CONN_AG_CTX_CF16EN_MASK 0x16645#define XSTORM_ROCE_CONN_AG_CTX_CF16EN_SHIFT 66646#define XSTORM_ROCE_CONN_AG_CTX_CF17EN_MASK 0x16647#define XSTORM_ROCE_CONN_AG_CTX_CF17EN_SHIFT 76648 u8 flags10;6649#define XSTORM_ROCE_CONN_AG_CTX_CF18EN_MASK 0x16650#define XSTORM_ROCE_CONN_AG_CTX_CF18EN_SHIFT 06651#define XSTORM_ROCE_CONN_AG_CTX_CF19EN_MASK 0x16652#define XSTORM_ROCE_CONN_AG_CTX_CF19EN_SHIFT 16653#define XSTORM_ROCE_CONN_AG_CTX_CF20EN_MASK 0x16654#define XSTORM_ROCE_CONN_AG_CTX_CF20EN_SHIFT 26655#define XSTORM_ROCE_CONN_AG_CTX_CF21EN_MASK 0x16656#define XSTORM_ROCE_CONN_AG_CTX_CF21EN_SHIFT 36657#define XSTORM_ROCE_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x16658#define XSTORM_ROCE_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 46659#define XSTORM_ROCE_CONN_AG_CTX_CF23EN_MASK 0x16660#define XSTORM_ROCE_CONN_AG_CTX_CF23EN_SHIFT 56661#define XSTORM_ROCE_CONN_AG_CTX_RULE0EN_MASK 0x16662#define XSTORM_ROCE_CONN_AG_CTX_RULE0EN_SHIFT 66663#define XSTORM_ROCE_CONN_AG_CTX_RULE1EN_MASK 0x16664#define XSTORM_ROCE_CONN_AG_CTX_RULE1EN_SHIFT 76665 u8 flags11;6666#define XSTORM_ROCE_CONN_AG_CTX_RULE2EN_MASK 0x16667#define XSTORM_ROCE_CONN_AG_CTX_RULE2EN_SHIFT 06668#define XSTORM_ROCE_CONN_AG_CTX_RULE3EN_MASK 0x16669#define XSTORM_ROCE_CONN_AG_CTX_RULE3EN_SHIFT 16670#define XSTORM_ROCE_CONN_AG_CTX_RULE4EN_MASK 0x16671#define XSTORM_ROCE_CONN_AG_CTX_RULE4EN_SHIFT 26672#define XSTORM_ROCE_CONN_AG_CTX_RULE5EN_MASK 0x16673#define XSTORM_ROCE_CONN_AG_CTX_RULE5EN_SHIFT 36674#define XSTORM_ROCE_CONN_AG_CTX_RULE6EN_MASK 0x16675#define XSTORM_ROCE_CONN_AG_CTX_RULE6EN_SHIFT 46676#define XSTORM_ROCE_CONN_AG_CTX_RULE7EN_MASK 0x16677#define XSTORM_ROCE_CONN_AG_CTX_RULE7EN_SHIFT 56678#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED1_MASK 0x16679#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED1_SHIFT 66680#define XSTORM_ROCE_CONN_AG_CTX_RULE9EN_MASK 0x16681#define XSTORM_ROCE_CONN_AG_CTX_RULE9EN_SHIFT 76682 u8 flags12;6683#define XSTORM_ROCE_CONN_AG_CTX_RULE10EN_MASK 0x16684#define XSTORM_ROCE_CONN_AG_CTX_RULE10EN_SHIFT 06685#define XSTORM_ROCE_CONN_AG_CTX_RULE11EN_MASK 0x16686#define XSTORM_ROCE_CONN_AG_CTX_RULE11EN_SHIFT 16687#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED2_MASK 0x16688#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED2_SHIFT 26689#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED3_MASK 0x16690#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED3_SHIFT 36691#define XSTORM_ROCE_CONN_AG_CTX_RULE14EN_MASK 0x16692#define XSTORM_ROCE_CONN_AG_CTX_RULE14EN_SHIFT 46693#define XSTORM_ROCE_CONN_AG_CTX_RULE15EN_MASK 0x16694#define XSTORM_ROCE_CONN_AG_CTX_RULE15EN_SHIFT 56695#define XSTORM_ROCE_CONN_AG_CTX_RULE16EN_MASK 0x16696#define XSTORM_ROCE_CONN_AG_CTX_RULE16EN_SHIFT 66697#define XSTORM_ROCE_CONN_AG_CTX_RULE17EN_MASK 0x16698#define XSTORM_ROCE_CONN_AG_CTX_RULE17EN_SHIFT 76699 u8 flags13;6700#define XSTORM_ROCE_CONN_AG_CTX_RULE18EN_MASK 0x16701#define XSTORM_ROCE_CONN_AG_CTX_RULE18EN_SHIFT 06702#define XSTORM_ROCE_CONN_AG_CTX_RULE19EN_MASK 0x16703#define XSTORM_ROCE_CONN_AG_CTX_RULE19EN_SHIFT 16704#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED4_MASK 0x16705#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED4_SHIFT 26706#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED5_MASK 0x16707#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED5_SHIFT 36708#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED6_MASK 0x16709#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED6_SHIFT 46710#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED7_MASK 0x16711#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED7_SHIFT 56712#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED8_MASK 0x16713#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED8_SHIFT 66714#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED9_MASK 0x16715#define XSTORM_ROCE_CONN_AG_CTX_A0_RESERVED9_SHIFT 76716 u8 flags14;6717#define XSTORM_ROCE_CONN_AG_CTX_MIGRATION_MASK 0x16718#define XSTORM_ROCE_CONN_AG_CTX_MIGRATION_SHIFT 06719#define XSTORM_ROCE_CONN_AG_CTX_BIT17_MASK 0x16720#define XSTORM_ROCE_CONN_AG_CTX_BIT17_SHIFT 16721#define XSTORM_ROCE_CONN_AG_CTX_DPM_PORT_NUM_MASK 0x36722#define XSTORM_ROCE_CONN_AG_CTX_DPM_PORT_NUM_SHIFT 26723#define XSTORM_ROCE_CONN_AG_CTX_RESERVED_MASK 0x16724#define XSTORM_ROCE_CONN_AG_CTX_RESERVED_SHIFT 46725#define XSTORM_ROCE_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK 0x16726#define XSTORM_ROCE_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT 56727#define XSTORM_ROCE_CONN_AG_CTX_CF23_MASK 0x36728#define XSTORM_ROCE_CONN_AG_CTX_CF23_SHIFT 66729 u8 byte2;6730 __le16 physical_q0;6731 __le16 word1;6732 __le16 word2;6733 __le16 word3;6734 __le16 word4;6735 __le16 word5;6736 __le16 conn_dpi;6737 u8 byte3;6738 u8 byte4;6739 u8 byte5;6740 u8 byte6;6741 __le32 reg0;6742 __le32 reg1;6743 __le32 reg2;6744 __le32 snd_nxt_psn;6745 __le32 reg4;6746 __le32 reg5;6747 __le32 reg6;6748};6749 6750struct tstorm_roce_conn_ag_ctx {6751 u8 reserved0;6752 u8 byte1;6753 u8 flags0;6754#define TSTORM_ROCE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x16755#define TSTORM_ROCE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 06756#define TSTORM_ROCE_CONN_AG_CTX_BIT1_MASK 0x16757#define TSTORM_ROCE_CONN_AG_CTX_BIT1_SHIFT 16758#define TSTORM_ROCE_CONN_AG_CTX_BIT2_MASK 0x16759#define TSTORM_ROCE_CONN_AG_CTX_BIT2_SHIFT 26760#define TSTORM_ROCE_CONN_AG_CTX_BIT3_MASK 0x16761#define TSTORM_ROCE_CONN_AG_CTX_BIT3_SHIFT 36762#define TSTORM_ROCE_CONN_AG_CTX_BIT4_MASK 0x16763#define TSTORM_ROCE_CONN_AG_CTX_BIT4_SHIFT 46764#define TSTORM_ROCE_CONN_AG_CTX_BIT5_MASK 0x16765#define TSTORM_ROCE_CONN_AG_CTX_BIT5_SHIFT 56766#define TSTORM_ROCE_CONN_AG_CTX_CF0_MASK 0x36767#define TSTORM_ROCE_CONN_AG_CTX_CF0_SHIFT 66768 u8 flags1;6769#define TSTORM_ROCE_CONN_AG_CTX_MSTORM_FLUSH_CF_MASK 0x36770#define TSTORM_ROCE_CONN_AG_CTX_MSTORM_FLUSH_CF_SHIFT 06771#define TSTORM_ROCE_CONN_AG_CTX_CF2_MASK 0x36772#define TSTORM_ROCE_CONN_AG_CTX_CF2_SHIFT 26773#define TSTORM_ROCE_CONN_AG_CTX_TIMER_STOP_ALL_CF_MASK 0x36774#define TSTORM_ROCE_CONN_AG_CTX_TIMER_STOP_ALL_CF_SHIFT 46775#define TSTORM_ROCE_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x36776#define TSTORM_ROCE_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 66777 u8 flags2;6778#define TSTORM_ROCE_CONN_AG_CTX_CF5_MASK 0x36779#define TSTORM_ROCE_CONN_AG_CTX_CF5_SHIFT 06780#define TSTORM_ROCE_CONN_AG_CTX_CF6_MASK 0x36781#define TSTORM_ROCE_CONN_AG_CTX_CF6_SHIFT 26782#define TSTORM_ROCE_CONN_AG_CTX_CF7_MASK 0x36783#define TSTORM_ROCE_CONN_AG_CTX_CF7_SHIFT 46784#define TSTORM_ROCE_CONN_AG_CTX_CF8_MASK 0x36785#define TSTORM_ROCE_CONN_AG_CTX_CF8_SHIFT 66786 u8 flags3;6787#define TSTORM_ROCE_CONN_AG_CTX_CF9_MASK 0x36788#define TSTORM_ROCE_CONN_AG_CTX_CF9_SHIFT 06789#define TSTORM_ROCE_CONN_AG_CTX_CF10_MASK 0x36790#define TSTORM_ROCE_CONN_AG_CTX_CF10_SHIFT 26791#define TSTORM_ROCE_CONN_AG_CTX_CF0EN_MASK 0x16792#define TSTORM_ROCE_CONN_AG_CTX_CF0EN_SHIFT 46793#define TSTORM_ROCE_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_MASK 0x16794#define TSTORM_ROCE_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_SHIFT 56795#define TSTORM_ROCE_CONN_AG_CTX_CF2EN_MASK 0x16796#define TSTORM_ROCE_CONN_AG_CTX_CF2EN_SHIFT 66797#define TSTORM_ROCE_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_MASK 0x16798#define TSTORM_ROCE_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_SHIFT 76799 u8 flags4;6800#define TSTORM_ROCE_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x16801#define TSTORM_ROCE_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 06802#define TSTORM_ROCE_CONN_AG_CTX_CF5EN_MASK 0x16803#define TSTORM_ROCE_CONN_AG_CTX_CF5EN_SHIFT 16804#define TSTORM_ROCE_CONN_AG_CTX_CF6EN_MASK 0x16805#define TSTORM_ROCE_CONN_AG_CTX_CF6EN_SHIFT 26806#define TSTORM_ROCE_CONN_AG_CTX_CF7EN_MASK 0x16807#define TSTORM_ROCE_CONN_AG_CTX_CF7EN_SHIFT 36808#define TSTORM_ROCE_CONN_AG_CTX_CF8EN_MASK 0x16809#define TSTORM_ROCE_CONN_AG_CTX_CF8EN_SHIFT 46810#define TSTORM_ROCE_CONN_AG_CTX_CF9EN_MASK 0x16811#define TSTORM_ROCE_CONN_AG_CTX_CF9EN_SHIFT 56812#define TSTORM_ROCE_CONN_AG_CTX_CF10EN_MASK 0x16813#define TSTORM_ROCE_CONN_AG_CTX_CF10EN_SHIFT 66814#define TSTORM_ROCE_CONN_AG_CTX_RULE0EN_MASK 0x16815#define TSTORM_ROCE_CONN_AG_CTX_RULE0EN_SHIFT 76816 u8 flags5;6817#define TSTORM_ROCE_CONN_AG_CTX_RULE1EN_MASK 0x16818#define TSTORM_ROCE_CONN_AG_CTX_RULE1EN_SHIFT 06819#define TSTORM_ROCE_CONN_AG_CTX_RULE2EN_MASK 0x16820#define TSTORM_ROCE_CONN_AG_CTX_RULE2EN_SHIFT 16821#define TSTORM_ROCE_CONN_AG_CTX_RULE3EN_MASK 0x16822#define TSTORM_ROCE_CONN_AG_CTX_RULE3EN_SHIFT 26823#define TSTORM_ROCE_CONN_AG_CTX_RULE4EN_MASK 0x16824#define TSTORM_ROCE_CONN_AG_CTX_RULE4EN_SHIFT 36825#define TSTORM_ROCE_CONN_AG_CTX_RULE5EN_MASK 0x16826#define TSTORM_ROCE_CONN_AG_CTX_RULE5EN_SHIFT 46827#define TSTORM_ROCE_CONN_AG_CTX_RULE6EN_MASK 0x16828#define TSTORM_ROCE_CONN_AG_CTX_RULE6EN_SHIFT 56829#define TSTORM_ROCE_CONN_AG_CTX_RULE7EN_MASK 0x16830#define TSTORM_ROCE_CONN_AG_CTX_RULE7EN_SHIFT 66831#define TSTORM_ROCE_CONN_AG_CTX_RULE8EN_MASK 0x16832#define TSTORM_ROCE_CONN_AG_CTX_RULE8EN_SHIFT 76833 __le32 reg0;6834 __le32 reg1;6835 __le32 reg2;6836 __le32 reg3;6837 __le32 reg4;6838 __le32 reg5;6839 __le32 reg6;6840 __le32 reg7;6841 __le32 reg8;6842 u8 byte2;6843 u8 byte3;6844 __le16 word0;6845 u8 byte4;6846 u8 byte5;6847 __le16 word1;6848 __le16 word2;6849 __le16 word3;6850 __le32 reg9;6851 __le32 reg10;6852};6853 6854/* The roce storm context of Ystorm */6855struct ystorm_roce_conn_st_ctx {6856 struct regpair temp[2];6857};6858 6859/* The roce storm context of Mstorm */6860struct pstorm_roce_conn_st_ctx {6861 struct regpair temp[16];6862};6863 6864/* The roce storm context of Xstorm */6865struct xstorm_roce_conn_st_ctx {6866 struct regpair temp[24];6867};6868 6869/* The roce storm context of Tstorm */6870struct tstorm_roce_conn_st_ctx {6871 struct regpair temp[30];6872};6873 6874/* The roce storm context of Mstorm */6875struct mstorm_roce_conn_st_ctx {6876 struct regpair temp[6];6877};6878 6879/* The roce storm context of Ustorm */6880struct ustorm_roce_conn_st_ctx {6881 struct regpair temp[14];6882};6883 6884/* roce connection context */6885struct roce_conn_context {6886 struct ystorm_roce_conn_st_ctx ystorm_st_context;6887 struct regpair ystorm_st_padding[2];6888 struct pstorm_roce_conn_st_ctx pstorm_st_context;6889 struct xstorm_roce_conn_st_ctx xstorm_st_context;6890 struct xstorm_roce_conn_ag_ctx xstorm_ag_context;6891 struct tstorm_roce_conn_ag_ctx tstorm_ag_context;6892 struct timers_context timer_context;6893 struct ustorm_rdma_conn_ag_ctx ustorm_ag_context;6894 struct tstorm_roce_conn_st_ctx tstorm_st_context;6895 struct regpair tstorm_st_padding[2];6896 struct mstorm_roce_conn_st_ctx mstorm_st_context;6897 struct regpair mstorm_st_padding[2];6898 struct ustorm_roce_conn_st_ctx ustorm_st_context;6899 struct regpair ustorm_st_padding[2];6900};6901 6902/* roce cqes statistics */6903struct roce_cqe_stats {6904 __le32 req_cqe_error;6905 __le32 req_remote_access_errors;6906 __le32 req_remote_invalid_request;6907 __le32 resp_cqe_error;6908 __le32 resp_local_length_error;6909 __le32 reserved;6910};6911 6912/* roce create qp requester ramrod data */6913struct roce_create_qp_req_ramrod_data {6914 __le16 flags;6915#define ROCE_CREATE_QP_REQ_RAMROD_DATA_ROCE_FLAVOR_MASK 0x36916#define ROCE_CREATE_QP_REQ_RAMROD_DATA_ROCE_FLAVOR_SHIFT 06917#define ROCE_CREATE_QP_REQ_RAMROD_DATA_FMR_AND_RESERVED_EN_MASK 0x16918#define ROCE_CREATE_QP_REQ_RAMROD_DATA_FMR_AND_RESERVED_EN_SHIFT 26919#define ROCE_CREATE_QP_REQ_RAMROD_DATA_SIGNALED_COMP_MASK 0x16920#define ROCE_CREATE_QP_REQ_RAMROD_DATA_SIGNALED_COMP_SHIFT 36921#define ROCE_CREATE_QP_REQ_RAMROD_DATA_PRI_MASK 0x76922#define ROCE_CREATE_QP_REQ_RAMROD_DATA_PRI_SHIFT 46923#define ROCE_CREATE_QP_REQ_RAMROD_DATA_XRC_FLAG_MASK 0x16924#define ROCE_CREATE_QP_REQ_RAMROD_DATA_XRC_FLAG_SHIFT 76925#define ROCE_CREATE_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_MASK 0xF6926#define ROCE_CREATE_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_SHIFT 86927#define ROCE_CREATE_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_MASK 0xF6928#define ROCE_CREATE_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_SHIFT 126929 u8 max_ord;6930 u8 traffic_class;6931 u8 hop_limit;6932 u8 orq_num_pages;6933 __le16 p_key;6934 __le32 flow_label;6935 __le32 dst_qp_id;6936 __le32 ack_timeout_val;6937 __le32 initial_psn;6938 __le16 mtu;6939 __le16 pd;6940 __le16 sq_num_pages;6941 __le16 low_latency_phy_queue;6942 struct regpair sq_pbl_addr;6943 struct regpair orq_pbl_addr;6944 __le16 local_mac_addr[3];6945 __le16 remote_mac_addr[3];6946 __le16 vlan_id;6947 __le16 udp_src_port;6948 __le32 src_gid[4];6949 __le32 dst_gid[4];6950 __le32 cq_cid;6951 struct regpair qp_handle_for_cqe;6952 struct regpair qp_handle_for_async;6953 u8 stats_counter_id;6954 u8 vf_id;6955 u8 vport_id;6956 u8 flags2;6957#define ROCE_CREATE_QP_REQ_RAMROD_DATA_EDPM_MODE_MASK 0x16958#define ROCE_CREATE_QP_REQ_RAMROD_DATA_EDPM_MODE_SHIFT 06959#define ROCE_CREATE_QP_REQ_RAMROD_DATA_VF_ID_VALID_MASK 0x16960#define ROCE_CREATE_QP_REQ_RAMROD_DATA_VF_ID_VALID_SHIFT 16961#define ROCE_CREATE_QP_REQ_RAMROD_DATA_FORCE_LB_MASK 0x16962#define ROCE_CREATE_QP_REQ_RAMROD_DATA_FORCE_LB_SHIFT 26963#define ROCE_CREATE_QP_REQ_RAMROD_DATA_RESERVED_MASK 0x1F6964#define ROCE_CREATE_QP_REQ_RAMROD_DATA_RESERVED_SHIFT 36965 u8 name_space;6966 u8 reserved3[3];6967 __le16 regular_latency_phy_queue;6968 __le16 dpi;6969};6970 6971/* roce create qp responder ramrod data */6972struct roce_create_qp_resp_ramrod_data {6973 __le32 flags;6974#define ROCE_CREATE_QP_RESP_RAMROD_DATA_ROCE_FLAVOR_MASK 0x36975#define ROCE_CREATE_QP_RESP_RAMROD_DATA_ROCE_FLAVOR_SHIFT 06976#define ROCE_CREATE_QP_RESP_RAMROD_DATA_RDMA_RD_EN_MASK 0x16977#define ROCE_CREATE_QP_RESP_RAMROD_DATA_RDMA_RD_EN_SHIFT 26978#define ROCE_CREATE_QP_RESP_RAMROD_DATA_RDMA_WR_EN_MASK 0x16979#define ROCE_CREATE_QP_RESP_RAMROD_DATA_RDMA_WR_EN_SHIFT 36980#define ROCE_CREATE_QP_RESP_RAMROD_DATA_ATOMIC_EN_MASK 0x16981#define ROCE_CREATE_QP_RESP_RAMROD_DATA_ATOMIC_EN_SHIFT 46982#define ROCE_CREATE_QP_RESP_RAMROD_DATA_SRQ_FLG_MASK 0x16983#define ROCE_CREATE_QP_RESP_RAMROD_DATA_SRQ_FLG_SHIFT 56984#define ROCE_CREATE_QP_RESP_RAMROD_DATA_E2E_FLOW_CONTROL_EN_MASK 0x16985#define ROCE_CREATE_QP_RESP_RAMROD_DATA_E2E_FLOW_CONTROL_EN_SHIFT 66986#define ROCE_CREATE_QP_RESP_RAMROD_DATA_RESERVED_KEY_EN_MASK 0x16987#define ROCE_CREATE_QP_RESP_RAMROD_DATA_RESERVED_KEY_EN_SHIFT 76988#define ROCE_CREATE_QP_RESP_RAMROD_DATA_PRI_MASK 0x76989#define ROCE_CREATE_QP_RESP_RAMROD_DATA_PRI_SHIFT 86990#define ROCE_CREATE_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_MASK 0x1F6991#define ROCE_CREATE_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_SHIFT 116992#define ROCE_CREATE_QP_RESP_RAMROD_DATA_XRC_FLAG_MASK 0x16993#define ROCE_CREATE_QP_RESP_RAMROD_DATA_XRC_FLAG_SHIFT 166994#define ROCE_CREATE_QP_RESP_RAMROD_DATA_VF_ID_VALID_MASK 0x16995#define ROCE_CREATE_QP_RESP_RAMROD_DATA_VF_ID_VALID_SHIFT 176996#define ROCE_CREATE_QP_RESP_RAMROD_DATA_FORCE_LB_MASK 0x16997#define ROCE_CREATE_QP_RESP_RAMROD_DATA_FORCE_LB_SHIFT 186998#define ROCE_CREATE_QP_RESP_RAMROD_DATA_RESERVED_MASK 0x1FFF6999#define ROCE_CREATE_QP_RESP_RAMROD_DATA_RESERVED_SHIFT 197000 __le16 xrc_domain;7001 u8 max_ird;7002 u8 traffic_class;7003 u8 hop_limit;7004 u8 irq_num_pages;7005 __le16 p_key;7006 __le32 flow_label;7007 __le32 dst_qp_id;7008 u8 stats_counter_id;7009 u8 reserved1;7010 __le16 mtu;7011 __le32 initial_psn;7012 __le16 pd;7013 __le16 rq_num_pages;7014 struct rdma_srq_id srq_id;7015 struct regpair rq_pbl_addr;7016 struct regpair irq_pbl_addr;7017 __le16 local_mac_addr[3];7018 __le16 remote_mac_addr[3];7019 __le16 vlan_id;7020 __le16 udp_src_port;7021 __le32 src_gid[4];7022 __le32 dst_gid[4];7023 struct regpair qp_handle_for_cqe;7024 struct regpair qp_handle_for_async;7025 __le16 low_latency_phy_queue;7026 u8 vf_id;7027 u8 vport_id;7028 __le32 cq_cid;7029 __le16 regular_latency_phy_queue;7030 __le16 dpi;7031 __le32 src_qp_id;7032 u8 name_space;7033 u8 reserved3[3];7034};7035 7036/* RoCE Create Suspended qp requester runtime ramrod data */7037struct roce_create_suspended_qp_req_runtime_ramrod_data {7038 __le32 flags;7039#define ROCE_CREATE_SUSPENDED_QP_REQ_RUNTIME_RAMROD_DATA_ERR_FLG_MASK 0x17040#define ROCE_CREATE_SUSPENDED_QP_REQ_RUNTIME_RAMROD_DATA_ERR_FLG_SHIFT 07041#define ROCE_CREATE_SUSPENDED_QP_REQ_RUNTIME_RAMROD_DATA_RESERVED0_MASK \7042 0x7FFFFFFF7043#define ROCE_CREATE_SUSPENDED_QP_REQ_RUNTIME_RAMROD_DATA_RESERVED0_SHIFT 17044 __le32 send_msg_psn;7045 __le32 inflight_sends;7046 __le32 ssn;7047};7048 7049/* RoCE Create Suspended QP requester ramrod data */7050struct roce_create_suspended_qp_req_ramrod_data {7051 struct roce_create_qp_req_ramrod_data qp_params;7052 struct roce_create_suspended_qp_req_runtime_ramrod_data7053 qp_runtime_params;7054};7055 7056/* RoCE Create Suspended QP responder runtime params */7057struct roce_create_suspended_qp_resp_runtime_params {7058 __le32 flags;7059#define ROCE_CREATE_SUSPENDED_QP_RESP_RUNTIME_PARAMS_ERR_FLG_MASK 0x17060#define ROCE_CREATE_SUSPENDED_QP_RESP_RUNTIME_PARAMS_ERR_FLG_SHIFT 07061#define ROCE_CREATE_SUSPENDED_QP_RESP_RUNTIME_PARAMS_RDMA_ACTIVE_MASK 0x17062#define ROCE_CREATE_SUSPENDED_QP_RESP_RUNTIME_PARAMS_RDMA_ACTIVE_SHIFT 17063#define ROCE_CREATE_SUSPENDED_QP_RESP_RUNTIME_PARAMS_RESERVED0_MASK 0x3FFFFFFF7064#define ROCE_CREATE_SUSPENDED_QP_RESP_RUNTIME_PARAMS_RESERVED0_SHIFT 27065 __le32 receive_msg_psn;7066 __le32 inflight_receives;7067 __le32 rmsn;7068 __le32 rdma_key;7069 struct regpair rdma_va;7070 __le32 rdma_length;7071 __le32 num_rdb_entries;7072 __le32 resreved;7073};7074 7075/* RoCE RDB array entry */7076struct roce_resp_qp_rdb_entry {7077 struct regpair atomic_data;7078 struct regpair va;7079 __le32 psn;7080 __le32 rkey;7081 __le32 byte_count;7082 u8 op_type;7083 u8 reserved[3];7084};7085 7086/* RoCE Create Suspended QP responder runtime ramrod data */7087struct roce_create_suspended_qp_resp_runtime_ramrod_data {7088 struct roce_create_suspended_qp_resp_runtime_params params;7089 struct roce_resp_qp_rdb_entry7090 rdb_array_entries[RDMA_MAX_IRQ_ELEMS_IN_PAGE];7091};7092 7093/* RoCE Create Suspended QP responder ramrod data */7094struct roce_create_suspended_qp_resp_ramrod_data {7095 struct roce_create_qp_resp_ramrod_data7096 qp_params;7097 struct roce_create_suspended_qp_resp_runtime_ramrod_data7098 qp_runtime_params;7099};7100 7101/* RoCE create ud qp ramrod data */7102struct roce_create_ud_qp_ramrod_data {7103 __le16 local_mac_addr[3];7104 __le16 vlan_id;7105 __le32 src_qp_id;7106 u8 name_space;7107 u8 reserved[3];7108};7109 7110/* roce DCQCN received statistics */7111struct roce_dcqcn_received_stats {7112 struct regpair ecn_pkt_rcv;7113 struct regpair cnp_pkt_rcv;7114 struct regpair cnp_pkt_reject;7115};7116 7117/* roce DCQCN sent statistics */7118struct roce_dcqcn_sent_stats {7119 struct regpair cnp_pkt_sent;7120};7121 7122/* RoCE destroy qp requester output params */7123struct roce_destroy_qp_req_output_params {7124 __le32 cq_prod;7125 __le32 reserved;7126};7127 7128/* RoCE destroy qp requester ramrod data */7129struct roce_destroy_qp_req_ramrod_data {7130 struct regpair output_params_addr;7131};7132 7133/* RoCE destroy qp responder output params */7134struct roce_destroy_qp_resp_output_params {7135 __le32 cq_prod;7136 __le32 reserved;7137};7138 7139/* RoCE destroy qp responder ramrod data */7140struct roce_destroy_qp_resp_ramrod_data {7141 struct regpair output_params_addr;7142 __le32 src_qp_id;7143 __le32 reserved;7144};7145 7146/* RoCE destroy ud qp ramrod data */7147struct roce_destroy_ud_qp_ramrod_data {7148 __le32 src_qp_id;7149 __le32 reserved;7150};7151 7152/* roce error statistics */7153struct roce_error_stats {7154 __le32 resp_remote_access_errors;7155 __le32 reserved;7156};7157 7158/* roce special events statistics */7159struct roce_events_stats {7160 __le32 silent_drops;7161 __le32 rnr_naks_sent;7162 __le32 retransmit_count;7163 __le32 icrc_error_count;7164 __le32 implied_nak_seq_err;7165 __le32 duplicate_request;7166 __le32 local_ack_timeout_err;7167 __le32 out_of_sequence;7168 __le32 packet_seq_err;7169 __le32 rnr_nak_retry_err;7170};7171 7172/* roce slow path EQ cmd IDs */7173enum roce_event_opcode {7174 ROCE_EVENT_CREATE_QP = 13,7175 ROCE_EVENT_MODIFY_QP,7176 ROCE_EVENT_QUERY_QP,7177 ROCE_EVENT_DESTROY_QP,7178 ROCE_EVENT_CREATE_UD_QP,7179 ROCE_EVENT_DESTROY_UD_QP,7180 ROCE_EVENT_FUNC_UPDATE,7181 ROCE_EVENT_SUSPEND_QP,7182 ROCE_EVENT_QUERY_SUSPENDED_QP,7183 ROCE_EVENT_CREATE_SUSPENDED_QP,7184 ROCE_EVENT_RESUME_QP,7185 ROCE_EVENT_SUSPEND_UD_QP,7186 ROCE_EVENT_RESUME_UD_QP,7187 ROCE_EVENT_CREATE_SUSPENDED_UD_QP,7188 ROCE_EVENT_FLUSH_DPT_QP,7189 MAX_ROCE_EVENT_OPCODE7190};7191 7192/* roce func init ramrod data */7193struct roce_init_func_params {7194 u8 ll2_queue_id;7195 u8 cnp_vlan_priority;7196 u8 cnp_dscp;7197 u8 flags;7198#define ROCE_INIT_FUNC_PARAMS_DCQCN_NP_EN_MASK 0x17199#define ROCE_INIT_FUNC_PARAMS_DCQCN_NP_EN_SHIFT 07200#define ROCE_INIT_FUNC_PARAMS_DCQCN_RP_EN_MASK 0x17201#define ROCE_INIT_FUNC_PARAMS_DCQCN_RP_EN_SHIFT 17202#define ROCE_INIT_FUNC_PARAMS_RESERVED0_MASK 0x3F7203#define ROCE_INIT_FUNC_PARAMS_RESERVED0_SHIFT 27204 __le32 cnp_send_timeout;7205 __le16 rl_offset;7206 u8 rl_count_log;7207 u8 reserved1[5];7208};7209 7210/* roce func init ramrod data */7211struct roce_init_func_ramrod_data {7212 struct rdma_init_func_ramrod_data rdma;7213 struct roce_init_func_params roce;7214};7215 7216/* roce_ll2_cqe_data */7217struct roce_ll2_cqe_data {7218 u8 name_space;7219 u8 flags;7220#define ROCE_LL2_CQE_DATA_QP_SUSPENDED_MASK 0x17221#define ROCE_LL2_CQE_DATA_QP_SUSPENDED_SHIFT 07222#define ROCE_LL2_CQE_DATA_RESERVED0_MASK 0x7F7223#define ROCE_LL2_CQE_DATA_RESERVED0_SHIFT 17224 u8 reserved1[2];7225 __le32 cid;7226};7227 7228/* roce modify qp requester ramrod data */7229struct roce_modify_qp_req_ramrod_data {7230 __le16 flags;7231#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MOVE_TO_ERR_FLG_MASK 0x17232#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MOVE_TO_ERR_FLG_SHIFT 07233#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MOVE_TO_SQD_FLG_MASK 0x17234#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MOVE_TO_SQD_FLG_SHIFT 17235#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_EN_SQD_ASYNC_NOTIFY_MASK 0x17236#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_EN_SQD_ASYNC_NOTIFY_SHIFT 27237#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_P_KEY_FLG_MASK 0x17238#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_P_KEY_FLG_SHIFT 37239#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ADDRESS_VECTOR_FLG_MASK 0x17240#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ADDRESS_VECTOR_FLG_SHIFT 47241#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MAX_ORD_FLG_MASK 0x17242#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_MAX_ORD_FLG_SHIFT 57243#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_FLG_MASK 0x17244#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_FLG_SHIFT 67245#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_FLG_MASK 0x17246#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_FLG_SHIFT 77247#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ACK_TIMEOUT_FLG_MASK 0x17248#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ACK_TIMEOUT_FLG_SHIFT 87249#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_PRI_FLG_MASK 0x17250#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_PRI_FLG_SHIFT 97251#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_PRI_MASK 0x77252#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_PRI_SHIFT 107253#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_PHYSICAL_QUEUE_FLG_MASK 0x17254#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_PHYSICAL_QUEUE_FLG_SHIFT 137255#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_FORCE_LB_MASK 0x17256#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_FORCE_LB_SHIFT 147257#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RESERVED1_MASK 0x17258#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RESERVED1_SHIFT 157259 u8 fields;7260#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_MASK 0xF7261#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_ERR_RETRY_CNT_SHIFT 07262#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_MASK 0xF7263#define ROCE_MODIFY_QP_REQ_RAMROD_DATA_RNR_NAK_CNT_SHIFT 47264 u8 max_ord;7265 u8 traffic_class;7266 u8 hop_limit;7267 __le16 p_key;7268 __le32 flow_label;7269 __le32 ack_timeout_val;7270 __le16 mtu;7271 __le16 reserved2;7272 __le32 reserved3[2];7273 __le16 low_latency_phy_queue;7274 __le16 regular_latency_phy_queue;7275 __le32 src_gid[4];7276 __le32 dst_gid[4];7277};7278 7279/* roce modify qp responder ramrod data */7280struct roce_modify_qp_resp_ramrod_data {7281 __le16 flags;7282#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MOVE_TO_ERR_FLG_MASK 0x17283#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MOVE_TO_ERR_FLG_SHIFT 07284#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_RD_EN_MASK 0x17285#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_RD_EN_SHIFT 17286#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_WR_EN_MASK 0x17287#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_WR_EN_SHIFT 27288#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_ATOMIC_EN_MASK 0x17289#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_ATOMIC_EN_SHIFT 37290#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_P_KEY_FLG_MASK 0x17291#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_P_KEY_FLG_SHIFT 47292#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_ADDRESS_VECTOR_FLG_MASK 0x17293#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_ADDRESS_VECTOR_FLG_SHIFT 57294#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MAX_IRD_FLG_MASK 0x17295#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MAX_IRD_FLG_SHIFT 67296#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_PRI_FLG_MASK 0x17297#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_PRI_FLG_SHIFT 77298#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_FLG_MASK 0x17299#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_FLG_SHIFT 87300#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_OPS_EN_FLG_MASK 0x17301#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RDMA_OPS_EN_FLG_SHIFT 97302#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_PHYSICAL_QUEUE_FLG_MASK 0x17303#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_PHYSICAL_QUEUE_FLG_SHIFT 107304#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_FORCE_LB_MASK 0x17305#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_FORCE_LB_SHIFT 117306#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RESERVED1_MASK 0xF7307#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_RESERVED1_SHIFT 127308 u8 fields;7309#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_PRI_MASK 0x77310#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_PRI_SHIFT 07311#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_MASK 0x1F7312#define ROCE_MODIFY_QP_RESP_RAMROD_DATA_MIN_RNR_NAK_TIMER_SHIFT 37313 u8 max_ird;7314 u8 traffic_class;7315 u8 hop_limit;7316 __le16 p_key;7317 __le32 flow_label;7318 __le16 mtu;7319 __le16 low_latency_phy_queue;7320 __le16 regular_latency_phy_queue;7321 u8 reserved2[6];7322 __le32 src_gid[4];7323 __le32 dst_gid[4];7324};7325 7326/* RoCE query qp requester output params */7327struct roce_query_qp_req_output_params {7328 __le32 psn;7329 __le32 flags;7330#define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_ERR_FLG_MASK 0x17331#define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_ERR_FLG_SHIFT 07332#define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_SQ_DRAINING_FLG_MASK 0x17333#define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_SQ_DRAINING_FLG_SHIFT 17334#define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_RESERVED0_MASK 0x3FFFFFFF7335#define ROCE_QUERY_QP_REQ_OUTPUT_PARAMS_RESERVED0_SHIFT 27336};7337 7338/* RoCE query qp requester ramrod data */7339struct roce_query_qp_req_ramrod_data {7340 struct regpair output_params_addr;7341};7342 7343/* RoCE query qp responder output params */7344struct roce_query_qp_resp_output_params {7345 __le32 psn;7346 __le32 flags;7347#define ROCE_QUERY_QP_RESP_OUTPUT_PARAMS_ERROR_FLG_MASK 0x17348#define ROCE_QUERY_QP_RESP_OUTPUT_PARAMS_ERROR_FLG_SHIFT 07349#define ROCE_QUERY_QP_RESP_OUTPUT_PARAMS_RESERVED0_MASK 0x7FFFFFFF7350#define ROCE_QUERY_QP_RESP_OUTPUT_PARAMS_RESERVED0_SHIFT 17351};7352 7353/* RoCE query qp responder ramrod data */7354struct roce_query_qp_resp_ramrod_data {7355 struct regpair output_params_addr;7356};7357 7358/* RoCE Query Suspended QP requester output params */7359struct roce_query_suspended_qp_req_output_params {7360 __le32 psn;7361 __le32 flags;7362#define ROCE_QUERY_SUSPENDED_QP_REQ_OUTPUT_PARAMS_ERR_FLG_MASK 0x17363#define ROCE_QUERY_SUSPENDED_QP_REQ_OUTPUT_PARAMS_ERR_FLG_SHIFT 07364#define ROCE_QUERY_SUSPENDED_QP_REQ_OUTPUT_PARAMS_RESERVED0_MASK 0x7FFFFFFF7365#define ROCE_QUERY_SUSPENDED_QP_REQ_OUTPUT_PARAMS_RESERVED0_SHIFT 17366 __le32 send_msg_psn;7367 __le32 inflight_sends;7368 __le32 ssn;7369 __le32 reserved;7370};7371 7372/* RoCE Query Suspended QP requester ramrod data */7373struct roce_query_suspended_qp_req_ramrod_data {7374 struct regpair output_params_addr;7375};7376 7377/* RoCE Query Suspended QP responder runtime params */7378struct roce_query_suspended_qp_resp_runtime_params {7379 __le32 psn;7380 __le32 flags;7381#define ROCE_QUERY_SUSPENDED_QP_RESP_RUNTIME_PARAMS_ERR_FLG_MASK 0x17382#define ROCE_QUERY_SUSPENDED_QP_RESP_RUNTIME_PARAMS_ERR_FLG_SHIFT 07383#define ROCE_QUERY_SUSPENDED_QP_RESP_RUNTIME_PARAMS_RDMA_ACTIVE_MASK 0x17384#define ROCE_QUERY_SUSPENDED_QP_RESP_RUNTIME_PARAMS_RDMA_ACTIVE_SHIFT 17385#define ROCE_QUERY_SUSPENDED_QP_RESP_RUNTIME_PARAMS_RESERVED0_MASK 0x3FFFFFFF7386#define ROCE_QUERY_SUSPENDED_QP_RESP_RUNTIME_PARAMS_RESERVED0_SHIFT 27387 __le32 receive_msg_psn;7388 __le32 inflight_receives;7389 __le32 rmsn;7390 __le32 rdma_key;7391 struct regpair rdma_va;7392 __le32 rdma_length;7393 __le32 num_rdb_entries;7394};7395 7396/* RoCE Query Suspended QP responder output params */7397struct roce_query_suspended_qp_resp_output_params {7398 struct roce_query_suspended_qp_resp_runtime_params runtime_params;7399 struct roce_resp_qp_rdb_entry7400 rdb_array_entries[RDMA_MAX_IRQ_ELEMS_IN_PAGE];7401};7402 7403/* RoCE Query Suspended QP responder ramrod data */7404struct roce_query_suspended_qp_resp_ramrod_data {7405 struct regpair output_params_addr;7406};7407 7408/* ROCE ramrod command IDs */7409enum roce_ramrod_cmd_id {7410 ROCE_RAMROD_CREATE_QP = 13,7411 ROCE_RAMROD_MODIFY_QP,7412 ROCE_RAMROD_QUERY_QP,7413 ROCE_RAMROD_DESTROY_QP,7414 ROCE_RAMROD_CREATE_UD_QP,7415 ROCE_RAMROD_DESTROY_UD_QP,7416 ROCE_RAMROD_FUNC_UPDATE,7417 ROCE_RAMROD_SUSPEND_QP,7418 ROCE_RAMROD_QUERY_SUSPENDED_QP,7419 ROCE_RAMROD_CREATE_SUSPENDED_QP,7420 ROCE_RAMROD_RESUME_QP,7421 ROCE_RAMROD_SUSPEND_UD_QP,7422 ROCE_RAMROD_RESUME_UD_QP,7423 ROCE_RAMROD_CREATE_SUSPENDED_UD_QP,7424 ROCE_RAMROD_FLUSH_DPT_QP,7425 MAX_ROCE_RAMROD_CMD_ID7426};7427 7428/* ROCE RDB array entry type */7429enum roce_resp_qp_rdb_entry_type {7430 ROCE_QP_RDB_ENTRY_RDMA_RESPONSE = 0,7431 ROCE_QP_RDB_ENTRY_ATOMIC_RESPONSE = 1,7432 ROCE_QP_RDB_ENTRY_INVALID = 2,7433 MAX_ROCE_RESP_QP_RDB_ENTRY_TYPE7434};7435 7436/* RoCE func init ramrod data */7437struct roce_update_func_params {7438 u8 cnp_vlan_priority;7439 u8 cnp_dscp;7440 __le16 flags;7441#define ROCE_UPDATE_FUNC_PARAMS_DCQCN_NP_EN_MASK 0x17442#define ROCE_UPDATE_FUNC_PARAMS_DCQCN_NP_EN_SHIFT 07443#define ROCE_UPDATE_FUNC_PARAMS_DCQCN_RP_EN_MASK 0x17444#define ROCE_UPDATE_FUNC_PARAMS_DCQCN_RP_EN_SHIFT 17445#define ROCE_UPDATE_FUNC_PARAMS_RESERVED0_MASK 0x3FFF7446#define ROCE_UPDATE_FUNC_PARAMS_RESERVED0_SHIFT 27447 __le32 cnp_send_timeout;7448};7449 7450struct xstorm_roce_conn_ag_ctx_dq_ext_ld_part {7451 u8 reserved0;7452 u8 state;7453 u8 flags0;7454#define E4XSTORMROCECONNAGCTXDQEXTLDPART_EXIST_IN_QM0_MASK 0x17455#define E4XSTORMROCECONNAGCTXDQEXTLDPART_EXIST_IN_QM0_SHIFT 07456#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT1_MASK 0x17457#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT1_SHIFT 17458#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT2_MASK 0x17459#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT2_SHIFT 27460#define E4XSTORMROCECONNAGCTXDQEXTLDPART_EXIST_IN_QM3_MASK 0x17461#define E4XSTORMROCECONNAGCTXDQEXTLDPART_EXIST_IN_QM3_SHIFT 37462#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT4_MASK 0x17463#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT4_SHIFT 47464#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT5_MASK 0x17465#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT5_SHIFT 57466#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT6_MASK 0x17467#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT6_SHIFT 67468#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT7_MASK 0x17469#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT7_SHIFT 77470 u8 flags1;7471#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT8_MASK 0x17472#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT8_SHIFT 07473#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT9_MASK 0x17474#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT9_SHIFT 17475#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT10_MASK 0x17476#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT10_SHIFT 27477#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT11_MASK 0x17478#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT11_SHIFT 37479#define E4XSTORMROCECONNAGCTXDQEXTLDPART_MSDM_FLUSH_MASK 0x17480#define E4XSTORMROCECONNAGCTXDQEXTLDPART_MSDM_FLUSH_SHIFT 47481#define E4XSTORMROCECONNAGCTXDQEXTLDPART_MSEM_FLUSH_MASK 0x17482#define E4XSTORMROCECONNAGCTXDQEXTLDPART_MSEM_FLUSH_SHIFT 57483#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT14_MASK 0x17484#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT14_SHIFT 67485#define E4XSTORMROCECONNAGCTXDQEXTLDPART_YSTORM_FLUSH_MASK 0x17486#define E4XSTORMROCECONNAGCTXDQEXTLDPART_YSTORM_FLUSH_SHIFT 77487 u8 flags2;7488#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF0_MASK 0x37489#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF0_SHIFT 07490#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF1_MASK 0x37491#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF1_SHIFT 27492#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF2_MASK 0x37493#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF2_SHIFT 47494#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF3_MASK 0x37495#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF3_SHIFT 67496 u8 flags3;7497#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF4_MASK 0x37498#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF4_SHIFT 07499#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF5_MASK 0x37500#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF5_SHIFT 27501#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF6_MASK 0x37502#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF6_SHIFT 47503#define E4XSTORMROCECONNAGCTXDQEXTLDPART_FLUSH_Q0_CF_MASK 0x37504#define E4XSTORMROCECONNAGCTXDQEXTLDPART_FLUSH_Q0_CF_SHIFT 67505 u8 flags4;7506#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF8_MASK 0x37507#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF8_SHIFT 07508#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF9_MASK 0x37509#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF9_SHIFT 27510#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF10_MASK 0x37511#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF10_SHIFT 47512#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF11_MASK 0x37513#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF11_SHIFT 67514 u8 flags5;7515#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF12_MASK 0x37516#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF12_SHIFT 07517#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF13_MASK 0x37518#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF13_SHIFT 27519#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF14_MASK 0x37520#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF14_SHIFT 47521#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF15_MASK 0x37522#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF15_SHIFT 67523 u8 flags6;7524#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF16_MASK 0x37525#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF16_SHIFT 07526#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF17_MASK 0x37527#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF17_SHIFT 27528#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF18_MASK 0x37529#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF18_SHIFT 47530#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF19_MASK 0x37531#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF19_SHIFT 67532 u8 flags7;7533#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF20_MASK 0x37534#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF20_SHIFT 07535#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF21_MASK 0x37536#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF21_SHIFT 27537#define E4XSTORMROCECONNAGCTXDQEXTLDPART_SLOW_PATH_MASK 0x37538#define E4XSTORMROCECONNAGCTXDQEXTLDPART_SLOW_PATH_SHIFT 47539#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF0EN_MASK 0x17540#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF0EN_SHIFT 67541#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF1EN_MASK 0x17542#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF1EN_SHIFT 77543 u8 flags8;7544#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF2EN_MASK 0x17545#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF2EN_SHIFT 07546#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF3EN_MASK 0x17547#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF3EN_SHIFT 17548#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF4EN_MASK 0x17549#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF4EN_SHIFT 27550#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF5EN_MASK 0x17551#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF5EN_SHIFT 37552#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF6EN_MASK 0x17553#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF6EN_SHIFT 47554#define E4XSTORMROCECONNAGCTXDQEXTLDPART_FLUSH_Q0_CF_EN_MASK 0x17555#define E4XSTORMROCECONNAGCTXDQEXTLDPART_FLUSH_Q0_CF_EN_SHIFT 57556#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF8EN_MASK 0x17557#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF8EN_SHIFT 67558#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF9EN_MASK 0x17559#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF9EN_SHIFT 77560 u8 flags9;7561#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF10EN_MASK 0x17562#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF10EN_SHIFT 07563#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF11EN_MASK 0x17564#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF11EN_SHIFT 17565#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF12EN_MASK 0x17566#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF12EN_SHIFT 27567#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF13EN_MASK 0x17568#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF13EN_SHIFT 37569#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF14EN_MASK 0x17570#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF14EN_SHIFT 47571#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF15EN_MASK 0x17572#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF15EN_SHIFT 57573#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF16EN_MASK 0x17574#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF16EN_SHIFT 67575#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF17EN_MASK 0x17576#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF17EN_SHIFT 77577 u8 flags10;7578#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF18EN_MASK 0x17579#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF18EN_SHIFT 07580#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF19EN_MASK 0x17581#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF19EN_SHIFT 17582#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF20EN_MASK 0x17583#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF20EN_SHIFT 27584#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF21EN_MASK 0x17585#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF21EN_SHIFT 37586#define E4XSTORMROCECONNAGCTXDQEXTLDPART_SLOW_PATH_EN_MASK 0x17587#define E4XSTORMROCECONNAGCTXDQEXTLDPART_SLOW_PATH_EN_SHIFT 47588#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF23EN_MASK 0x17589#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF23EN_SHIFT 57590#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE0EN_MASK 0x17591#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE0EN_SHIFT 67592#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE1EN_MASK 0x17593#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE1EN_SHIFT 77594 u8 flags11;7595#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE2EN_MASK 0x17596#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE2EN_SHIFT 07597#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE3EN_MASK 0x17598#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE3EN_SHIFT 17599#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE4EN_MASK 0x17600#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE4EN_SHIFT 27601#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE5EN_MASK 0x17602#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE5EN_SHIFT 37603#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE6EN_MASK 0x17604#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE6EN_SHIFT 47605#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE7EN_MASK 0x17606#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE7EN_SHIFT 57607#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED1_MASK 0x17608#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED1_SHIFT 67609#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE9EN_MASK 0x17610#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE9EN_SHIFT 77611 u8 flags12;7612#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE10EN_MASK 0x17613#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE10EN_SHIFT 07614#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE11EN_MASK 0x17615#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE11EN_SHIFT 17616#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED2_MASK 0x17617#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED2_SHIFT 27618#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED3_MASK 0x17619#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED3_SHIFT 37620#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE14EN_MASK 0x17621#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE14EN_SHIFT 47622#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE15EN_MASK 0x17623#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE15EN_SHIFT 57624#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE16EN_MASK 0x17625#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE16EN_SHIFT 67626#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE17EN_MASK 0x17627#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE17EN_SHIFT 77628 u8 flags13;7629#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE18EN_MASK 0x17630#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE18EN_SHIFT 07631#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE19EN_MASK 0x17632#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RULE19EN_SHIFT 17633#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED4_MASK 0x17634#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED4_SHIFT 27635#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED5_MASK 0x17636#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED5_SHIFT 37637#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED6_MASK 0x17638#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED6_SHIFT 47639#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED7_MASK 0x17640#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED7_SHIFT 57641#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED8_MASK 0x17642#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED8_SHIFT 67643#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED9_MASK 0x17644#define E4XSTORMROCECONNAGCTXDQEXTLDPART_A0_RESERVED9_SHIFT 77645 u8 flags14;7646#define E4XSTORMROCECONNAGCTXDQEXTLDPART_MIGRATION_MASK 0x17647#define E4XSTORMROCECONNAGCTXDQEXTLDPART_MIGRATION_SHIFT 07648#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT17_MASK 0x17649#define E4XSTORMROCECONNAGCTXDQEXTLDPART_BIT17_SHIFT 17650#define E4XSTORMROCECONNAGCTXDQEXTLDPART_DPM_PORT_NUM_MASK 0x37651#define E4XSTORMROCECONNAGCTXDQEXTLDPART_DPM_PORT_NUM_SHIFT 27652#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RESERVED_MASK 0x17653#define E4XSTORMROCECONNAGCTXDQEXTLDPART_RESERVED_SHIFT 47654#define E4XSTORMROCECONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_MASK 0x17655#define E4XSTORMROCECONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_SHIFT 57656#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF23_MASK 0x37657#define E4XSTORMROCECONNAGCTXDQEXTLDPART_CF23_SHIFT 67658 u8 byte2;7659 __le16 physical_q0;7660 __le16 word1;7661 __le16 word2;7662 __le16 word3;7663 __le16 word4;7664 __le16 word5;7665 __le16 conn_dpi;7666 u8 byte3;7667 u8 byte4;7668 u8 byte5;7669 u8 byte6;7670 __le32 reg0;7671 __le32 reg1;7672 __le32 reg2;7673 __le32 snd_nxt_psn;7674 __le32 reg4;7675};7676 7677struct mstorm_roce_conn_ag_ctx {7678 u8 byte0;7679 u8 byte1;7680 u8 flags0;7681#define MSTORM_ROCE_CONN_AG_CTX_BIT0_MASK 0x17682#define MSTORM_ROCE_CONN_AG_CTX_BIT0_SHIFT 07683#define MSTORM_ROCE_CONN_AG_CTX_BIT1_MASK 0x17684#define MSTORM_ROCE_CONN_AG_CTX_BIT1_SHIFT 17685#define MSTORM_ROCE_CONN_AG_CTX_CF0_MASK 0x37686#define MSTORM_ROCE_CONN_AG_CTX_CF0_SHIFT 27687#define MSTORM_ROCE_CONN_AG_CTX_CF1_MASK 0x37688#define MSTORM_ROCE_CONN_AG_CTX_CF1_SHIFT 47689#define MSTORM_ROCE_CONN_AG_CTX_CF2_MASK 0x37690#define MSTORM_ROCE_CONN_AG_CTX_CF2_SHIFT 67691 u8 flags1;7692#define MSTORM_ROCE_CONN_AG_CTX_CF0EN_MASK 0x17693#define MSTORM_ROCE_CONN_AG_CTX_CF0EN_SHIFT 07694#define MSTORM_ROCE_CONN_AG_CTX_CF1EN_MASK 0x17695#define MSTORM_ROCE_CONN_AG_CTX_CF1EN_SHIFT 17696#define MSTORM_ROCE_CONN_AG_CTX_CF2EN_MASK 0x17697#define MSTORM_ROCE_CONN_AG_CTX_CF2EN_SHIFT 27698#define MSTORM_ROCE_CONN_AG_CTX_RULE0EN_MASK 0x17699#define MSTORM_ROCE_CONN_AG_CTX_RULE0EN_SHIFT 37700#define MSTORM_ROCE_CONN_AG_CTX_RULE1EN_MASK 0x17701#define MSTORM_ROCE_CONN_AG_CTX_RULE1EN_SHIFT 47702#define MSTORM_ROCE_CONN_AG_CTX_RULE2EN_MASK 0x17703#define MSTORM_ROCE_CONN_AG_CTX_RULE2EN_SHIFT 57704#define MSTORM_ROCE_CONN_AG_CTX_RULE3EN_MASK 0x17705#define MSTORM_ROCE_CONN_AG_CTX_RULE3EN_SHIFT 67706#define MSTORM_ROCE_CONN_AG_CTX_RULE4EN_MASK 0x17707#define MSTORM_ROCE_CONN_AG_CTX_RULE4EN_SHIFT 77708 __le16 word0;7709 __le16 word1;7710 __le32 reg0;7711 __le32 reg1;7712};7713 7714struct mstorm_roce_req_conn_ag_ctx {7715 u8 byte0;7716 u8 byte1;7717 u8 flags0;7718#define MSTORM_ROCE_REQ_CONN_AG_CTX_BIT0_MASK 0x17719#define MSTORM_ROCE_REQ_CONN_AG_CTX_BIT0_SHIFT 07720#define MSTORM_ROCE_REQ_CONN_AG_CTX_BIT1_MASK 0x17721#define MSTORM_ROCE_REQ_CONN_AG_CTX_BIT1_SHIFT 17722#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF0_MASK 0x37723#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF0_SHIFT 27724#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF1_MASK 0x37725#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF1_SHIFT 47726#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF2_MASK 0x37727#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF2_SHIFT 67728 u8 flags1;7729#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_MASK 0x17730#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_SHIFT 07731#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_MASK 0x17732#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_SHIFT 17733#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_MASK 0x17734#define MSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_SHIFT 27735#define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_MASK 0x17736#define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_SHIFT 37737#define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_MASK 0x17738#define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_SHIFT 47739#define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_MASK 0x17740#define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_SHIFT 57741#define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_MASK 0x17742#define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_SHIFT 67743#define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_MASK 0x17744#define MSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_SHIFT 77745 __le16 word0;7746 __le16 word1;7747 __le32 reg0;7748 __le32 reg1;7749};7750 7751struct mstorm_roce_resp_conn_ag_ctx {7752 u8 byte0;7753 u8 byte1;7754 u8 flags0;7755#define MSTORM_ROCE_RESP_CONN_AG_CTX_BIT0_MASK 0x17756#define MSTORM_ROCE_RESP_CONN_AG_CTX_BIT0_SHIFT 07757#define MSTORM_ROCE_RESP_CONN_AG_CTX_BIT1_MASK 0x17758#define MSTORM_ROCE_RESP_CONN_AG_CTX_BIT1_SHIFT 17759#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF0_MASK 0x37760#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF0_SHIFT 27761#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF1_MASK 0x37762#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF1_SHIFT 47763#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF2_MASK 0x37764#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF2_SHIFT 67765 u8 flags1;7766#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_MASK 0x17767#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_SHIFT 07768#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_MASK 0x17769#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_SHIFT 17770#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_MASK 0x17771#define MSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_SHIFT 27772#define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_MASK 0x17773#define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_SHIFT 37774#define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_MASK 0x17775#define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_SHIFT 47776#define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_MASK 0x17777#define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_SHIFT 57778#define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_MASK 0x17779#define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_SHIFT 67780#define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_MASK 0x17781#define MSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_SHIFT 77782 __le16 word0;7783 __le16 word1;7784 __le32 reg0;7785 __le32 reg1;7786};7787 7788struct tstorm_roce_req_conn_ag_ctx {7789 u8 reserved0;7790 u8 state;7791 u8 flags0;7792#define TSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x17793#define TSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 07794#define TSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_OCCURRED_MASK 0x17795#define TSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_OCCURRED_SHIFT 17796#define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_CQE_ERROR_OCCURRED_MASK 0x17797#define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_CQE_ERROR_OCCURRED_SHIFT 27798#define TSTORM_ROCE_REQ_CONN_AG_CTX_BIT3_MASK 0x17799#define TSTORM_ROCE_REQ_CONN_AG_CTX_BIT3_SHIFT 37800#define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_MASK 0x17801#define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_SHIFT 47802#define TSTORM_ROCE_REQ_CONN_AG_CTX_CACHED_ORQ_MASK 0x17803#define TSTORM_ROCE_REQ_CONN_AG_CTX_CACHED_ORQ_SHIFT 57804#define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_CF_MASK 0x37805#define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_CF_SHIFT 67806 u8 flags1;7807#define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_CF_MASK 0x37808#define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_CF_SHIFT 07809#define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_SQ_CF_MASK 0x37810#define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_SQ_CF_SHIFT 27811#define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_STOP_ALL_CF_MASK 0x37812#define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_STOP_ALL_CF_SHIFT 47813#define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x37814#define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 67815 u8 flags2;7816#define TSTORM_ROCE_REQ_CONN_AG_CTX_FORCE_COMP_CF_MASK 0x37817#define TSTORM_ROCE_REQ_CONN_AG_CTX_FORCE_COMP_CF_SHIFT 07818#define TSTORM_ROCE_REQ_CONN_AG_CTX_SET_TIMER_CF_MASK 0x37819#define TSTORM_ROCE_REQ_CONN_AG_CTX_SET_TIMER_CF_SHIFT 27820#define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_ASYNC_ERROR_CF_MASK 0x37821#define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_ASYNC_ERROR_CF_SHIFT 47822#define TSTORM_ROCE_REQ_CONN_AG_CTX_RXMIT_DONE_CF_MASK 0x37823#define TSTORM_ROCE_REQ_CONN_AG_CTX_RXMIT_DONE_CF_SHIFT 67824 u8 flags3;7825#define TSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_SCAN_COMPLETED_CF_MASK 0x37826#define TSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_SCAN_COMPLETED_CF_SHIFT 07827#define TSTORM_ROCE_REQ_CONN_AG_CTX_SQ_DRAIN_COMPLETED_CF_MASK 0x37828#define TSTORM_ROCE_REQ_CONN_AG_CTX_SQ_DRAIN_COMPLETED_CF_SHIFT 27829#define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_CF_EN_MASK 0x17830#define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_CF_EN_SHIFT 47831#define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_MASK 0x17832#define TSTORM_ROCE_REQ_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_SHIFT 57833#define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_SQ_CF_EN_MASK 0x17834#define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_SQ_CF_EN_SHIFT 67835#define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_MASK 0x17836#define TSTORM_ROCE_REQ_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_SHIFT 77837 u8 flags4;7838#define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x17839#define TSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 07840#define TSTORM_ROCE_REQ_CONN_AG_CTX_FORCE_COMP_CF_EN_MASK 0x17841#define TSTORM_ROCE_REQ_CONN_AG_CTX_FORCE_COMP_CF_EN_SHIFT 17842#define TSTORM_ROCE_REQ_CONN_AG_CTX_SET_TIMER_CF_EN_MASK 0x17843#define TSTORM_ROCE_REQ_CONN_AG_CTX_SET_TIMER_CF_EN_SHIFT 27844#define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_ASYNC_ERROR_CF_EN_MASK 0x17845#define TSTORM_ROCE_REQ_CONN_AG_CTX_TX_ASYNC_ERROR_CF_EN_SHIFT 37846#define TSTORM_ROCE_REQ_CONN_AG_CTX_RXMIT_DONE_CF_EN_MASK 0x17847#define TSTORM_ROCE_REQ_CONN_AG_CTX_RXMIT_DONE_CF_EN_SHIFT 47848#define TSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_SCAN_COMPLETED_CF_EN_MASK 0x17849#define TSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_SCAN_COMPLETED_CF_EN_SHIFT 57850#define TSTORM_ROCE_REQ_CONN_AG_CTX_SQ_DRAIN_COMPLETED_CF_EN_MASK 0x17851#define TSTORM_ROCE_REQ_CONN_AG_CTX_SQ_DRAIN_COMPLETED_CF_EN_SHIFT 67852#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_MASK 0x17853#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_SHIFT 77854 u8 flags5;7855#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_MASK 0x17856#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_SHIFT 07857#define TSTORM_ROCE_REQ_CONN_AG_CTX_DIF_CNT_EN_MASK 0x17858#define TSTORM_ROCE_REQ_CONN_AG_CTX_DIF_CNT_EN_SHIFT 17859#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_MASK 0x17860#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_SHIFT 27861#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_MASK 0x17862#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_SHIFT 37863#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_MASK 0x17864#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_SHIFT 47865#define TSTORM_ROCE_REQ_CONN_AG_CTX_SND_SQ_CONS_EN_MASK 0x17866#define TSTORM_ROCE_REQ_CONN_AG_CTX_SND_SQ_CONS_EN_SHIFT 57867#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE7EN_MASK 0x17868#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE7EN_SHIFT 67869#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE8EN_MASK 0x17870#define TSTORM_ROCE_REQ_CONN_AG_CTX_RULE8EN_SHIFT 77871 __le32 dif_rxmit_cnt;7872 __le32 snd_nxt_psn;7873 __le32 snd_max_psn;7874 __le32 orq_prod;7875 __le32 reg4;7876 __le32 dif_acked_cnt;7877 __le32 dif_cnt;7878 __le32 reg7;7879 __le32 reg8;7880 u8 tx_cqe_error_type;7881 u8 orq_cache_idx;7882 __le16 snd_sq_cons_th;7883 u8 byte4;7884 u8 byte5;7885 __le16 snd_sq_cons;7886 __le16 conn_dpi;7887 __le16 force_comp_cons;7888 __le32 dif_rxmit_acked_cnt;7889 __le32 reg10;7890};7891 7892struct tstorm_roce_resp_conn_ag_ctx {7893 u8 byte0;7894 u8 state;7895 u8 flags0;7896#define TSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x17897#define TSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 07898#define TSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_NOTIFY_REQUESTER_MASK 0x17899#define TSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_NOTIFY_REQUESTER_SHIFT 17900#define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT2_MASK 0x17901#define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT2_SHIFT 27902#define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT3_MASK 0x17903#define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT3_SHIFT 37904#define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_MASK 0x17905#define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_SHIFT 47906#define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT5_MASK 0x17907#define TSTORM_ROCE_RESP_CONN_AG_CTX_BIT5_SHIFT 57908#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF0_MASK 0x37909#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF0_SHIFT 67910 u8 flags1;7911#define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_CF_MASK 0x37912#define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_CF_SHIFT 07913#define TSTORM_ROCE_RESP_CONN_AG_CTX_TX_ERROR_CF_MASK 0x37914#define TSTORM_ROCE_RESP_CONN_AG_CTX_TX_ERROR_CF_SHIFT 27915#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF3_MASK 0x37916#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF3_SHIFT 47917#define TSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x37918#define TSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 67919 u8 flags2;7920#define TSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_MASK 0x37921#define TSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_SHIFT 07922#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF6_MASK 0x37923#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF6_SHIFT 27924#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF7_MASK 0x37925#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF7_SHIFT 47926#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF8_MASK 0x37927#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF8_SHIFT 67928 u8 flags3;7929#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF9_MASK 0x37930#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF9_SHIFT 07931#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF10_MASK 0x37932#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF10_SHIFT 27933#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_MASK 0x17934#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_SHIFT 47935#define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_MASK 0x17936#define TSTORM_ROCE_RESP_CONN_AG_CTX_MSTORM_FLUSH_CF_EN_SHIFT 57937#define TSTORM_ROCE_RESP_CONN_AG_CTX_TX_ERROR_CF_EN_MASK 0x17938#define TSTORM_ROCE_RESP_CONN_AG_CTX_TX_ERROR_CF_EN_SHIFT 67939#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_MASK 0x17940#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_SHIFT 77941 u8 flags4;7942#define TSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x17943#define TSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 07944#define TSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_EN_MASK 0x17945#define TSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_EN_SHIFT 17946#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF6EN_MASK 0x17947#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF6EN_SHIFT 27948#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF7EN_MASK 0x17949#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF7EN_SHIFT 37950#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF8EN_MASK 0x17951#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF8EN_SHIFT 47952#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF9EN_MASK 0x17953#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF9EN_SHIFT 57954#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF10EN_MASK 0x17955#define TSTORM_ROCE_RESP_CONN_AG_CTX_CF10EN_SHIFT 67956#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_MASK 0x17957#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_SHIFT 77958 u8 flags5;7959#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_MASK 0x17960#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_SHIFT 07961#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_MASK 0x17962#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_SHIFT 17963#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_MASK 0x17964#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_SHIFT 27965#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_MASK 0x17966#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_SHIFT 37967#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_MASK 0x17968#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_SHIFT 47969#define TSTORM_ROCE_RESP_CONN_AG_CTX_RQ_RULE_EN_MASK 0x17970#define TSTORM_ROCE_RESP_CONN_AG_CTX_RQ_RULE_EN_SHIFT 57971#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_MASK 0x17972#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_SHIFT 67973#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE8EN_MASK 0x17974#define TSTORM_ROCE_RESP_CONN_AG_CTX_RULE8EN_SHIFT 77975 __le32 psn_and_rxmit_id_echo;7976 __le32 reg1;7977 __le32 reg2;7978 __le32 reg3;7979 __le32 reg4;7980 __le32 reg5;7981 __le32 reg6;7982 __le32 reg7;7983 __le32 reg8;7984 u8 tx_async_error_type;7985 u8 byte3;7986 __le16 rq_cons;7987 u8 byte4;7988 u8 byte5;7989 __le16 rq_prod;7990 __le16 conn_dpi;7991 __le16 irq_cons;7992 __le32 reg9;7993 __le32 reg10;7994};7995 7996struct ustorm_roce_req_conn_ag_ctx {7997 u8 byte0;7998 u8 byte1;7999 u8 flags0;8000#define USTORM_ROCE_REQ_CONN_AG_CTX_BIT0_MASK 0x18001#define USTORM_ROCE_REQ_CONN_AG_CTX_BIT0_SHIFT 08002#define USTORM_ROCE_REQ_CONN_AG_CTX_BIT1_MASK 0x18003#define USTORM_ROCE_REQ_CONN_AG_CTX_BIT1_SHIFT 18004#define USTORM_ROCE_REQ_CONN_AG_CTX_CF0_MASK 0x38005#define USTORM_ROCE_REQ_CONN_AG_CTX_CF0_SHIFT 28006#define USTORM_ROCE_REQ_CONN_AG_CTX_CF1_MASK 0x38007#define USTORM_ROCE_REQ_CONN_AG_CTX_CF1_SHIFT 48008#define USTORM_ROCE_REQ_CONN_AG_CTX_CF2_MASK 0x38009#define USTORM_ROCE_REQ_CONN_AG_CTX_CF2_SHIFT 68010 u8 flags1;8011#define USTORM_ROCE_REQ_CONN_AG_CTX_CF3_MASK 0x38012#define USTORM_ROCE_REQ_CONN_AG_CTX_CF3_SHIFT 08013#define USTORM_ROCE_REQ_CONN_AG_CTX_CF4_MASK 0x38014#define USTORM_ROCE_REQ_CONN_AG_CTX_CF4_SHIFT 28015#define USTORM_ROCE_REQ_CONN_AG_CTX_CF5_MASK 0x38016#define USTORM_ROCE_REQ_CONN_AG_CTX_CF5_SHIFT 48017#define USTORM_ROCE_REQ_CONN_AG_CTX_CF6_MASK 0x38018#define USTORM_ROCE_REQ_CONN_AG_CTX_CF6_SHIFT 68019 u8 flags2;8020#define USTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_MASK 0x18021#define USTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_SHIFT 08022#define USTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_MASK 0x18023#define USTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_SHIFT 18024#define USTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_MASK 0x18025#define USTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_SHIFT 28026#define USTORM_ROCE_REQ_CONN_AG_CTX_CF3EN_MASK 0x18027#define USTORM_ROCE_REQ_CONN_AG_CTX_CF3EN_SHIFT 38028#define USTORM_ROCE_REQ_CONN_AG_CTX_CF4EN_MASK 0x18029#define USTORM_ROCE_REQ_CONN_AG_CTX_CF4EN_SHIFT 48030#define USTORM_ROCE_REQ_CONN_AG_CTX_CF5EN_MASK 0x18031#define USTORM_ROCE_REQ_CONN_AG_CTX_CF5EN_SHIFT 58032#define USTORM_ROCE_REQ_CONN_AG_CTX_CF6EN_MASK 0x18033#define USTORM_ROCE_REQ_CONN_AG_CTX_CF6EN_SHIFT 68034#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_MASK 0x18035#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_SHIFT 78036 u8 flags3;8037#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_MASK 0x18038#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_SHIFT 08039#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_MASK 0x18040#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_SHIFT 18041#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_MASK 0x18042#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_SHIFT 28043#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_MASK 0x18044#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_SHIFT 38045#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_MASK 0x18046#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_SHIFT 48047#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE6EN_MASK 0x18048#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE6EN_SHIFT 58049#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE7EN_MASK 0x18050#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE7EN_SHIFT 68051#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE8EN_MASK 0x18052#define USTORM_ROCE_REQ_CONN_AG_CTX_RULE8EN_SHIFT 78053 u8 byte2;8054 u8 byte3;8055 __le16 word0;8056 __le16 word1;8057 __le32 reg0;8058 __le32 reg1;8059 __le32 reg2;8060 __le32 reg3;8061 __le16 word2;8062 __le16 word3;8063};8064 8065struct ustorm_roce_resp_conn_ag_ctx {8066 u8 byte0;8067 u8 byte1;8068 u8 flags0;8069#define USTORM_ROCE_RESP_CONN_AG_CTX_BIT0_MASK 0x18070#define USTORM_ROCE_RESP_CONN_AG_CTX_BIT0_SHIFT 08071#define USTORM_ROCE_RESP_CONN_AG_CTX_BIT1_MASK 0x18072#define USTORM_ROCE_RESP_CONN_AG_CTX_BIT1_SHIFT 18073#define USTORM_ROCE_RESP_CONN_AG_CTX_CF0_MASK 0x38074#define USTORM_ROCE_RESP_CONN_AG_CTX_CF0_SHIFT 28075#define USTORM_ROCE_RESP_CONN_AG_CTX_CF1_MASK 0x38076#define USTORM_ROCE_RESP_CONN_AG_CTX_CF1_SHIFT 48077#define USTORM_ROCE_RESP_CONN_AG_CTX_CF2_MASK 0x38078#define USTORM_ROCE_RESP_CONN_AG_CTX_CF2_SHIFT 68079 u8 flags1;8080#define USTORM_ROCE_RESP_CONN_AG_CTX_CF3_MASK 0x38081#define USTORM_ROCE_RESP_CONN_AG_CTX_CF3_SHIFT 08082#define USTORM_ROCE_RESP_CONN_AG_CTX_CF4_MASK 0x38083#define USTORM_ROCE_RESP_CONN_AG_CTX_CF4_SHIFT 28084#define USTORM_ROCE_RESP_CONN_AG_CTX_CF5_MASK 0x38085#define USTORM_ROCE_RESP_CONN_AG_CTX_CF5_SHIFT 48086#define USTORM_ROCE_RESP_CONN_AG_CTX_CF6_MASK 0x38087#define USTORM_ROCE_RESP_CONN_AG_CTX_CF6_SHIFT 68088 u8 flags2;8089#define USTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_MASK 0x18090#define USTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_SHIFT 08091#define USTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_MASK 0x18092#define USTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_SHIFT 18093#define USTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_MASK 0x18094#define USTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_SHIFT 28095#define USTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_MASK 0x18096#define USTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_SHIFT 38097#define USTORM_ROCE_RESP_CONN_AG_CTX_CF4EN_MASK 0x18098#define USTORM_ROCE_RESP_CONN_AG_CTX_CF4EN_SHIFT 48099#define USTORM_ROCE_RESP_CONN_AG_CTX_CF5EN_MASK 0x18100#define USTORM_ROCE_RESP_CONN_AG_CTX_CF5EN_SHIFT 58101#define USTORM_ROCE_RESP_CONN_AG_CTX_CF6EN_MASK 0x18102#define USTORM_ROCE_RESP_CONN_AG_CTX_CF6EN_SHIFT 68103#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_MASK 0x18104#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_SHIFT 78105 u8 flags3;8106#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_MASK 0x18107#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_SHIFT 08108#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_MASK 0x18109#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_SHIFT 18110#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_MASK 0x18111#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_SHIFT 28112#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_MASK 0x18113#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_SHIFT 38114#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_MASK 0x18115#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_SHIFT 48116#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE6EN_MASK 0x18117#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE6EN_SHIFT 58118#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_MASK 0x18119#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_SHIFT 68120#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE8EN_MASK 0x18121#define USTORM_ROCE_RESP_CONN_AG_CTX_RULE8EN_SHIFT 78122 u8 byte2;8123 u8 byte3;8124 __le16 word0;8125 __le16 word1;8126 __le32 reg0;8127 __le32 reg1;8128 __le32 reg2;8129 __le32 reg3;8130 __le16 word2;8131 __le16 word3;8132};8133 8134struct xstorm_roce_req_conn_ag_ctx {8135 u8 reserved0;8136 u8 state;8137 u8 flags0;8138#define XSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x18139#define XSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 08140#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED1_MASK 0x18141#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED1_SHIFT 18142#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED2_MASK 0x18143#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED2_SHIFT 28144#define XSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x18145#define XSTORM_ROCE_REQ_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 38146#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED3_MASK 0x18147#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED3_SHIFT 48148#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED4_MASK 0x18149#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED4_SHIFT 58150#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED5_MASK 0x18151#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED5_SHIFT 68152#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED6_MASK 0x18153#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED6_SHIFT 78154 u8 flags1;8155#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED7_MASK 0x18156#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED7_SHIFT 08157#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED8_MASK 0x18158#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED8_SHIFT 18159#define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT10_MASK 0x18160#define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT10_SHIFT 28161#define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT11_MASK 0x18162#define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT11_SHIFT 38163#define XSTORM_ROCE_REQ_CONN_AG_CTX_MSDM_FLUSH_MASK 0x18164#define XSTORM_ROCE_REQ_CONN_AG_CTX_MSDM_FLUSH_SHIFT 48165#define XSTORM_ROCE_REQ_CONN_AG_CTX_MSEM_FLUSH_MASK 0x18166#define XSTORM_ROCE_REQ_CONN_AG_CTX_MSEM_FLUSH_SHIFT 58167#define XSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_STATE_MASK 0x18168#define XSTORM_ROCE_REQ_CONN_AG_CTX_ERROR_STATE_SHIFT 68169#define XSTORM_ROCE_REQ_CONN_AG_CTX_YSTORM_FLUSH_MASK 0x18170#define XSTORM_ROCE_REQ_CONN_AG_CTX_YSTORM_FLUSH_SHIFT 78171 u8 flags2;8172#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF0_MASK 0x38173#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF0_SHIFT 08174#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF1_MASK 0x38175#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF1_SHIFT 28176#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF2_MASK 0x38177#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF2_SHIFT 48178#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF3_MASK 0x38179#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF3_SHIFT 68180 u8 flags3;8181#define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_FLUSH_CF_MASK 0x38182#define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_FLUSH_CF_SHIFT 08183#define XSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_CF_MASK 0x38184#define XSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_CF_SHIFT 28185#define XSTORM_ROCE_REQ_CONN_AG_CTX_SND_RXMIT_CF_MASK 0x38186#define XSTORM_ROCE_REQ_CONN_AG_CTX_SND_RXMIT_CF_SHIFT 48187#define XSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x38188#define XSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 68189 u8 flags4;8190#define XSTORM_ROCE_REQ_CONN_AG_CTX_DIF_ERROR_CF_MASK 0x38191#define XSTORM_ROCE_REQ_CONN_AG_CTX_DIF_ERROR_CF_SHIFT 08192#define XSTORM_ROCE_REQ_CONN_AG_CTX_SCAN_SQ_FOR_COMP_CF_MASK 0x38193#define XSTORM_ROCE_REQ_CONN_AG_CTX_SCAN_SQ_FOR_COMP_CF_SHIFT 28194#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF10_MASK 0x38195#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF10_SHIFT 48196#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF11_MASK 0x38197#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF11_SHIFT 68198 u8 flags5;8199#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF12_MASK 0x38200#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF12_SHIFT 08201#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF13_MASK 0x38202#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF13_SHIFT 28203#define XSTORM_ROCE_REQ_CONN_AG_CTX_FMR_ENDED_CF_MASK 0x38204#define XSTORM_ROCE_REQ_CONN_AG_CTX_FMR_ENDED_CF_SHIFT 48205#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF15_MASK 0x38206#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF15_SHIFT 68207 u8 flags6;8208#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF16_MASK 0x38209#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF16_SHIFT 08210#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF17_MASK 0x38211#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF17_SHIFT 28212#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF18_MASK 0x38213#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF18_SHIFT 48214#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF19_MASK 0x38215#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF19_SHIFT 68216 u8 flags7;8217#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF20_MASK 0x38218#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF20_SHIFT 08219#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF21_MASK 0x38220#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF21_SHIFT 28221#define XSTORM_ROCE_REQ_CONN_AG_CTX_SLOW_PATH_MASK 0x38222#define XSTORM_ROCE_REQ_CONN_AG_CTX_SLOW_PATH_SHIFT 48223#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_MASK 0x18224#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_SHIFT 68225#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_MASK 0x18226#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_SHIFT 78227 u8 flags8;8228#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_MASK 0x18229#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_SHIFT 08230#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF3EN_MASK 0x18231#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF3EN_SHIFT 18232#define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_FLUSH_CF_EN_MASK 0x18233#define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_FLUSH_CF_EN_SHIFT 28234#define XSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_CF_EN_MASK 0x18235#define XSTORM_ROCE_REQ_CONN_AG_CTX_RX_ERROR_CF_EN_SHIFT 38236#define XSTORM_ROCE_REQ_CONN_AG_CTX_SND_RXMIT_CF_EN_MASK 0x18237#define XSTORM_ROCE_REQ_CONN_AG_CTX_SND_RXMIT_CF_EN_SHIFT 48238#define XSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x18239#define XSTORM_ROCE_REQ_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 58240#define XSTORM_ROCE_REQ_CONN_AG_CTX_DIF_ERROR_CF_EN_MASK 0x18241#define XSTORM_ROCE_REQ_CONN_AG_CTX_DIF_ERROR_CF_EN_SHIFT 68242#define XSTORM_ROCE_REQ_CONN_AG_CTX_SCAN_SQ_FOR_COMP_CF_EN_MASK 0x18243#define XSTORM_ROCE_REQ_CONN_AG_CTX_SCAN_SQ_FOR_COMP_CF_EN_SHIFT 78244 u8 flags9;8245#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF10EN_MASK 0x18246#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF10EN_SHIFT 08247#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF11EN_MASK 0x18248#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF11EN_SHIFT 18249#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF12EN_MASK 0x18250#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF12EN_SHIFT 28251#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF13EN_MASK 0x18252#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF13EN_SHIFT 38253#define XSTORM_ROCE_REQ_CONN_AG_CTX_FME_ENDED_CF_EN_MASK 0x18254#define XSTORM_ROCE_REQ_CONN_AG_CTX_FME_ENDED_CF_EN_SHIFT 48255#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF15EN_MASK 0x18256#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF15EN_SHIFT 58257#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF16EN_MASK 0x18258#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF16EN_SHIFT 68259#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF17EN_MASK 0x18260#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF17EN_SHIFT 78261 u8 flags10;8262#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF18EN_MASK 0x18263#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF18EN_SHIFT 08264#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF19EN_MASK 0x18265#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF19EN_SHIFT 18266#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF20EN_MASK 0x18267#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF20EN_SHIFT 28268#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF21EN_MASK 0x18269#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF21EN_SHIFT 38270#define XSTORM_ROCE_REQ_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x18271#define XSTORM_ROCE_REQ_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 48272#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF23EN_MASK 0x18273#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF23EN_SHIFT 58274#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_MASK 0x18275#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_SHIFT 68276#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_MASK 0x18277#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_SHIFT 78278 u8 flags11;8279#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_MASK 0x18280#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_SHIFT 08281#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_MASK 0x18282#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_SHIFT 18283#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_MASK 0x18284#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_SHIFT 28285#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_MASK 0x18286#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE5EN_SHIFT 38287#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE6EN_MASK 0x18288#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE6EN_SHIFT 48289#define XSTORM_ROCE_REQ_CONN_AG_CTX_E2E_CREDIT_RULE_EN_MASK 0x18290#define XSTORM_ROCE_REQ_CONN_AG_CTX_E2E_CREDIT_RULE_EN_SHIFT 58291#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED1_MASK 0x18292#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED1_SHIFT 68293#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE9EN_MASK 0x18294#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE9EN_SHIFT 78295 u8 flags12;8296#define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_PROD_EN_MASK 0x18297#define XSTORM_ROCE_REQ_CONN_AG_CTX_SQ_PROD_EN_SHIFT 08298#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE11EN_MASK 0x18299#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE11EN_SHIFT 18300#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED2_MASK 0x18301#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED2_SHIFT 28302#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED3_MASK 0x18303#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED3_SHIFT 38304#define XSTORM_ROCE_REQ_CONN_AG_CTX_INV_FENCE_RULE_EN_MASK 0x18305#define XSTORM_ROCE_REQ_CONN_AG_CTX_INV_FENCE_RULE_EN_SHIFT 48306#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE15EN_MASK 0x18307#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE15EN_SHIFT 58308#define XSTORM_ROCE_REQ_CONN_AG_CTX_ORQ_FENCE_RULE_EN_MASK 0x18309#define XSTORM_ROCE_REQ_CONN_AG_CTX_ORQ_FENCE_RULE_EN_SHIFT 68310#define XSTORM_ROCE_REQ_CONN_AG_CTX_MAX_ORD_RULE_EN_MASK 0x18311#define XSTORM_ROCE_REQ_CONN_AG_CTX_MAX_ORD_RULE_EN_SHIFT 78312 u8 flags13;8313#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE18EN_MASK 0x18314#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE18EN_SHIFT 08315#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE19EN_MASK 0x18316#define XSTORM_ROCE_REQ_CONN_AG_CTX_RULE19EN_SHIFT 18317#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED4_MASK 0x18318#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED4_SHIFT 28319#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED5_MASK 0x18320#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED5_SHIFT 38321#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED6_MASK 0x18322#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED6_SHIFT 48323#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED7_MASK 0x18324#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED7_SHIFT 58325#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED8_MASK 0x18326#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED8_SHIFT 68327#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED9_MASK 0x18328#define XSTORM_ROCE_REQ_CONN_AG_CTX_A0_RESERVED9_SHIFT 78329 u8 flags14;8330#define XSTORM_ROCE_REQ_CONN_AG_CTX_MIGRATION_FLAG_MASK 0x18331#define XSTORM_ROCE_REQ_CONN_AG_CTX_MIGRATION_FLAG_SHIFT 08332#define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT17_MASK 0x18333#define XSTORM_ROCE_REQ_CONN_AG_CTX_BIT17_SHIFT 18334#define XSTORM_ROCE_REQ_CONN_AG_CTX_DPM_PORT_NUM_MASK 0x38335#define XSTORM_ROCE_REQ_CONN_AG_CTX_DPM_PORT_NUM_SHIFT 28336#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED_MASK 0x18337#define XSTORM_ROCE_REQ_CONN_AG_CTX_RESERVED_SHIFT 48338#define XSTORM_ROCE_REQ_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK 0x18339#define XSTORM_ROCE_REQ_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT 58340#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF23_MASK 0x38341#define XSTORM_ROCE_REQ_CONN_AG_CTX_CF23_SHIFT 68342 u8 byte2;8343 __le16 physical_q0;8344 __le16 word1;8345 __le16 sq_cmp_cons;8346 __le16 sq_cons;8347 __le16 sq_prod;8348 __le16 dif_error_first_sq_cons;8349 __le16 conn_dpi;8350 u8 dif_error_sge_index;8351 u8 byte4;8352 u8 byte5;8353 u8 byte6;8354 __le32 lsn;8355 __le32 ssn;8356 __le32 snd_una_psn;8357 __le32 snd_nxt_psn;8358 __le32 dif_error_offset;8359 __le32 orq_cons_th;8360 __le32 orq_cons;8361};8362 8363struct xstorm_roce_resp_conn_ag_ctx {8364 u8 reserved0;8365 u8 state;8366 u8 flags0;8367#define XSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x18368#define XSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 08369#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED1_MASK 0x18370#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED1_SHIFT 18371#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED2_MASK 0x18372#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED2_SHIFT 28373#define XSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x18374#define XSTORM_ROCE_RESP_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 38375#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED3_MASK 0x18376#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED3_SHIFT 48377#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED4_MASK 0x18378#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED4_SHIFT 58379#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED5_MASK 0x18380#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED5_SHIFT 68381#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED6_MASK 0x18382#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED6_SHIFT 78383 u8 flags1;8384#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED7_MASK 0x18385#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED7_SHIFT 08386#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED8_MASK 0x18387#define XSTORM_ROCE_RESP_CONN_AG_CTX_RESERVED8_SHIFT 18388#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT10_MASK 0x18389#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT10_SHIFT 28390#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT11_MASK 0x18391#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT11_SHIFT 38392#define XSTORM_ROCE_RESP_CONN_AG_CTX_MSDM_FLUSH_MASK 0x18393#define XSTORM_ROCE_RESP_CONN_AG_CTX_MSDM_FLUSH_SHIFT 48394#define XSTORM_ROCE_RESP_CONN_AG_CTX_MSEM_FLUSH_MASK 0x18395#define XSTORM_ROCE_RESP_CONN_AG_CTX_MSEM_FLUSH_SHIFT 58396#define XSTORM_ROCE_RESP_CONN_AG_CTX_ERROR_STATE_MASK 0x18397#define XSTORM_ROCE_RESP_CONN_AG_CTX_ERROR_STATE_SHIFT 68398#define XSTORM_ROCE_RESP_CONN_AG_CTX_YSTORM_FLUSH_MASK 0x18399#define XSTORM_ROCE_RESP_CONN_AG_CTX_YSTORM_FLUSH_SHIFT 78400 u8 flags2;8401#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF0_MASK 0x38402#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF0_SHIFT 08403#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF1_MASK 0x38404#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF1_SHIFT 28405#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF2_MASK 0x38406#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF2_SHIFT 48407#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF3_MASK 0x38408#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF3_SHIFT 68409 u8 flags3;8410#define XSTORM_ROCE_RESP_CONN_AG_CTX_RXMIT_CF_MASK 0x38411#define XSTORM_ROCE_RESP_CONN_AG_CTX_RXMIT_CF_SHIFT 08412#define XSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_MASK 0x38413#define XSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_SHIFT 28414#define XSTORM_ROCE_RESP_CONN_AG_CTX_FORCE_ACK_CF_MASK 0x38415#define XSTORM_ROCE_RESP_CONN_AG_CTX_FORCE_ACK_CF_SHIFT 48416#define XSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x38417#define XSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 68418 u8 flags4;8419#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF8_MASK 0x38420#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF8_SHIFT 08421#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF9_MASK 0x38422#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF9_SHIFT 28423#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF10_MASK 0x38424#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF10_SHIFT 48425#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF11_MASK 0x38426#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF11_SHIFT 68427 u8 flags5;8428#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF12_MASK 0x38429#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF12_SHIFT 08430#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF13_MASK 0x38431#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF13_SHIFT 28432#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF14_MASK 0x38433#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF14_SHIFT 48434#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF15_MASK 0x38435#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF15_SHIFT 68436 u8 flags6;8437#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF16_MASK 0x38438#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF16_SHIFT 08439#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF17_MASK 0x38440#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF17_SHIFT 28441#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF18_MASK 0x38442#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF18_SHIFT 48443#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF19_MASK 0x38444#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF19_SHIFT 68445 u8 flags7;8446#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF20_MASK 0x38447#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF20_SHIFT 08448#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF21_MASK 0x38449#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF21_SHIFT 28450#define XSTORM_ROCE_RESP_CONN_AG_CTX_SLOW_PATH_MASK 0x38451#define XSTORM_ROCE_RESP_CONN_AG_CTX_SLOW_PATH_SHIFT 48452#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_MASK 0x18453#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_SHIFT 68454#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_MASK 0x18455#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_SHIFT 78456 u8 flags8;8457#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_MASK 0x18458#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_SHIFT 08459#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_MASK 0x18460#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF3EN_SHIFT 18461#define XSTORM_ROCE_RESP_CONN_AG_CTX_RXMIT_CF_EN_MASK 0x18462#define XSTORM_ROCE_RESP_CONN_AG_CTX_RXMIT_CF_EN_SHIFT 28463#define XSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_EN_MASK 0x18464#define XSTORM_ROCE_RESP_CONN_AG_CTX_RX_ERROR_CF_EN_SHIFT 38465#define XSTORM_ROCE_RESP_CONN_AG_CTX_FORCE_ACK_CF_EN_MASK 0x18466#define XSTORM_ROCE_RESP_CONN_AG_CTX_FORCE_ACK_CF_EN_SHIFT 48467#define XSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x18468#define XSTORM_ROCE_RESP_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 58469#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF8EN_MASK 0x18470#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF8EN_SHIFT 68471#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF9EN_MASK 0x18472#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF9EN_SHIFT 78473 u8 flags9;8474#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF10EN_MASK 0x18475#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF10EN_SHIFT 08476#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF11EN_MASK 0x18477#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF11EN_SHIFT 18478#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF12EN_MASK 0x18479#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF12EN_SHIFT 28480#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF13EN_MASK 0x18481#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF13EN_SHIFT 38482#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF14EN_MASK 0x18483#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF14EN_SHIFT 48484#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF15EN_MASK 0x18485#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF15EN_SHIFT 58486#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF16EN_MASK 0x18487#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF16EN_SHIFT 68488#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF17EN_MASK 0x18489#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF17EN_SHIFT 78490 u8 flags10;8491#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF18EN_MASK 0x18492#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF18EN_SHIFT 08493#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF19EN_MASK 0x18494#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF19EN_SHIFT 18495#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF20EN_MASK 0x18496#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF20EN_SHIFT 28497#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF21EN_MASK 0x18498#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF21EN_SHIFT 38499#define XSTORM_ROCE_RESP_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x18500#define XSTORM_ROCE_RESP_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 48501#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF23EN_MASK 0x18502#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF23EN_SHIFT 58503#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_MASK 0x18504#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_SHIFT 68505#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_MASK 0x18506#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_SHIFT 78507 u8 flags11;8508#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_MASK 0x18509#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_SHIFT 08510#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_MASK 0x18511#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_SHIFT 18512#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_MASK 0x18513#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_SHIFT 28514#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_MASK 0x18515#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE5EN_SHIFT 38516#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE6EN_MASK 0x18517#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE6EN_SHIFT 48518#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_MASK 0x18519#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE7EN_SHIFT 58520#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED1_MASK 0x18521#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED1_SHIFT 68522#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE9EN_MASK 0x18523#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE9EN_SHIFT 78524 u8 flags12;8525#define XSTORM_ROCE_RESP_CONN_AG_CTX_IRQ_PROD_RULE_EN_MASK 0x18526#define XSTORM_ROCE_RESP_CONN_AG_CTX_IRQ_PROD_RULE_EN_SHIFT 08527#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE11EN_MASK 0x18528#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE11EN_SHIFT 18529#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED2_MASK 0x18530#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED2_SHIFT 28531#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED3_MASK 0x18532#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED3_SHIFT 38533#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE14EN_MASK 0x18534#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE14EN_SHIFT 48535#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE15EN_MASK 0x18536#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE15EN_SHIFT 58537#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE16EN_MASK 0x18538#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE16EN_SHIFT 68539#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE17EN_MASK 0x18540#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE17EN_SHIFT 78541 u8 flags13;8542#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE18EN_MASK 0x18543#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE18EN_SHIFT 08544#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE19EN_MASK 0x18545#define XSTORM_ROCE_RESP_CONN_AG_CTX_RULE19EN_SHIFT 18546#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED4_MASK 0x18547#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED4_SHIFT 28548#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED5_MASK 0x18549#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED5_SHIFT 38550#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED6_MASK 0x18551#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED6_SHIFT 48552#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED7_MASK 0x18553#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED7_SHIFT 58554#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED8_MASK 0x18555#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED8_SHIFT 68556#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED9_MASK 0x18557#define XSTORM_ROCE_RESP_CONN_AG_CTX_A0_RESERVED9_SHIFT 78558 u8 flags14;8559#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT16_MASK 0x18560#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT16_SHIFT 08561#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT17_MASK 0x18562#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT17_SHIFT 18563#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT18_MASK 0x18564#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT18_SHIFT 28565#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT19_MASK 0x18566#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT19_SHIFT 38567#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT20_MASK 0x18568#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT20_SHIFT 48569#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT21_MASK 0x18570#define XSTORM_ROCE_RESP_CONN_AG_CTX_BIT21_SHIFT 58571#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF23_MASK 0x38572#define XSTORM_ROCE_RESP_CONN_AG_CTX_CF23_SHIFT 68573 u8 byte2;8574 __le16 physical_q0;8575 __le16 irq_prod_shadow;8576 __le16 word2;8577 __le16 irq_cons;8578 __le16 irq_prod;8579 __le16 e5_reserved1;8580 __le16 conn_dpi;8581 u8 rxmit_opcode;8582 u8 byte4;8583 u8 byte5;8584 u8 byte6;8585 __le32 rxmit_psn_and_id;8586 __le32 rxmit_bytes_length;8587 __le32 psn;8588 __le32 reg3;8589 __le32 reg4;8590 __le32 reg5;8591 __le32 msn_and_syndrome;8592};8593 8594struct ystorm_roce_conn_ag_ctx {8595 u8 byte0;8596 u8 byte1;8597 u8 flags0;8598#define YSTORM_ROCE_CONN_AG_CTX_BIT0_MASK 0x18599#define YSTORM_ROCE_CONN_AG_CTX_BIT0_SHIFT 08600#define YSTORM_ROCE_CONN_AG_CTX_BIT1_MASK 0x18601#define YSTORM_ROCE_CONN_AG_CTX_BIT1_SHIFT 18602#define YSTORM_ROCE_CONN_AG_CTX_CF0_MASK 0x38603#define YSTORM_ROCE_CONN_AG_CTX_CF0_SHIFT 28604#define YSTORM_ROCE_CONN_AG_CTX_CF1_MASK 0x38605#define YSTORM_ROCE_CONN_AG_CTX_CF1_SHIFT 48606#define YSTORM_ROCE_CONN_AG_CTX_CF2_MASK 0x38607#define YSTORM_ROCE_CONN_AG_CTX_CF2_SHIFT 68608 u8 flags1;8609#define YSTORM_ROCE_CONN_AG_CTX_CF0EN_MASK 0x18610#define YSTORM_ROCE_CONN_AG_CTX_CF0EN_SHIFT 08611#define YSTORM_ROCE_CONN_AG_CTX_CF1EN_MASK 0x18612#define YSTORM_ROCE_CONN_AG_CTX_CF1EN_SHIFT 18613#define YSTORM_ROCE_CONN_AG_CTX_CF2EN_MASK 0x18614#define YSTORM_ROCE_CONN_AG_CTX_CF2EN_SHIFT 28615#define YSTORM_ROCE_CONN_AG_CTX_RULE0EN_MASK 0x18616#define YSTORM_ROCE_CONN_AG_CTX_RULE0EN_SHIFT 38617#define YSTORM_ROCE_CONN_AG_CTX_RULE1EN_MASK 0x18618#define YSTORM_ROCE_CONN_AG_CTX_RULE1EN_SHIFT 48619#define YSTORM_ROCE_CONN_AG_CTX_RULE2EN_MASK 0x18620#define YSTORM_ROCE_CONN_AG_CTX_RULE2EN_SHIFT 58621#define YSTORM_ROCE_CONN_AG_CTX_RULE3EN_MASK 0x18622#define YSTORM_ROCE_CONN_AG_CTX_RULE3EN_SHIFT 68623#define YSTORM_ROCE_CONN_AG_CTX_RULE4EN_MASK 0x18624#define YSTORM_ROCE_CONN_AG_CTX_RULE4EN_SHIFT 78625 u8 byte2;8626 u8 byte3;8627 __le16 word0;8628 __le32 reg0;8629 __le32 reg1;8630 __le16 word1;8631 __le16 word2;8632 __le16 word3;8633 __le16 word4;8634 __le32 reg2;8635 __le32 reg3;8636};8637 8638struct ystorm_roce_req_conn_ag_ctx {8639 u8 byte0;8640 u8 byte1;8641 u8 flags0;8642#define YSTORM_ROCE_REQ_CONN_AG_CTX_BIT0_MASK 0x18643#define YSTORM_ROCE_REQ_CONN_AG_CTX_BIT0_SHIFT 08644#define YSTORM_ROCE_REQ_CONN_AG_CTX_BIT1_MASK 0x18645#define YSTORM_ROCE_REQ_CONN_AG_CTX_BIT1_SHIFT 18646#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF0_MASK 0x38647#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF0_SHIFT 28648#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF1_MASK 0x38649#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF1_SHIFT 48650#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF2_MASK 0x38651#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF2_SHIFT 68652 u8 flags1;8653#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_MASK 0x18654#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF0EN_SHIFT 08655#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_MASK 0x18656#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF1EN_SHIFT 18657#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_MASK 0x18658#define YSTORM_ROCE_REQ_CONN_AG_CTX_CF2EN_SHIFT 28659#define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_MASK 0x18660#define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE0EN_SHIFT 38661#define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_MASK 0x18662#define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE1EN_SHIFT 48663#define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_MASK 0x18664#define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE2EN_SHIFT 58665#define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_MASK 0x18666#define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE3EN_SHIFT 68667#define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_MASK 0x18668#define YSTORM_ROCE_REQ_CONN_AG_CTX_RULE4EN_SHIFT 78669 u8 byte2;8670 u8 byte3;8671 __le16 word0;8672 __le32 reg0;8673 __le32 reg1;8674 __le16 word1;8675 __le16 word2;8676 __le16 word3;8677 __le16 word4;8678 __le32 reg2;8679 __le32 reg3;8680};8681 8682struct ystorm_roce_resp_conn_ag_ctx {8683 u8 byte0;8684 u8 byte1;8685 u8 flags0;8686#define YSTORM_ROCE_RESP_CONN_AG_CTX_BIT0_MASK 0x18687#define YSTORM_ROCE_RESP_CONN_AG_CTX_BIT0_SHIFT 08688#define YSTORM_ROCE_RESP_CONN_AG_CTX_BIT1_MASK 0x18689#define YSTORM_ROCE_RESP_CONN_AG_CTX_BIT1_SHIFT 18690#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF0_MASK 0x38691#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF0_SHIFT 28692#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF1_MASK 0x38693#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF1_SHIFT 48694#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF2_MASK 0x38695#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF2_SHIFT 68696 u8 flags1;8697#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_MASK 0x18698#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF0EN_SHIFT 08699#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_MASK 0x18700#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF1EN_SHIFT 18701#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_MASK 0x18702#define YSTORM_ROCE_RESP_CONN_AG_CTX_CF2EN_SHIFT 28703#define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_MASK 0x18704#define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE0EN_SHIFT 38705#define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_MASK 0x18706#define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE1EN_SHIFT 48707#define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_MASK 0x18708#define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE2EN_SHIFT 58709#define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_MASK 0x18710#define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE3EN_SHIFT 68711#define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_MASK 0x18712#define YSTORM_ROCE_RESP_CONN_AG_CTX_RULE4EN_SHIFT 78713 u8 byte2;8714 u8 byte3;8715 __le16 word0;8716 __le32 reg0;8717 __le32 reg1;8718 __le16 word1;8719 __le16 word2;8720 __le16 word3;8721 __le16 word4;8722 __le32 reg2;8723 __le32 reg3;8724};8725 8726/* Roce doorbell data */8727enum roce_flavor {8728 PLAIN_ROCE,8729 RROCE_IPV4,8730 RROCE_IPV6,8731 MAX_ROCE_FLAVOR8732};8733 8734/* The iwarp storm context of Ystorm */8735struct ystorm_iwarp_conn_st_ctx {8736 __le32 reserved[4];8737};8738 8739/* The iwarp storm context of Pstorm */8740struct pstorm_iwarp_conn_st_ctx {8741 __le32 reserved[36];8742};8743 8744/* The iwarp storm context of Xstorm */8745struct xstorm_iwarp_conn_st_ctx {8746 __le32 reserved[48];8747};8748 8749struct xstorm_iwarp_conn_ag_ctx {8750 u8 reserved0;8751 u8 state;8752 u8 flags0;8753#define XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x18754#define XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 08755#define XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM1_MASK 0x18756#define XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM1_SHIFT 18757#define XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM2_MASK 0x18758#define XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM2_SHIFT 28759#define XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x18760#define XSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 38761#define XSTORM_IWARP_CONN_AG_CTX_BIT4_MASK 0x18762#define XSTORM_IWARP_CONN_AG_CTX_BIT4_SHIFT 48763#define XSTORM_IWARP_CONN_AG_CTX_RESERVED2_MASK 0x18764#define XSTORM_IWARP_CONN_AG_CTX_RESERVED2_SHIFT 58765#define XSTORM_IWARP_CONN_AG_CTX_BIT6_MASK 0x18766#define XSTORM_IWARP_CONN_AG_CTX_BIT6_SHIFT 68767#define XSTORM_IWARP_CONN_AG_CTX_BIT7_MASK 0x18768#define XSTORM_IWARP_CONN_AG_CTX_BIT7_SHIFT 78769 u8 flags1;8770#define XSTORM_IWARP_CONN_AG_CTX_BIT8_MASK 0x18771#define XSTORM_IWARP_CONN_AG_CTX_BIT8_SHIFT 08772#define XSTORM_IWARP_CONN_AG_CTX_BIT9_MASK 0x18773#define XSTORM_IWARP_CONN_AG_CTX_BIT9_SHIFT 18774#define XSTORM_IWARP_CONN_AG_CTX_BIT10_MASK 0x18775#define XSTORM_IWARP_CONN_AG_CTX_BIT10_SHIFT 28776#define XSTORM_IWARP_CONN_AG_CTX_BIT11_MASK 0x18777#define XSTORM_IWARP_CONN_AG_CTX_BIT11_SHIFT 38778#define XSTORM_IWARP_CONN_AG_CTX_BIT12_MASK 0x18779#define XSTORM_IWARP_CONN_AG_CTX_BIT12_SHIFT 48780#define XSTORM_IWARP_CONN_AG_CTX_BIT13_MASK 0x18781#define XSTORM_IWARP_CONN_AG_CTX_BIT13_SHIFT 58782#define XSTORM_IWARP_CONN_AG_CTX_BIT14_MASK 0x18783#define XSTORM_IWARP_CONN_AG_CTX_BIT14_SHIFT 68784#define XSTORM_IWARP_CONN_AG_CTX_YSTORM_FLUSH_OR_REWIND_SND_MAX_MASK 0x18785#define XSTORM_IWARP_CONN_AG_CTX_YSTORM_FLUSH_OR_REWIND_SND_MAX_SHIFT 78786 u8 flags2;8787#define XSTORM_IWARP_CONN_AG_CTX_CF0_MASK 0x38788#define XSTORM_IWARP_CONN_AG_CTX_CF0_SHIFT 08789#define XSTORM_IWARP_CONN_AG_CTX_CF1_MASK 0x38790#define XSTORM_IWARP_CONN_AG_CTX_CF1_SHIFT 28791#define XSTORM_IWARP_CONN_AG_CTX_CF2_MASK 0x38792#define XSTORM_IWARP_CONN_AG_CTX_CF2_SHIFT 48793#define XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x38794#define XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 68795 u8 flags3;8796#define XSTORM_IWARP_CONN_AG_CTX_CF4_MASK 0x38797#define XSTORM_IWARP_CONN_AG_CTX_CF4_SHIFT 08798#define XSTORM_IWARP_CONN_AG_CTX_CF5_MASK 0x38799#define XSTORM_IWARP_CONN_AG_CTX_CF5_SHIFT 28800#define XSTORM_IWARP_CONN_AG_CTX_CF6_MASK 0x38801#define XSTORM_IWARP_CONN_AG_CTX_CF6_SHIFT 48802#define XSTORM_IWARP_CONN_AG_CTX_CF7_MASK 0x38803#define XSTORM_IWARP_CONN_AG_CTX_CF7_SHIFT 68804 u8 flags4;8805#define XSTORM_IWARP_CONN_AG_CTX_CF8_MASK 0x38806#define XSTORM_IWARP_CONN_AG_CTX_CF8_SHIFT 08807#define XSTORM_IWARP_CONN_AG_CTX_CF9_MASK 0x38808#define XSTORM_IWARP_CONN_AG_CTX_CF9_SHIFT 28809#define XSTORM_IWARP_CONN_AG_CTX_CF10_MASK 0x38810#define XSTORM_IWARP_CONN_AG_CTX_CF10_SHIFT 48811#define XSTORM_IWARP_CONN_AG_CTX_CF11_MASK 0x38812#define XSTORM_IWARP_CONN_AG_CTX_CF11_SHIFT 68813 u8 flags5;8814#define XSTORM_IWARP_CONN_AG_CTX_CF12_MASK 0x38815#define XSTORM_IWARP_CONN_AG_CTX_CF12_SHIFT 08816#define XSTORM_IWARP_CONN_AG_CTX_CF13_MASK 0x38817#define XSTORM_IWARP_CONN_AG_CTX_CF13_SHIFT 28818#define XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_MASK 0x38819#define XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_SHIFT 48820#define XSTORM_IWARP_CONN_AG_CTX_CF15_MASK 0x38821#define XSTORM_IWARP_CONN_AG_CTX_CF15_SHIFT 68822 u8 flags6;8823#define XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_MASK 0x38824#define XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_SHIFT 08825#define XSTORM_IWARP_CONN_AG_CTX_CF17_MASK 0x38826#define XSTORM_IWARP_CONN_AG_CTX_CF17_SHIFT 28827#define XSTORM_IWARP_CONN_AG_CTX_CF18_MASK 0x38828#define XSTORM_IWARP_CONN_AG_CTX_CF18_SHIFT 48829#define XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_MASK 0x38830#define XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_SHIFT 68831 u8 flags7;8832#define XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_MASK 0x38833#define XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_SHIFT 08834#define XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_MASK 0x38835#define XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_SHIFT 28836#define XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_MASK 0x38837#define XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_SHIFT 48838#define XSTORM_IWARP_CONN_AG_CTX_CF0EN_MASK 0x18839#define XSTORM_IWARP_CONN_AG_CTX_CF0EN_SHIFT 68840#define XSTORM_IWARP_CONN_AG_CTX_CF1EN_MASK 0x18841#define XSTORM_IWARP_CONN_AG_CTX_CF1EN_SHIFT 78842 u8 flags8;8843#define XSTORM_IWARP_CONN_AG_CTX_CF2EN_MASK 0x18844#define XSTORM_IWARP_CONN_AG_CTX_CF2EN_SHIFT 08845#define XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x18846#define XSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 18847#define XSTORM_IWARP_CONN_AG_CTX_CF4EN_MASK 0x18848#define XSTORM_IWARP_CONN_AG_CTX_CF4EN_SHIFT 28849#define XSTORM_IWARP_CONN_AG_CTX_CF5EN_MASK 0x18850#define XSTORM_IWARP_CONN_AG_CTX_CF5EN_SHIFT 38851#define XSTORM_IWARP_CONN_AG_CTX_CF6EN_MASK 0x18852#define XSTORM_IWARP_CONN_AG_CTX_CF6EN_SHIFT 48853#define XSTORM_IWARP_CONN_AG_CTX_CF7EN_MASK 0x18854#define XSTORM_IWARP_CONN_AG_CTX_CF7EN_SHIFT 58855#define XSTORM_IWARP_CONN_AG_CTX_CF8EN_MASK 0x18856#define XSTORM_IWARP_CONN_AG_CTX_CF8EN_SHIFT 68857#define XSTORM_IWARP_CONN_AG_CTX_CF9EN_MASK 0x18858#define XSTORM_IWARP_CONN_AG_CTX_CF9EN_SHIFT 78859 u8 flags9;8860#define XSTORM_IWARP_CONN_AG_CTX_CF10EN_MASK 0x18861#define XSTORM_IWARP_CONN_AG_CTX_CF10EN_SHIFT 08862#define XSTORM_IWARP_CONN_AG_CTX_CF11EN_MASK 0x18863#define XSTORM_IWARP_CONN_AG_CTX_CF11EN_SHIFT 18864#define XSTORM_IWARP_CONN_AG_CTX_CF12EN_MASK 0x18865#define XSTORM_IWARP_CONN_AG_CTX_CF12EN_SHIFT 28866#define XSTORM_IWARP_CONN_AG_CTX_CF13EN_MASK 0x18867#define XSTORM_IWARP_CONN_AG_CTX_CF13EN_SHIFT 38868#define XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_EN_MASK 0x18869#define XSTORM_IWARP_CONN_AG_CTX_SQ_FLUSH_CF_EN_SHIFT 48870#define XSTORM_IWARP_CONN_AG_CTX_CF15EN_MASK 0x18871#define XSTORM_IWARP_CONN_AG_CTX_CF15EN_SHIFT 58872#define XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_EN_MASK 0x18873#define XSTORM_IWARP_CONN_AG_CTX_MPA_OR_ERROR_WAKEUP_TRIGGER_CF_EN_SHIFT 68874#define XSTORM_IWARP_CONN_AG_CTX_CF17EN_MASK 0x18875#define XSTORM_IWARP_CONN_AG_CTX_CF17EN_SHIFT 78876 u8 flags10;8877#define XSTORM_IWARP_CONN_AG_CTX_CF18EN_MASK 0x18878#define XSTORM_IWARP_CONN_AG_CTX_CF18EN_SHIFT 08879#define XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_EN_MASK 0x18880#define XSTORM_IWARP_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT 18881#define XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x18882#define XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 28883#define XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_EN_MASK 0x18884#define XSTORM_IWARP_CONN_AG_CTX_FLUSH_Q1_EN_SHIFT 38885#define XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x18886#define XSTORM_IWARP_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 48887#define XSTORM_IWARP_CONN_AG_CTX_SEND_TERMINATE_CF_EN_MASK 0x18888#define XSTORM_IWARP_CONN_AG_CTX_SEND_TERMINATE_CF_EN_SHIFT 58889#define XSTORM_IWARP_CONN_AG_CTX_RULE0EN_MASK 0x18890#define XSTORM_IWARP_CONN_AG_CTX_RULE0EN_SHIFT 68891#define XSTORM_IWARP_CONN_AG_CTX_MORE_TO_SEND_RULE_EN_MASK 0x18892#define XSTORM_IWARP_CONN_AG_CTX_MORE_TO_SEND_RULE_EN_SHIFT 78893 u8 flags11;8894#define XSTORM_IWARP_CONN_AG_CTX_TX_BLOCKED_EN_MASK 0x18895#define XSTORM_IWARP_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT 08896#define XSTORM_IWARP_CONN_AG_CTX_RULE3EN_MASK 0x18897#define XSTORM_IWARP_CONN_AG_CTX_RULE3EN_SHIFT 18898#define XSTORM_IWARP_CONN_AG_CTX_RESERVED3_MASK 0x18899#define XSTORM_IWARP_CONN_AG_CTX_RESERVED3_SHIFT 28900#define XSTORM_IWARP_CONN_AG_CTX_RULE5EN_MASK 0x18901#define XSTORM_IWARP_CONN_AG_CTX_RULE5EN_SHIFT 38902#define XSTORM_IWARP_CONN_AG_CTX_RULE6EN_MASK 0x18903#define XSTORM_IWARP_CONN_AG_CTX_RULE6EN_SHIFT 48904#define XSTORM_IWARP_CONN_AG_CTX_RULE7EN_MASK 0x18905#define XSTORM_IWARP_CONN_AG_CTX_RULE7EN_SHIFT 58906#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED1_MASK 0x18907#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED1_SHIFT 68908#define XSTORM_IWARP_CONN_AG_CTX_RULE9EN_MASK 0x18909#define XSTORM_IWARP_CONN_AG_CTX_RULE9EN_SHIFT 78910 u8 flags12;8911#define XSTORM_IWARP_CONN_AG_CTX_SQ_NOT_EMPTY_RULE_EN_MASK 0x18912#define XSTORM_IWARP_CONN_AG_CTX_SQ_NOT_EMPTY_RULE_EN_SHIFT 08913#define XSTORM_IWARP_CONN_AG_CTX_RULE11EN_MASK 0x18914#define XSTORM_IWARP_CONN_AG_CTX_RULE11EN_SHIFT 18915#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED2_MASK 0x18916#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED2_SHIFT 28917#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED3_MASK 0x18918#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED3_SHIFT 38919#define XSTORM_IWARP_CONN_AG_CTX_SQ_FENCE_RULE_EN_MASK 0x18920#define XSTORM_IWARP_CONN_AG_CTX_SQ_FENCE_RULE_EN_SHIFT 48921#define XSTORM_IWARP_CONN_AG_CTX_RULE15EN_MASK 0x18922#define XSTORM_IWARP_CONN_AG_CTX_RULE15EN_SHIFT 58923#define XSTORM_IWARP_CONN_AG_CTX_RULE16EN_MASK 0x18924#define XSTORM_IWARP_CONN_AG_CTX_RULE16EN_SHIFT 68925#define XSTORM_IWARP_CONN_AG_CTX_RULE17EN_MASK 0x18926#define XSTORM_IWARP_CONN_AG_CTX_RULE17EN_SHIFT 78927 u8 flags13;8928#define XSTORM_IWARP_CONN_AG_CTX_IRQ_NOT_EMPTY_RULE_EN_MASK 0x18929#define XSTORM_IWARP_CONN_AG_CTX_IRQ_NOT_EMPTY_RULE_EN_SHIFT 08930#define XSTORM_IWARP_CONN_AG_CTX_HQ_NOT_FULL_RULE_EN_MASK 0x18931#define XSTORM_IWARP_CONN_AG_CTX_HQ_NOT_FULL_RULE_EN_SHIFT 18932#define XSTORM_IWARP_CONN_AG_CTX_ORQ_RD_FENCE_RULE_EN_MASK 0x18933#define XSTORM_IWARP_CONN_AG_CTX_ORQ_RD_FENCE_RULE_EN_SHIFT 28934#define XSTORM_IWARP_CONN_AG_CTX_RULE21EN_MASK 0x18935#define XSTORM_IWARP_CONN_AG_CTX_RULE21EN_SHIFT 38936#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED6_MASK 0x18937#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED6_SHIFT 48938#define XSTORM_IWARP_CONN_AG_CTX_ORQ_NOT_FULL_RULE_EN_MASK 0x18939#define XSTORM_IWARP_CONN_AG_CTX_ORQ_NOT_FULL_RULE_EN_SHIFT 58940#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED8_MASK 0x18941#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED8_SHIFT 68942#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED9_MASK 0x18943#define XSTORM_IWARP_CONN_AG_CTX_A0_RESERVED9_SHIFT 78944 u8 flags14;8945#define XSTORM_IWARP_CONN_AG_CTX_BIT16_MASK 0x18946#define XSTORM_IWARP_CONN_AG_CTX_BIT16_SHIFT 08947#define XSTORM_IWARP_CONN_AG_CTX_BIT17_MASK 0x18948#define XSTORM_IWARP_CONN_AG_CTX_BIT17_SHIFT 18949#define XSTORM_IWARP_CONN_AG_CTX_BIT18_MASK 0x18950#define XSTORM_IWARP_CONN_AG_CTX_BIT18_SHIFT 28951#define XSTORM_IWARP_CONN_AG_CTX_E5_RESERVED1_MASK 0x18952#define XSTORM_IWARP_CONN_AG_CTX_E5_RESERVED1_SHIFT 38953#define XSTORM_IWARP_CONN_AG_CTX_E5_RESERVED2_MASK 0x18954#define XSTORM_IWARP_CONN_AG_CTX_E5_RESERVED2_SHIFT 48955#define XSTORM_IWARP_CONN_AG_CTX_E5_RESERVED3_MASK 0x18956#define XSTORM_IWARP_CONN_AG_CTX_E5_RESERVED3_SHIFT 58957#define XSTORM_IWARP_CONN_AG_CTX_SEND_TERMINATE_CF_MASK 0x38958#define XSTORM_IWARP_CONN_AG_CTX_SEND_TERMINATE_CF_SHIFT 68959 u8 byte2;8960 __le16 physical_q0;8961 __le16 physical_q1;8962 __le16 sq_comp_cons;8963 __le16 sq_tx_cons;8964 __le16 sq_prod;8965 __le16 word5;8966 __le16 conn_dpi;8967 u8 byte3;8968 u8 byte4;8969 u8 byte5;8970 u8 byte6;8971 __le32 reg0;8972 __le32 reg1;8973 __le32 reg2;8974 __le32 more_to_send_seq;8975 __le32 reg4;8976 __le32 rewinded_snd_max_or_term_opcode;8977 __le32 rd_msn;8978 __le16 irq_prod_via_msdm;8979 __le16 irq_cons;8980 __le16 hq_cons_th_or_mpa_data;8981 __le16 hq_cons;8982 __le32 atom_msn;8983 __le32 orq_cons;8984 __le32 orq_cons_th;8985 u8 byte7;8986 u8 wqe_data_pad_bytes;8987 u8 max_ord;8988 u8 former_hq_prod;8989 u8 irq_prod_via_msem;8990 u8 byte12;8991 u8 max_pkt_pdu_size_lo;8992 u8 max_pkt_pdu_size_hi;8993 u8 byte15;8994 u8 e5_reserved;8995 __le16 e5_reserved4;8996 __le32 reg10;8997 __le32 reg11;8998 __le32 shared_queue_page_addr_lo;8999 __le32 shared_queue_page_addr_hi;9000 __le32 reg14;9001 __le32 reg15;9002 __le32 reg16;9003 __le32 reg17;9004};9005 9006struct tstorm_iwarp_conn_ag_ctx {9007 u8 reserved0;9008 u8 state;9009 u8 flags0;9010#define TSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x19011#define TSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 09012#define TSTORM_IWARP_CONN_AG_CTX_BIT1_MASK 0x19013#define TSTORM_IWARP_CONN_AG_CTX_BIT1_SHIFT 19014#define TSTORM_IWARP_CONN_AG_CTX_BIT2_MASK 0x19015#define TSTORM_IWARP_CONN_AG_CTX_BIT2_SHIFT 29016#define TSTORM_IWARP_CONN_AG_CTX_MSTORM_FLUSH_OR_TERMINATE_SENT_MASK 0x19017#define TSTORM_IWARP_CONN_AG_CTX_MSTORM_FLUSH_OR_TERMINATE_SENT_SHIFT 39018#define TSTORM_IWARP_CONN_AG_CTX_BIT4_MASK 0x19019#define TSTORM_IWARP_CONN_AG_CTX_BIT4_SHIFT 49020#define TSTORM_IWARP_CONN_AG_CTX_CACHED_ORQ_MASK 0x19021#define TSTORM_IWARP_CONN_AG_CTX_CACHED_ORQ_SHIFT 59022#define TSTORM_IWARP_CONN_AG_CTX_CF0_MASK 0x39023#define TSTORM_IWARP_CONN_AG_CTX_CF0_SHIFT 69024 u8 flags1;9025#define TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_MASK 0x39026#define TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_SHIFT 09027#define TSTORM_IWARP_CONN_AG_CTX_MPA_TIMEOUT_CF_MASK 0x39028#define TSTORM_IWARP_CONN_AG_CTX_MPA_TIMEOUT_CF_SHIFT 29029#define TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x39030#define TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 49031#define TSTORM_IWARP_CONN_AG_CTX_CF4_MASK 0x39032#define TSTORM_IWARP_CONN_AG_CTX_CF4_SHIFT 69033 u8 flags2;9034#define TSTORM_IWARP_CONN_AG_CTX_CF5_MASK 0x39035#define TSTORM_IWARP_CONN_AG_CTX_CF5_SHIFT 09036#define TSTORM_IWARP_CONN_AG_CTX_CF6_MASK 0x39037#define TSTORM_IWARP_CONN_AG_CTX_CF6_SHIFT 29038#define TSTORM_IWARP_CONN_AG_CTX_CF7_MASK 0x39039#define TSTORM_IWARP_CONN_AG_CTX_CF7_SHIFT 49040#define TSTORM_IWARP_CONN_AG_CTX_CF8_MASK 0x39041#define TSTORM_IWARP_CONN_AG_CTX_CF8_SHIFT 69042 u8 flags3;9043#define TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_AND_TCP_HANDSHAKE_COMPLETE_MASK 0x39044#define TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_AND_TCP_HANDSHAKE_COMPLETE_SHIFT 09045#define TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_MASK 0x39046#define TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_SHIFT 29047#define TSTORM_IWARP_CONN_AG_CTX_CF0EN_MASK 0x19048#define TSTORM_IWARP_CONN_AG_CTX_CF0EN_SHIFT 49049#define TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_EN_MASK 0x19050#define TSTORM_IWARP_CONN_AG_CTX_RQ_POST_CF_EN_SHIFT 59051#define TSTORM_IWARP_CONN_AG_CTX_MPA_TIMEOUT_CF_EN_MASK 0x19052#define TSTORM_IWARP_CONN_AG_CTX_MPA_TIMEOUT_CF_EN_SHIFT 69053#define TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x19054#define TSTORM_IWARP_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 79055 u8 flags4;9056#define TSTORM_IWARP_CONN_AG_CTX_CF4EN_MASK 0x19057#define TSTORM_IWARP_CONN_AG_CTX_CF4EN_SHIFT 09058#define TSTORM_IWARP_CONN_AG_CTX_CF5EN_MASK 0x19059#define TSTORM_IWARP_CONN_AG_CTX_CF5EN_SHIFT 19060#define TSTORM_IWARP_CONN_AG_CTX_CF6EN_MASK 0x19061#define TSTORM_IWARP_CONN_AG_CTX_CF6EN_SHIFT 29062#define TSTORM_IWARP_CONN_AG_CTX_CF7EN_MASK 0x19063#define TSTORM_IWARP_CONN_AG_CTX_CF7EN_SHIFT 39064#define TSTORM_IWARP_CONN_AG_CTX_CF8EN_MASK 0x19065#define TSTORM_IWARP_CONN_AG_CTX_CF8EN_SHIFT 49066#define TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_AND_TCP_HANDSHAKE_COMPL_EN_MASK 0x19067#define TSTORM_IWARP_CONN_AG_CTX_FLUSH_Q0_AND_TCP_HANDSHAKE_COMPL_EN_SHIFT 59068#define TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_EN_MASK 0x19069#define TSTORM_IWARP_CONN_AG_CTX_FLUSH_OR_ERROR_DETECTED_EN_SHIFT 69070#define TSTORM_IWARP_CONN_AG_CTX_RULE0EN_MASK 0x19071#define TSTORM_IWARP_CONN_AG_CTX_RULE0EN_SHIFT 79072 u8 flags5;9073#define TSTORM_IWARP_CONN_AG_CTX_RULE1EN_MASK 0x19074#define TSTORM_IWARP_CONN_AG_CTX_RULE1EN_SHIFT 09075#define TSTORM_IWARP_CONN_AG_CTX_RULE2EN_MASK 0x19076#define TSTORM_IWARP_CONN_AG_CTX_RULE2EN_SHIFT 19077#define TSTORM_IWARP_CONN_AG_CTX_RULE3EN_MASK 0x19078#define TSTORM_IWARP_CONN_AG_CTX_RULE3EN_SHIFT 29079#define TSTORM_IWARP_CONN_AG_CTX_RULE4EN_MASK 0x19080#define TSTORM_IWARP_CONN_AG_CTX_RULE4EN_SHIFT 39081#define TSTORM_IWARP_CONN_AG_CTX_RULE5EN_MASK 0x19082#define TSTORM_IWARP_CONN_AG_CTX_RULE5EN_SHIFT 49083#define TSTORM_IWARP_CONN_AG_CTX_SND_SQ_CONS_RULE_MASK 0x19084#define TSTORM_IWARP_CONN_AG_CTX_SND_SQ_CONS_RULE_SHIFT 59085#define TSTORM_IWARP_CONN_AG_CTX_RULE7EN_MASK 0x19086#define TSTORM_IWARP_CONN_AG_CTX_RULE7EN_SHIFT 69087#define TSTORM_IWARP_CONN_AG_CTX_RULE8EN_MASK 0x19088#define TSTORM_IWARP_CONN_AG_CTX_RULE8EN_SHIFT 79089 __le32 reg0;9090 __le32 reg1;9091 __le32 unaligned_nxt_seq;9092 __le32 reg3;9093 __le32 reg4;9094 __le32 reg5;9095 __le32 reg6;9096 __le32 reg7;9097 __le32 reg8;9098 u8 orq_cache_idx;9099 u8 hq_prod;9100 __le16 sq_tx_cons_th;9101 u8 orq_prod;9102 u8 irq_cons;9103 __le16 sq_tx_cons;9104 __le16 conn_dpi;9105 __le16 rq_prod;9106 __le32 snd_seq;9107 __le32 last_hq_sequence;9108};9109 9110/* The iwarp storm context of Tstorm */9111struct tstorm_iwarp_conn_st_ctx {9112 __le32 reserved[60];9113};9114 9115/* The iwarp storm context of Mstorm */9116struct mstorm_iwarp_conn_st_ctx {9117 __le32 reserved[32];9118};9119 9120/* The iwarp storm context of Ustorm */9121struct ustorm_iwarp_conn_st_ctx {9122 struct regpair reserved[14];9123};9124 9125/* iwarp connection context */9126struct iwarp_conn_context {9127 struct ystorm_iwarp_conn_st_ctx ystorm_st_context;9128 struct regpair ystorm_st_padding[2];9129 struct pstorm_iwarp_conn_st_ctx pstorm_st_context;9130 struct regpair pstorm_st_padding[2];9131 struct xstorm_iwarp_conn_st_ctx xstorm_st_context;9132 struct xstorm_iwarp_conn_ag_ctx xstorm_ag_context;9133 struct tstorm_iwarp_conn_ag_ctx tstorm_ag_context;9134 struct timers_context timer_context;9135 struct ustorm_rdma_conn_ag_ctx ustorm_ag_context;9136 struct tstorm_iwarp_conn_st_ctx tstorm_st_context;9137 struct regpair tstorm_st_padding[2];9138 struct mstorm_iwarp_conn_st_ctx mstorm_st_context;9139 struct ustorm_iwarp_conn_st_ctx ustorm_st_context;9140 struct regpair ustorm_st_padding[2];9141};9142 9143/* iWARP create QP params passed by driver to FW in CreateQP Request Ramrod */9144struct iwarp_create_qp_ramrod_data {9145 u8 flags;9146#define IWARP_CREATE_QP_RAMROD_DATA_FMR_AND_RESERVED_EN_MASK 0x19147#define IWARP_CREATE_QP_RAMROD_DATA_FMR_AND_RESERVED_EN_SHIFT 09148#define IWARP_CREATE_QP_RAMROD_DATA_SIGNALED_COMP_MASK 0x19149#define IWARP_CREATE_QP_RAMROD_DATA_SIGNALED_COMP_SHIFT 19150#define IWARP_CREATE_QP_RAMROD_DATA_RDMA_RD_EN_MASK 0x19151#define IWARP_CREATE_QP_RAMROD_DATA_RDMA_RD_EN_SHIFT 29152#define IWARP_CREATE_QP_RAMROD_DATA_RDMA_WR_EN_MASK 0x19153#define IWARP_CREATE_QP_RAMROD_DATA_RDMA_WR_EN_SHIFT 39154#define IWARP_CREATE_QP_RAMROD_DATA_ATOMIC_EN_MASK 0x19155#define IWARP_CREATE_QP_RAMROD_DATA_ATOMIC_EN_SHIFT 49156#define IWARP_CREATE_QP_RAMROD_DATA_SRQ_FLG_MASK 0x19157#define IWARP_CREATE_QP_RAMROD_DATA_SRQ_FLG_SHIFT 59158#define IWARP_CREATE_QP_RAMROD_DATA_LOW_LATENCY_QUEUE_EN_MASK 0x19159#define IWARP_CREATE_QP_RAMROD_DATA_LOW_LATENCY_QUEUE_EN_SHIFT 69160#define IWARP_CREATE_QP_RAMROD_DATA_RESERVED0_MASK 0x19161#define IWARP_CREATE_QP_RAMROD_DATA_RESERVED0_SHIFT 79162 u8 reserved1;9163 __le16 pd;9164 __le16 sq_num_pages;9165 __le16 rq_num_pages;9166 __le32 reserved3[2];9167 struct regpair qp_handle_for_cqe;9168 struct rdma_srq_id srq_id;9169 __le32 cq_cid_for_sq;9170 __le32 cq_cid_for_rq;9171 __le16 dpi;9172 __le16 physical_q0;9173 __le16 physical_q1;9174 u8 reserved2[6];9175};9176 9177/* iWARP completion queue types */9178enum iwarp_eqe_async_opcode {9179 IWARP_EVENT_TYPE_ASYNC_CONNECT_COMPLETE,9180 IWARP_EVENT_TYPE_ASYNC_ENHANCED_MPA_REPLY_ARRIVED,9181 IWARP_EVENT_TYPE_ASYNC_MPA_HANDSHAKE_COMPLETE,9182 IWARP_EVENT_TYPE_ASYNC_CID_CLEANED,9183 IWARP_EVENT_TYPE_ASYNC_EXCEPTION_DETECTED,9184 IWARP_EVENT_TYPE_ASYNC_QP_IN_ERROR_STATE,9185 IWARP_EVENT_TYPE_ASYNC_CQ_OVERFLOW,9186 IWARP_EVENT_TYPE_ASYNC_SRQ_LIMIT,9187 IWARP_EVENT_TYPE_ASYNC_SRQ_EMPTY,9188 MAX_IWARP_EQE_ASYNC_OPCODE9189};9190 9191struct iwarp_eqe_data_mpa_async_completion {9192 __le16 ulp_data_len;9193 u8 rtr_type_sent;9194 u8 reserved[5];9195};9196 9197struct iwarp_eqe_data_tcp_async_completion {9198 __le16 ulp_data_len;9199 u8 mpa_handshake_mode;9200 u8 reserved[5];9201};9202 9203/* iWARP completion queue types */9204enum iwarp_eqe_sync_opcode {9205 IWARP_EVENT_TYPE_TCP_OFFLOAD = 13,9206 IWARP_EVENT_TYPE_MPA_OFFLOAD,9207 IWARP_EVENT_TYPE_MPA_OFFLOAD_SEND_RTR,9208 IWARP_EVENT_TYPE_CREATE_QP,9209 IWARP_EVENT_TYPE_QUERY_QP,9210 IWARP_EVENT_TYPE_MODIFY_QP,9211 IWARP_EVENT_TYPE_DESTROY_QP,9212 IWARP_EVENT_TYPE_ABORT_TCP_OFFLOAD,9213 MAX_IWARP_EQE_SYNC_OPCODE9214};9215 9216/* iWARP EQE completion status */9217enum iwarp_fw_return_code {9218 IWARP_CONN_ERROR_TCP_CONNECT_INVALID_PACKET = 6,9219 IWARP_CONN_ERROR_TCP_CONNECTION_RST,9220 IWARP_CONN_ERROR_TCP_CONNECT_TIMEOUT,9221 IWARP_CONN_ERROR_MPA_ERROR_REJECT,9222 IWARP_CONN_ERROR_MPA_NOT_SUPPORTED_VER,9223 IWARP_CONN_ERROR_MPA_RST,9224 IWARP_CONN_ERROR_MPA_FIN,9225 IWARP_CONN_ERROR_MPA_RTR_MISMATCH,9226 IWARP_CONN_ERROR_MPA_INSUF_IRD,9227 IWARP_CONN_ERROR_MPA_INVALID_PACKET,9228 IWARP_CONN_ERROR_MPA_LOCAL_ERROR,9229 IWARP_CONN_ERROR_MPA_TIMEOUT,9230 IWARP_CONN_ERROR_MPA_TERMINATE,9231 IWARP_QP_IN_ERROR_GOOD_CLOSE,9232 IWARP_QP_IN_ERROR_BAD_CLOSE,9233 IWARP_EXCEPTION_DETECTED_LLP_CLOSED,9234 IWARP_EXCEPTION_DETECTED_LLP_RESET,9235 IWARP_EXCEPTION_DETECTED_IRQ_FULL,9236 IWARP_EXCEPTION_DETECTED_RQ_EMPTY,9237 IWARP_EXCEPTION_DETECTED_LLP_TIMEOUT,9238 IWARP_EXCEPTION_DETECTED_REMOTE_PROTECTION_ERROR,9239 IWARP_EXCEPTION_DETECTED_CQ_OVERFLOW,9240 IWARP_EXCEPTION_DETECTED_LOCAL_CATASTROPHIC,9241 IWARP_EXCEPTION_DETECTED_LOCAL_ACCESS_ERROR,9242 IWARP_EXCEPTION_DETECTED_REMOTE_OPERATION_ERROR,9243 IWARP_EXCEPTION_DETECTED_TERMINATE_RECEIVED,9244 MAX_IWARP_FW_RETURN_CODE9245};9246 9247/* unaligned opaque data received from LL2 */9248struct iwarp_init_func_params {9249 u8 ll2_ooo_q_index;9250 u8 reserved1[7];9251};9252 9253/* iwarp func init ramrod data */9254struct iwarp_init_func_ramrod_data {9255 struct rdma_init_func_ramrod_data rdma;9256 struct tcp_init_params tcp;9257 struct iwarp_init_func_params iwarp;9258};9259 9260/* iWARP QP - possible states to transition to */9261enum iwarp_modify_qp_new_state_type {9262 IWARP_MODIFY_QP_STATE_CLOSING = 1,9263 IWARP_MODIFY_QP_STATE_ERROR = 2,9264 MAX_IWARP_MODIFY_QP_NEW_STATE_TYPE9265};9266 9267/* iwarp modify qp responder ramrod data */9268struct iwarp_modify_qp_ramrod_data {9269 __le16 transition_to_state;9270 __le16 flags;9271#define IWARP_MODIFY_QP_RAMROD_DATA_RDMA_RD_EN_MASK 0x19272#define IWARP_MODIFY_QP_RAMROD_DATA_RDMA_RD_EN_SHIFT 09273#define IWARP_MODIFY_QP_RAMROD_DATA_RDMA_WR_EN_MASK 0x19274#define IWARP_MODIFY_QP_RAMROD_DATA_RDMA_WR_EN_SHIFT 19275#define IWARP_MODIFY_QP_RAMROD_DATA_ATOMIC_EN_MASK 0x19276#define IWARP_MODIFY_QP_RAMROD_DATA_ATOMIC_EN_SHIFT 29277#define IWARP_MODIFY_QP_RAMROD_DATA_STATE_TRANS_EN_MASK 0x19278#define IWARP_MODIFY_QP_RAMROD_DATA_STATE_TRANS_EN_SHIFT 39279#define IWARP_MODIFY_QP_RAMROD_DATA_RDMA_OPS_EN_FLG_MASK 0x19280#define IWARP_MODIFY_QP_RAMROD_DATA_RDMA_OPS_EN_FLG_SHIFT 49281#define IWARP_MODIFY_QP_RAMROD_DATA_PHYSICAL_QUEUE_FLG_MASK 0x19282#define IWARP_MODIFY_QP_RAMROD_DATA_PHYSICAL_QUEUE_FLG_SHIFT 59283#define IWARP_MODIFY_QP_RAMROD_DATA_RESERVED_MASK 0x3FF9284#define IWARP_MODIFY_QP_RAMROD_DATA_RESERVED_SHIFT 69285 __le16 physical_q0;9286 __le16 physical_q1;9287 __le32 reserved1[10];9288};9289 9290/* MPA params for Enhanced mode */9291struct mpa_rq_params {9292 __le32 ird;9293 __le32 ord;9294};9295 9296/* MPA host Address-Len for private data */9297struct mpa_ulp_buffer {9298 struct regpair addr;9299 __le16 len;9300 __le16 reserved[3];9301};9302 9303/* iWARP MPA offload params common to Basic and Enhanced modes */9304struct mpa_outgoing_params {9305 u8 crc_needed;9306 u8 reject;9307 u8 reserved[6];9308 struct mpa_rq_params out_rq;9309 struct mpa_ulp_buffer outgoing_ulp_buffer;9310};9311 9312/* iWARP MPA offload params passed by driver to FW in MPA Offload Request9313 * Ramrod.9314 */9315struct iwarp_mpa_offload_ramrod_data {9316 struct mpa_outgoing_params common;9317 __le32 tcp_cid;9318 u8 mode;9319 u8 tcp_connect_side;9320 u8 rtr_pref;9321#define IWARP_MPA_OFFLOAD_RAMROD_DATA_RTR_SUPPORTED_MASK 0x79322#define IWARP_MPA_OFFLOAD_RAMROD_DATA_RTR_SUPPORTED_SHIFT 09323#define IWARP_MPA_OFFLOAD_RAMROD_DATA_RESERVED1_MASK 0x1F9324#define IWARP_MPA_OFFLOAD_RAMROD_DATA_RESERVED1_SHIFT 39325 u8 reserved2;9326 struct mpa_ulp_buffer incoming_ulp_buffer;9327 struct regpair async_eqe_output_buf;9328 struct regpair handle_for_async;9329 struct regpair shared_queue_addr;9330 __le32 additional_setup_time;9331 __le16 rcv_wnd;9332 u8 stats_counter_id;9333 u8 reserved3[9];9334};9335 9336/* iWARP TCP connection offload params passed by driver to FW */9337struct iwarp_offload_params {9338 struct mpa_ulp_buffer incoming_ulp_buffer;9339 struct regpair async_eqe_output_buf;9340 struct regpair handle_for_async;9341 __le32 additional_setup_time;9342 __le16 physical_q0;9343 __le16 physical_q1;9344 u8 stats_counter_id;9345 u8 mpa_mode;9346 u8 src_vport_id;9347 u8 reserved[5];9348};9349 9350/* iWARP query QP output params */9351struct iwarp_query_qp_output_params {9352 __le32 flags;9353#define IWARP_QUERY_QP_OUTPUT_PARAMS_ERROR_FLG_MASK 0x19354#define IWARP_QUERY_QP_OUTPUT_PARAMS_ERROR_FLG_SHIFT 09355#define IWARP_QUERY_QP_OUTPUT_PARAMS_RESERVED0_MASK 0x7FFFFFFF9356#define IWARP_QUERY_QP_OUTPUT_PARAMS_RESERVED0_SHIFT 19357 u8 reserved1[4];9358};9359 9360/* iWARP query QP ramrod data */9361struct iwarp_query_qp_ramrod_data {9362 struct regpair output_params_addr;9363};9364 9365/* iWARP Ramrod Command IDs */9366enum iwarp_ramrod_cmd_id {9367 IWARP_RAMROD_CMD_ID_TCP_OFFLOAD = 13,9368 IWARP_RAMROD_CMD_ID_MPA_OFFLOAD,9369 IWARP_RAMROD_CMD_ID_MPA_OFFLOAD_SEND_RTR,9370 IWARP_RAMROD_CMD_ID_CREATE_QP,9371 IWARP_RAMROD_CMD_ID_QUERY_QP,9372 IWARP_RAMROD_CMD_ID_MODIFY_QP,9373 IWARP_RAMROD_CMD_ID_DESTROY_QP,9374 IWARP_RAMROD_CMD_ID_ABORT_TCP_OFFLOAD,9375 MAX_IWARP_RAMROD_CMD_ID9376};9377 9378/* Per PF iWARP retransmit path statistics */9379struct iwarp_rxmit_stats_drv {9380 struct regpair tx_go_to_slow_start_event_cnt;9381 struct regpair tx_fast_retransmit_event_cnt;9382};9383 9384/* iWARP and TCP connection offload params passed by driver to FW in iWARP9385 * offload ramrod.9386 */9387struct iwarp_tcp_offload_ramrod_data {9388 struct tcp_offload_params_opt2 tcp;9389 struct iwarp_offload_params iwarp;9390};9391 9392/* iWARP MPA negotiation types */9393enum mpa_negotiation_mode {9394 MPA_NEGOTIATION_TYPE_BASIC = 1,9395 MPA_NEGOTIATION_TYPE_ENHANCED = 2,9396 MAX_MPA_NEGOTIATION_MODE9397};9398 9399/* iWARP MPA Enhanced mode RTR types */9400enum mpa_rtr_type {9401 MPA_RTR_TYPE_NONE = 0,9402 MPA_RTR_TYPE_ZERO_SEND = 1,9403 MPA_RTR_TYPE_ZERO_WRITE = 2,9404 MPA_RTR_TYPE_ZERO_SEND_AND_WRITE = 3,9405 MPA_RTR_TYPE_ZERO_READ = 4,9406 MPA_RTR_TYPE_ZERO_SEND_AND_READ = 5,9407 MPA_RTR_TYPE_ZERO_WRITE_AND_READ = 6,9408 MPA_RTR_TYPE_ZERO_SEND_AND_WRITE_AND_READ = 7,9409 MAX_MPA_RTR_TYPE9410};9411 9412/* unaligned opaque data received from LL2 */9413struct unaligned_opaque_data {9414 __le16 first_mpa_offset;9415 u8 tcp_payload_offset;9416 u8 flags;9417#define UNALIGNED_OPAQUE_DATA_PKT_REACHED_WIN_RIGHT_EDGE_MASK 0x19418#define UNALIGNED_OPAQUE_DATA_PKT_REACHED_WIN_RIGHT_EDGE_SHIFT 09419#define UNALIGNED_OPAQUE_DATA_CONNECTION_CLOSED_MASK 0x19420#define UNALIGNED_OPAQUE_DATA_CONNECTION_CLOSED_SHIFT 19421#define UNALIGNED_OPAQUE_DATA_RESERVED_MASK 0x3F9422#define UNALIGNED_OPAQUE_DATA_RESERVED_SHIFT 29423 __le32 cid;9424};9425 9426struct mstorm_iwarp_conn_ag_ctx {9427 u8 reserved;9428 u8 state;9429 u8 flags0;9430#define MSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x19431#define MSTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 09432#define MSTORM_IWARP_CONN_AG_CTX_BIT1_MASK 0x19433#define MSTORM_IWARP_CONN_AG_CTX_BIT1_SHIFT 19434#define MSTORM_IWARP_CONN_AG_CTX_INV_STAG_DONE_CF_MASK 0x39435#define MSTORM_IWARP_CONN_AG_CTX_INV_STAG_DONE_CF_SHIFT 29436#define MSTORM_IWARP_CONN_AG_CTX_CF1_MASK 0x39437#define MSTORM_IWARP_CONN_AG_CTX_CF1_SHIFT 49438#define MSTORM_IWARP_CONN_AG_CTX_CF2_MASK 0x39439#define MSTORM_IWARP_CONN_AG_CTX_CF2_SHIFT 69440 u8 flags1;9441#define MSTORM_IWARP_CONN_AG_CTX_INV_STAG_DONE_CF_EN_MASK 0x19442#define MSTORM_IWARP_CONN_AG_CTX_INV_STAG_DONE_CF_EN_SHIFT 09443#define MSTORM_IWARP_CONN_AG_CTX_CF1EN_MASK 0x19444#define MSTORM_IWARP_CONN_AG_CTX_CF1EN_SHIFT 19445#define MSTORM_IWARP_CONN_AG_CTX_CF2EN_MASK 0x19446#define MSTORM_IWARP_CONN_AG_CTX_CF2EN_SHIFT 29447#define MSTORM_IWARP_CONN_AG_CTX_RULE0EN_MASK 0x19448#define MSTORM_IWARP_CONN_AG_CTX_RULE0EN_SHIFT 39449#define MSTORM_IWARP_CONN_AG_CTX_RULE1EN_MASK 0x19450#define MSTORM_IWARP_CONN_AG_CTX_RULE1EN_SHIFT 49451#define MSTORM_IWARP_CONN_AG_CTX_RULE2EN_MASK 0x19452#define MSTORM_IWARP_CONN_AG_CTX_RULE2EN_SHIFT 59453#define MSTORM_IWARP_CONN_AG_CTX_RCQ_CONS_EN_MASK 0x19454#define MSTORM_IWARP_CONN_AG_CTX_RCQ_CONS_EN_SHIFT 69455#define MSTORM_IWARP_CONN_AG_CTX_RULE4EN_MASK 0x19456#define MSTORM_IWARP_CONN_AG_CTX_RULE4EN_SHIFT 79457 __le16 rcq_cons;9458 __le16 rcq_cons_th;9459 __le32 reg0;9460 __le32 reg1;9461};9462 9463struct ustorm_iwarp_conn_ag_ctx {9464 u8 reserved;9465 u8 byte1;9466 u8 flags0;9467#define USTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x19468#define USTORM_IWARP_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 09469#define USTORM_IWARP_CONN_AG_CTX_BIT1_MASK 0x19470#define USTORM_IWARP_CONN_AG_CTX_BIT1_SHIFT 19471#define USTORM_IWARP_CONN_AG_CTX_CF0_MASK 0x39472#define USTORM_IWARP_CONN_AG_CTX_CF0_SHIFT 29473#define USTORM_IWARP_CONN_AG_CTX_CF1_MASK 0x39474#define USTORM_IWARP_CONN_AG_CTX_CF1_SHIFT 49475#define USTORM_IWARP_CONN_AG_CTX_CF2_MASK 0x39476#define USTORM_IWARP_CONN_AG_CTX_CF2_SHIFT 69477 u8 flags1;9478#define USTORM_IWARP_CONN_AG_CTX_CF3_MASK 0x39479#define USTORM_IWARP_CONN_AG_CTX_CF3_SHIFT 09480#define USTORM_IWARP_CONN_AG_CTX_CQ_ARM_SE_CF_MASK 0x39481#define USTORM_IWARP_CONN_AG_CTX_CQ_ARM_SE_CF_SHIFT 29482#define USTORM_IWARP_CONN_AG_CTX_CQ_ARM_CF_MASK 0x39483#define USTORM_IWARP_CONN_AG_CTX_CQ_ARM_CF_SHIFT 49484#define USTORM_IWARP_CONN_AG_CTX_CF6_MASK 0x39485#define USTORM_IWARP_CONN_AG_CTX_CF6_SHIFT 69486 u8 flags2;9487#define USTORM_IWARP_CONN_AG_CTX_CF0EN_MASK 0x19488#define USTORM_IWARP_CONN_AG_CTX_CF0EN_SHIFT 09489#define USTORM_IWARP_CONN_AG_CTX_CF1EN_MASK 0x19490#define USTORM_IWARP_CONN_AG_CTX_CF1EN_SHIFT 19491#define USTORM_IWARP_CONN_AG_CTX_CF2EN_MASK 0x19492#define USTORM_IWARP_CONN_AG_CTX_CF2EN_SHIFT 29493#define USTORM_IWARP_CONN_AG_CTX_CF3EN_MASK 0x19494#define USTORM_IWARP_CONN_AG_CTX_CF3EN_SHIFT 39495#define USTORM_IWARP_CONN_AG_CTX_CQ_ARM_SE_CF_EN_MASK 0x19496#define USTORM_IWARP_CONN_AG_CTX_CQ_ARM_SE_CF_EN_SHIFT 49497#define USTORM_IWARP_CONN_AG_CTX_CQ_ARM_CF_EN_MASK 0x19498#define USTORM_IWARP_CONN_AG_CTX_CQ_ARM_CF_EN_SHIFT 59499#define USTORM_IWARP_CONN_AG_CTX_CF6EN_MASK 0x19500#define USTORM_IWARP_CONN_AG_CTX_CF6EN_SHIFT 69501#define USTORM_IWARP_CONN_AG_CTX_CQ_SE_EN_MASK 0x19502#define USTORM_IWARP_CONN_AG_CTX_CQ_SE_EN_SHIFT 79503 u8 flags3;9504#define USTORM_IWARP_CONN_AG_CTX_CQ_EN_MASK 0x19505#define USTORM_IWARP_CONN_AG_CTX_CQ_EN_SHIFT 09506#define USTORM_IWARP_CONN_AG_CTX_RULE2EN_MASK 0x19507#define USTORM_IWARP_CONN_AG_CTX_RULE2EN_SHIFT 19508#define USTORM_IWARP_CONN_AG_CTX_RULE3EN_MASK 0x19509#define USTORM_IWARP_CONN_AG_CTX_RULE3EN_SHIFT 29510#define USTORM_IWARP_CONN_AG_CTX_RULE4EN_MASK 0x19511#define USTORM_IWARP_CONN_AG_CTX_RULE4EN_SHIFT 39512#define USTORM_IWARP_CONN_AG_CTX_RULE5EN_MASK 0x19513#define USTORM_IWARP_CONN_AG_CTX_RULE5EN_SHIFT 49514#define USTORM_IWARP_CONN_AG_CTX_RULE6EN_MASK 0x19515#define USTORM_IWARP_CONN_AG_CTX_RULE6EN_SHIFT 59516#define USTORM_IWARP_CONN_AG_CTX_RULE7EN_MASK 0x19517#define USTORM_IWARP_CONN_AG_CTX_RULE7EN_SHIFT 69518#define USTORM_IWARP_CONN_AG_CTX_RULE8EN_MASK 0x19519#define USTORM_IWARP_CONN_AG_CTX_RULE8EN_SHIFT 79520 u8 byte2;9521 u8 byte3;9522 __le16 word0;9523 __le16 word1;9524 __le32 cq_cons;9525 __le32 cq_se_prod;9526 __le32 cq_prod;9527 __le32 reg3;9528 __le16 word2;9529 __le16 word3;9530};9531 9532struct ystorm_iwarp_conn_ag_ctx {9533 u8 byte0;9534 u8 byte1;9535 u8 flags0;9536#define YSTORM_IWARP_CONN_AG_CTX_BIT0_MASK 0x19537#define YSTORM_IWARP_CONN_AG_CTX_BIT0_SHIFT 09538#define YSTORM_IWARP_CONN_AG_CTX_BIT1_MASK 0x19539#define YSTORM_IWARP_CONN_AG_CTX_BIT1_SHIFT 19540#define YSTORM_IWARP_CONN_AG_CTX_CF0_MASK 0x39541#define YSTORM_IWARP_CONN_AG_CTX_CF0_SHIFT 29542#define YSTORM_IWARP_CONN_AG_CTX_CF1_MASK 0x39543#define YSTORM_IWARP_CONN_AG_CTX_CF1_SHIFT 49544#define YSTORM_IWARP_CONN_AG_CTX_CF2_MASK 0x39545#define YSTORM_IWARP_CONN_AG_CTX_CF2_SHIFT 69546 u8 flags1;9547#define YSTORM_IWARP_CONN_AG_CTX_CF0EN_MASK 0x19548#define YSTORM_IWARP_CONN_AG_CTX_CF0EN_SHIFT 09549#define YSTORM_IWARP_CONN_AG_CTX_CF1EN_MASK 0x19550#define YSTORM_IWARP_CONN_AG_CTX_CF1EN_SHIFT 19551#define YSTORM_IWARP_CONN_AG_CTX_CF2EN_MASK 0x19552#define YSTORM_IWARP_CONN_AG_CTX_CF2EN_SHIFT 29553#define YSTORM_IWARP_CONN_AG_CTX_RULE0EN_MASK 0x19554#define YSTORM_IWARP_CONN_AG_CTX_RULE0EN_SHIFT 39555#define YSTORM_IWARP_CONN_AG_CTX_RULE1EN_MASK 0x19556#define YSTORM_IWARP_CONN_AG_CTX_RULE1EN_SHIFT 49557#define YSTORM_IWARP_CONN_AG_CTX_RULE2EN_MASK 0x19558#define YSTORM_IWARP_CONN_AG_CTX_RULE2EN_SHIFT 59559#define YSTORM_IWARP_CONN_AG_CTX_RULE3EN_MASK 0x19560#define YSTORM_IWARP_CONN_AG_CTX_RULE3EN_SHIFT 69561#define YSTORM_IWARP_CONN_AG_CTX_RULE4EN_MASK 0x19562#define YSTORM_IWARP_CONN_AG_CTX_RULE4EN_SHIFT 79563 u8 byte2;9564 u8 byte3;9565 __le16 word0;9566 __le32 reg0;9567 __le32 reg1;9568 __le16 word1;9569 __le16 word2;9570 __le16 word3;9571 __le16 word4;9572 __le32 reg2;9573 __le32 reg3;9574};9575 9576/* The fcoe storm context of Ystorm */9577struct ystorm_fcoe_conn_st_ctx {9578 u8 func_mode;9579 u8 cos;9580 u8 conf_version;9581 u8 eth_hdr_size;9582 __le16 stat_ram_addr;9583 __le16 mtu;9584 __le16 max_fc_payload_len;9585 __le16 tx_max_fc_pay_len;9586 u8 fcp_cmd_size;9587 u8 fcp_rsp_size;9588 __le16 mss;9589 struct regpair reserved;9590 __le16 min_frame_size;9591 u8 protection_info_flags;9592#define YSTORM_FCOE_CONN_ST_CTX_SUPPORT_PROTECTION_MASK 0x19593#define YSTORM_FCOE_CONN_ST_CTX_SUPPORT_PROTECTION_SHIFT 09594#define YSTORM_FCOE_CONN_ST_CTX_VALID_MASK 0x19595#define YSTORM_FCOE_CONN_ST_CTX_VALID_SHIFT 19596#define YSTORM_FCOE_CONN_ST_CTX_RESERVED1_MASK 0x3F9597#define YSTORM_FCOE_CONN_ST_CTX_RESERVED1_SHIFT 29598 u8 dst_protection_per_mss;9599 u8 src_protection_per_mss;9600 u8 ptu_log_page_size;9601 u8 flags;9602#define YSTORM_FCOE_CONN_ST_CTX_INNER_VLAN_FLAG_MASK 0x19603#define YSTORM_FCOE_CONN_ST_CTX_INNER_VLAN_FLAG_SHIFT 09604#define YSTORM_FCOE_CONN_ST_CTX_OUTER_VLAN_FLAG_MASK 0x19605#define YSTORM_FCOE_CONN_ST_CTX_OUTER_VLAN_FLAG_SHIFT 19606#define YSTORM_FCOE_CONN_ST_CTX_RSRV_MASK 0x3F9607#define YSTORM_FCOE_CONN_ST_CTX_RSRV_SHIFT 29608 u8 fcp_xfer_size;9609};9610 9611/* FCoE 16-bits vlan structure */9612struct fcoe_vlan_fields {9613 __le16 fields;9614#define FCOE_VLAN_FIELDS_VID_MASK 0xFFF9615#define FCOE_VLAN_FIELDS_VID_SHIFT 09616#define FCOE_VLAN_FIELDS_CLI_MASK 0x19617#define FCOE_VLAN_FIELDS_CLI_SHIFT 129618#define FCOE_VLAN_FIELDS_PRI_MASK 0x79619#define FCOE_VLAN_FIELDS_PRI_SHIFT 139620};9621 9622/* FCoE 16-bits vlan union */9623union fcoe_vlan_field_union {9624 struct fcoe_vlan_fields fields;9625 __le16 val;9626};9627 9628/* FCoE 16-bits vlan, vif union */9629union fcoe_vlan_vif_field_union {9630 union fcoe_vlan_field_union vlan;9631 __le16 vif;9632};9633 9634/* Ethernet context section */9635struct pstorm_fcoe_eth_context_section {9636 u8 remote_addr_3;9637 u8 remote_addr_2;9638 u8 remote_addr_1;9639 u8 remote_addr_0;9640 u8 local_addr_1;9641 u8 local_addr_0;9642 u8 remote_addr_5;9643 u8 remote_addr_4;9644 u8 local_addr_5;9645 u8 local_addr_4;9646 u8 local_addr_3;9647 u8 local_addr_2;9648 union fcoe_vlan_vif_field_union vif_outer_vlan;9649 __le16 vif_outer_eth_type;9650 union fcoe_vlan_vif_field_union inner_vlan;9651 __le16 inner_eth_type;9652};9653 9654/* The fcoe storm context of Pstorm */9655struct pstorm_fcoe_conn_st_ctx {9656 u8 func_mode;9657 u8 cos;9658 u8 conf_version;9659 u8 rsrv;9660 __le16 stat_ram_addr;9661 __le16 mss;9662 struct regpair abts_cleanup_addr;9663 struct pstorm_fcoe_eth_context_section eth;9664 u8 sid_2;9665 u8 sid_1;9666 u8 sid_0;9667 u8 flags;9668#define PSTORM_FCOE_CONN_ST_CTX_VNTAG_VLAN_MASK 0x19669#define PSTORM_FCOE_CONN_ST_CTX_VNTAG_VLAN_SHIFT 09670#define PSTORM_FCOE_CONN_ST_CTX_SUPPORT_REC_RR_TOV_MASK 0x19671#define PSTORM_FCOE_CONN_ST_CTX_SUPPORT_REC_RR_TOV_SHIFT 19672#define PSTORM_FCOE_CONN_ST_CTX_INNER_VLAN_FLAG_MASK 0x19673#define PSTORM_FCOE_CONN_ST_CTX_INNER_VLAN_FLAG_SHIFT 29674#define PSTORM_FCOE_CONN_ST_CTX_OUTER_VLAN_FLAG_MASK 0x19675#define PSTORM_FCOE_CONN_ST_CTX_OUTER_VLAN_FLAG_SHIFT 39676#define PSTORM_FCOE_CONN_ST_CTX_SINGLE_VLAN_FLAG_MASK 0x19677#define PSTORM_FCOE_CONN_ST_CTX_SINGLE_VLAN_FLAG_SHIFT 49678#define PSTORM_FCOE_CONN_ST_CTX_RESERVED_MASK 0x79679#define PSTORM_FCOE_CONN_ST_CTX_RESERVED_SHIFT 59680 u8 did_2;9681 u8 did_1;9682 u8 did_0;9683 u8 src_mac_index;9684 __le16 rec_rr_tov_val;9685 u8 q_relative_offset;9686 u8 reserved1;9687};9688 9689/* The fcoe storm context of Xstorm */9690struct xstorm_fcoe_conn_st_ctx {9691 u8 func_mode;9692 u8 src_mac_index;9693 u8 conf_version;9694 u8 cached_wqes_avail;9695 __le16 stat_ram_addr;9696 u8 flags;9697#define XSTORM_FCOE_CONN_ST_CTX_SQ_DEFERRED_MASK 0x19698#define XSTORM_FCOE_CONN_ST_CTX_SQ_DEFERRED_SHIFT 09699#define XSTORM_FCOE_CONN_ST_CTX_INNER_VLAN_FLAG_MASK 0x19700#define XSTORM_FCOE_CONN_ST_CTX_INNER_VLAN_FLAG_SHIFT 19701#define XSTORM_FCOE_CONN_ST_CTX_INNER_VLAN_FLAG_ORIG_MASK 0x19702#define XSTORM_FCOE_CONN_ST_CTX_INNER_VLAN_FLAG_ORIG_SHIFT 29703#define XSTORM_FCOE_CONN_ST_CTX_LAST_QUEUE_HANDLED_MASK 0x39704#define XSTORM_FCOE_CONN_ST_CTX_LAST_QUEUE_HANDLED_SHIFT 39705#define XSTORM_FCOE_CONN_ST_CTX_RSRV_MASK 0x79706#define XSTORM_FCOE_CONN_ST_CTX_RSRV_SHIFT 59707 u8 cached_wqes_offset;9708 u8 reserved2;9709 u8 eth_hdr_size;9710 u8 seq_id;9711 u8 max_conc_seqs;9712 __le16 num_pages_in_pbl;9713 __le16 reserved;9714 struct regpair sq_pbl_addr;9715 struct regpair sq_curr_page_addr;9716 struct regpair sq_next_page_addr;9717 struct regpair xferq_pbl_addr;9718 struct regpair xferq_curr_page_addr;9719 struct regpair xferq_next_page_addr;9720 struct regpair respq_pbl_addr;9721 struct regpair respq_curr_page_addr;9722 struct regpair respq_next_page_addr;9723 __le16 mtu;9724 __le16 tx_max_fc_pay_len;9725 __le16 max_fc_payload_len;9726 __le16 min_frame_size;9727 __le16 sq_pbl_next_index;9728 __le16 respq_pbl_next_index;9729 u8 fcp_cmd_byte_credit;9730 u8 fcp_rsp_byte_credit;9731 __le16 protection_info;9732#define XSTORM_FCOE_CONN_ST_CTX_PROTECTION_PERF_MASK 0x19733#define XSTORM_FCOE_CONN_ST_CTX_PROTECTION_PERF_SHIFT 09734#define XSTORM_FCOE_CONN_ST_CTX_SUPPORT_PROTECTION_MASK 0x19735#define XSTORM_FCOE_CONN_ST_CTX_SUPPORT_PROTECTION_SHIFT 19736#define XSTORM_FCOE_CONN_ST_CTX_VALID_MASK 0x19737#define XSTORM_FCOE_CONN_ST_CTX_VALID_SHIFT 29738#define XSTORM_FCOE_CONN_ST_CTX_FRAME_PROT_ALIGNED_MASK 0x19739#define XSTORM_FCOE_CONN_ST_CTX_FRAME_PROT_ALIGNED_SHIFT 39740#define XSTORM_FCOE_CONN_ST_CTX_RESERVED3_MASK 0xF9741#define XSTORM_FCOE_CONN_ST_CTX_RESERVED3_SHIFT 49742#define XSTORM_FCOE_CONN_ST_CTX_DST_PROTECTION_PER_MSS_MASK 0xFF9743#define XSTORM_FCOE_CONN_ST_CTX_DST_PROTECTION_PER_MSS_SHIFT 89744 __le16 xferq_pbl_next_index;9745 __le16 page_size;9746 u8 mid_seq;9747 u8 fcp_xfer_byte_credit;9748 u8 reserved1[2];9749 struct fcoe_wqe cached_wqes[16];9750};9751 9752struct xstorm_fcoe_conn_ag_ctx {9753 u8 reserved0;9754 u8 state;9755 u8 flags0;9756#define XSTORM_FCOE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x19757#define XSTORM_FCOE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 09758#define XSTORM_FCOE_CONN_AG_CTX_RESERVED1_MASK 0x19759#define XSTORM_FCOE_CONN_AG_CTX_RESERVED1_SHIFT 19760#define XSTORM_FCOE_CONN_AG_CTX_RESERVED2_MASK 0x19761#define XSTORM_FCOE_CONN_AG_CTX_RESERVED2_SHIFT 29762#define XSTORM_FCOE_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x19763#define XSTORM_FCOE_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 39764#define XSTORM_FCOE_CONN_AG_CTX_RESERVED3_MASK 0x19765#define XSTORM_FCOE_CONN_AG_CTX_RESERVED3_SHIFT 49766#define XSTORM_FCOE_CONN_AG_CTX_RESERVED4_MASK 0x19767#define XSTORM_FCOE_CONN_AG_CTX_RESERVED4_SHIFT 59768#define XSTORM_FCOE_CONN_AG_CTX_RESERVED5_MASK 0x19769#define XSTORM_FCOE_CONN_AG_CTX_RESERVED5_SHIFT 69770#define XSTORM_FCOE_CONN_AG_CTX_RESERVED6_MASK 0x19771#define XSTORM_FCOE_CONN_AG_CTX_RESERVED6_SHIFT 79772 u8 flags1;9773#define XSTORM_FCOE_CONN_AG_CTX_RESERVED7_MASK 0x19774#define XSTORM_FCOE_CONN_AG_CTX_RESERVED7_SHIFT 09775#define XSTORM_FCOE_CONN_AG_CTX_RESERVED8_MASK 0x19776#define XSTORM_FCOE_CONN_AG_CTX_RESERVED8_SHIFT 19777#define XSTORM_FCOE_CONN_AG_CTX_RESERVED9_MASK 0x19778#define XSTORM_FCOE_CONN_AG_CTX_RESERVED9_SHIFT 29779#define XSTORM_FCOE_CONN_AG_CTX_BIT11_MASK 0x19780#define XSTORM_FCOE_CONN_AG_CTX_BIT11_SHIFT 39781#define XSTORM_FCOE_CONN_AG_CTX_BIT12_MASK 0x19782#define XSTORM_FCOE_CONN_AG_CTX_BIT12_SHIFT 49783#define XSTORM_FCOE_CONN_AG_CTX_BIT13_MASK 0x19784#define XSTORM_FCOE_CONN_AG_CTX_BIT13_SHIFT 59785#define XSTORM_FCOE_CONN_AG_CTX_BIT14_MASK 0x19786#define XSTORM_FCOE_CONN_AG_CTX_BIT14_SHIFT 69787#define XSTORM_FCOE_CONN_AG_CTX_BIT15_MASK 0x19788#define XSTORM_FCOE_CONN_AG_CTX_BIT15_SHIFT 79789 u8 flags2;9790#define XSTORM_FCOE_CONN_AG_CTX_CF0_MASK 0x39791#define XSTORM_FCOE_CONN_AG_CTX_CF0_SHIFT 09792#define XSTORM_FCOE_CONN_AG_CTX_CF1_MASK 0x39793#define XSTORM_FCOE_CONN_AG_CTX_CF1_SHIFT 29794#define XSTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x39795#define XSTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 49796#define XSTORM_FCOE_CONN_AG_CTX_CF3_MASK 0x39797#define XSTORM_FCOE_CONN_AG_CTX_CF3_SHIFT 69798 u8 flags3;9799#define XSTORM_FCOE_CONN_AG_CTX_CF4_MASK 0x39800#define XSTORM_FCOE_CONN_AG_CTX_CF4_SHIFT 09801#define XSTORM_FCOE_CONN_AG_CTX_CF5_MASK 0x39802#define XSTORM_FCOE_CONN_AG_CTX_CF5_SHIFT 29803#define XSTORM_FCOE_CONN_AG_CTX_CF6_MASK 0x39804#define XSTORM_FCOE_CONN_AG_CTX_CF6_SHIFT 49805#define XSTORM_FCOE_CONN_AG_CTX_CF7_MASK 0x39806#define XSTORM_FCOE_CONN_AG_CTX_CF7_SHIFT 69807 u8 flags4;9808#define XSTORM_FCOE_CONN_AG_CTX_CF8_MASK 0x39809#define XSTORM_FCOE_CONN_AG_CTX_CF8_SHIFT 09810#define XSTORM_FCOE_CONN_AG_CTX_CF9_MASK 0x39811#define XSTORM_FCOE_CONN_AG_CTX_CF9_SHIFT 29812#define XSTORM_FCOE_CONN_AG_CTX_CF10_MASK 0x39813#define XSTORM_FCOE_CONN_AG_CTX_CF10_SHIFT 49814#define XSTORM_FCOE_CONN_AG_CTX_CF11_MASK 0x39815#define XSTORM_FCOE_CONN_AG_CTX_CF11_SHIFT 69816 u8 flags5;9817#define XSTORM_FCOE_CONN_AG_CTX_CF12_MASK 0x39818#define XSTORM_FCOE_CONN_AG_CTX_CF12_SHIFT 09819#define XSTORM_FCOE_CONN_AG_CTX_CF13_MASK 0x39820#define XSTORM_FCOE_CONN_AG_CTX_CF13_SHIFT 29821#define XSTORM_FCOE_CONN_AG_CTX_CF14_MASK 0x39822#define XSTORM_FCOE_CONN_AG_CTX_CF14_SHIFT 49823#define XSTORM_FCOE_CONN_AG_CTX_CF15_MASK 0x39824#define XSTORM_FCOE_CONN_AG_CTX_CF15_SHIFT 69825 u8 flags6;9826#define XSTORM_FCOE_CONN_AG_CTX_CF16_MASK 0x39827#define XSTORM_FCOE_CONN_AG_CTX_CF16_SHIFT 09828#define XSTORM_FCOE_CONN_AG_CTX_CF17_MASK 0x39829#define XSTORM_FCOE_CONN_AG_CTX_CF17_SHIFT 29830#define XSTORM_FCOE_CONN_AG_CTX_CF18_MASK 0x39831#define XSTORM_FCOE_CONN_AG_CTX_CF18_SHIFT 49832#define XSTORM_FCOE_CONN_AG_CTX_DQ_CF_MASK 0x39833#define XSTORM_FCOE_CONN_AG_CTX_DQ_CF_SHIFT 69834 u8 flags7;9835#define XSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_MASK 0x39836#define XSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_SHIFT 09837#define XSTORM_FCOE_CONN_AG_CTX_RESERVED10_MASK 0x39838#define XSTORM_FCOE_CONN_AG_CTX_RESERVED10_SHIFT 29839#define XSTORM_FCOE_CONN_AG_CTX_SLOW_PATH_MASK 0x39840#define XSTORM_FCOE_CONN_AG_CTX_SLOW_PATH_SHIFT 49841#define XSTORM_FCOE_CONN_AG_CTX_CF0EN_MASK 0x19842#define XSTORM_FCOE_CONN_AG_CTX_CF0EN_SHIFT 69843#define XSTORM_FCOE_CONN_AG_CTX_CF1EN_MASK 0x19844#define XSTORM_FCOE_CONN_AG_CTX_CF1EN_SHIFT 79845 u8 flags8;9846#define XSTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x19847#define XSTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 09848#define XSTORM_FCOE_CONN_AG_CTX_CF3EN_MASK 0x19849#define XSTORM_FCOE_CONN_AG_CTX_CF3EN_SHIFT 19850#define XSTORM_FCOE_CONN_AG_CTX_CF4EN_MASK 0x19851#define XSTORM_FCOE_CONN_AG_CTX_CF4EN_SHIFT 29852#define XSTORM_FCOE_CONN_AG_CTX_CF5EN_MASK 0x19853#define XSTORM_FCOE_CONN_AG_CTX_CF5EN_SHIFT 39854#define XSTORM_FCOE_CONN_AG_CTX_CF6EN_MASK 0x19855#define XSTORM_FCOE_CONN_AG_CTX_CF6EN_SHIFT 49856#define XSTORM_FCOE_CONN_AG_CTX_CF7EN_MASK 0x19857#define XSTORM_FCOE_CONN_AG_CTX_CF7EN_SHIFT 59858#define XSTORM_FCOE_CONN_AG_CTX_CF8EN_MASK 0x19859#define XSTORM_FCOE_CONN_AG_CTX_CF8EN_SHIFT 69860#define XSTORM_FCOE_CONN_AG_CTX_CF9EN_MASK 0x19861#define XSTORM_FCOE_CONN_AG_CTX_CF9EN_SHIFT 79862 u8 flags9;9863#define XSTORM_FCOE_CONN_AG_CTX_CF10EN_MASK 0x19864#define XSTORM_FCOE_CONN_AG_CTX_CF10EN_SHIFT 09865#define XSTORM_FCOE_CONN_AG_CTX_CF11EN_MASK 0x19866#define XSTORM_FCOE_CONN_AG_CTX_CF11EN_SHIFT 19867#define XSTORM_FCOE_CONN_AG_CTX_CF12EN_MASK 0x19868#define XSTORM_FCOE_CONN_AG_CTX_CF12EN_SHIFT 29869#define XSTORM_FCOE_CONN_AG_CTX_CF13EN_MASK 0x19870#define XSTORM_FCOE_CONN_AG_CTX_CF13EN_SHIFT 39871#define XSTORM_FCOE_CONN_AG_CTX_CF14EN_MASK 0x19872#define XSTORM_FCOE_CONN_AG_CTX_CF14EN_SHIFT 49873#define XSTORM_FCOE_CONN_AG_CTX_CF15EN_MASK 0x19874#define XSTORM_FCOE_CONN_AG_CTX_CF15EN_SHIFT 59875#define XSTORM_FCOE_CONN_AG_CTX_CF16EN_MASK 0x19876#define XSTORM_FCOE_CONN_AG_CTX_CF16EN_SHIFT 69877#define XSTORM_FCOE_CONN_AG_CTX_CF17EN_MASK 0x19878#define XSTORM_FCOE_CONN_AG_CTX_CF17EN_SHIFT 79879 u8 flags10;9880#define XSTORM_FCOE_CONN_AG_CTX_CF18EN_MASK 0x19881#define XSTORM_FCOE_CONN_AG_CTX_CF18EN_SHIFT 09882#define XSTORM_FCOE_CONN_AG_CTX_DQ_CF_EN_MASK 0x19883#define XSTORM_FCOE_CONN_AG_CTX_DQ_CF_EN_SHIFT 19884#define XSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x19885#define XSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 29886#define XSTORM_FCOE_CONN_AG_CTX_RESERVED11_MASK 0x19887#define XSTORM_FCOE_CONN_AG_CTX_RESERVED11_SHIFT 39888#define XSTORM_FCOE_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x19889#define XSTORM_FCOE_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 49890#define XSTORM_FCOE_CONN_AG_CTX_CF23EN_MASK 0x19891#define XSTORM_FCOE_CONN_AG_CTX_CF23EN_SHIFT 59892#define XSTORM_FCOE_CONN_AG_CTX_RESERVED12_MASK 0x19893#define XSTORM_FCOE_CONN_AG_CTX_RESERVED12_SHIFT 69894#define XSTORM_FCOE_CONN_AG_CTX_RESERVED13_MASK 0x19895#define XSTORM_FCOE_CONN_AG_CTX_RESERVED13_SHIFT 79896 u8 flags11;9897#define XSTORM_FCOE_CONN_AG_CTX_RESERVED14_MASK 0x19898#define XSTORM_FCOE_CONN_AG_CTX_RESERVED14_SHIFT 09899#define XSTORM_FCOE_CONN_AG_CTX_RESERVED15_MASK 0x19900#define XSTORM_FCOE_CONN_AG_CTX_RESERVED15_SHIFT 19901#define XSTORM_FCOE_CONN_AG_CTX_RESERVED16_MASK 0x19902#define XSTORM_FCOE_CONN_AG_CTX_RESERVED16_SHIFT 29903#define XSTORM_FCOE_CONN_AG_CTX_RULE5EN_MASK 0x19904#define XSTORM_FCOE_CONN_AG_CTX_RULE5EN_SHIFT 39905#define XSTORM_FCOE_CONN_AG_CTX_RULE6EN_MASK 0x19906#define XSTORM_FCOE_CONN_AG_CTX_RULE6EN_SHIFT 49907#define XSTORM_FCOE_CONN_AG_CTX_RULE7EN_MASK 0x19908#define XSTORM_FCOE_CONN_AG_CTX_RULE7EN_SHIFT 59909#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED1_MASK 0x19910#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED1_SHIFT 69911#define XSTORM_FCOE_CONN_AG_CTX_XFERQ_DECISION_EN_MASK 0x19912#define XSTORM_FCOE_CONN_AG_CTX_XFERQ_DECISION_EN_SHIFT 79913 u8 flags12;9914#define XSTORM_FCOE_CONN_AG_CTX_SQ_DECISION_EN_MASK 0x19915#define XSTORM_FCOE_CONN_AG_CTX_SQ_DECISION_EN_SHIFT 09916#define XSTORM_FCOE_CONN_AG_CTX_RULE11EN_MASK 0x19917#define XSTORM_FCOE_CONN_AG_CTX_RULE11EN_SHIFT 19918#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED2_MASK 0x19919#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED2_SHIFT 29920#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED3_MASK 0x19921#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED3_SHIFT 39922#define XSTORM_FCOE_CONN_AG_CTX_RULE14EN_MASK 0x19923#define XSTORM_FCOE_CONN_AG_CTX_RULE14EN_SHIFT 49924#define XSTORM_FCOE_CONN_AG_CTX_RULE15EN_MASK 0x19925#define XSTORM_FCOE_CONN_AG_CTX_RULE15EN_SHIFT 59926#define XSTORM_FCOE_CONN_AG_CTX_RULE16EN_MASK 0x19927#define XSTORM_FCOE_CONN_AG_CTX_RULE16EN_SHIFT 69928#define XSTORM_FCOE_CONN_AG_CTX_RULE17EN_MASK 0x19929#define XSTORM_FCOE_CONN_AG_CTX_RULE17EN_SHIFT 79930 u8 flags13;9931#define XSTORM_FCOE_CONN_AG_CTX_RESPQ_DECISION_EN_MASK 0x19932#define XSTORM_FCOE_CONN_AG_CTX_RESPQ_DECISION_EN_SHIFT 09933#define XSTORM_FCOE_CONN_AG_CTX_RULE19EN_MASK 0x19934#define XSTORM_FCOE_CONN_AG_CTX_RULE19EN_SHIFT 19935#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED4_MASK 0x19936#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED4_SHIFT 29937#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED5_MASK 0x19938#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED5_SHIFT 39939#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED6_MASK 0x19940#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED6_SHIFT 49941#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED7_MASK 0x19942#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED7_SHIFT 59943#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED8_MASK 0x19944#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED8_SHIFT 69945#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED9_MASK 0x19946#define XSTORM_FCOE_CONN_AG_CTX_A0_RESERVED9_SHIFT 79947 u8 flags14;9948#define XSTORM_FCOE_CONN_AG_CTX_BIT16_MASK 0x19949#define XSTORM_FCOE_CONN_AG_CTX_BIT16_SHIFT 09950#define XSTORM_FCOE_CONN_AG_CTX_BIT17_MASK 0x19951#define XSTORM_FCOE_CONN_AG_CTX_BIT17_SHIFT 19952#define XSTORM_FCOE_CONN_AG_CTX_BIT18_MASK 0x19953#define XSTORM_FCOE_CONN_AG_CTX_BIT18_SHIFT 29954#define XSTORM_FCOE_CONN_AG_CTX_BIT19_MASK 0x19955#define XSTORM_FCOE_CONN_AG_CTX_BIT19_SHIFT 39956#define XSTORM_FCOE_CONN_AG_CTX_BIT20_MASK 0x19957#define XSTORM_FCOE_CONN_AG_CTX_BIT20_SHIFT 49958#define XSTORM_FCOE_CONN_AG_CTX_BIT21_MASK 0x19959#define XSTORM_FCOE_CONN_AG_CTX_BIT21_SHIFT 59960#define XSTORM_FCOE_CONN_AG_CTX_CF23_MASK 0x39961#define XSTORM_FCOE_CONN_AG_CTX_CF23_SHIFT 69962 u8 byte2;9963 __le16 physical_q0;9964 __le16 word1;9965 __le16 word2;9966 __le16 sq_cons;9967 __le16 sq_prod;9968 __le16 xferq_prod;9969 __le16 xferq_cons;9970 u8 byte3;9971 u8 byte4;9972 u8 byte5;9973 u8 byte6;9974 __le32 remain_io;9975 __le32 reg1;9976 __le32 reg2;9977 __le32 reg3;9978 __le32 reg4;9979 __le32 reg5;9980 __le32 reg6;9981 __le16 respq_prod;9982 __le16 respq_cons;9983 __le16 word9;9984 __le16 word10;9985 __le32 reg7;9986 __le32 reg8;9987};9988 9989/* The fcoe storm context of Ustorm */9990struct ustorm_fcoe_conn_st_ctx {9991 struct regpair respq_pbl_addr;9992 __le16 num_pages_in_pbl;9993 u8 ptu_log_page_size;9994 u8 log_page_size;9995 __le16 respq_prod;9996 u8 reserved[2];9997};9998 9999struct tstorm_fcoe_conn_ag_ctx {10000 u8 reserved0;10001 u8 state;10002 u8 flags0;10003#define TSTORM_FCOE_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x110004#define TSTORM_FCOE_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 010005#define TSTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x110006#define TSTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 110007#define TSTORM_FCOE_CONN_AG_CTX_BIT2_MASK 0x110008#define TSTORM_FCOE_CONN_AG_CTX_BIT2_SHIFT 210009#define TSTORM_FCOE_CONN_AG_CTX_BIT3_MASK 0x110010#define TSTORM_FCOE_CONN_AG_CTX_BIT3_SHIFT 310011#define TSTORM_FCOE_CONN_AG_CTX_BIT4_MASK 0x110012#define TSTORM_FCOE_CONN_AG_CTX_BIT4_SHIFT 410013#define TSTORM_FCOE_CONN_AG_CTX_BIT5_MASK 0x110014#define TSTORM_FCOE_CONN_AG_CTX_BIT5_SHIFT 510015#define TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_MASK 0x310016#define TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_SHIFT 610017 u8 flags1;10018#define TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_MASK 0x310019#define TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_SHIFT 010020#define TSTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x310021#define TSTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 210022#define TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_MASK 0x310023#define TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_SHIFT 410024#define TSTORM_FCOE_CONN_AG_CTX_CF4_MASK 0x310025#define TSTORM_FCOE_CONN_AG_CTX_CF4_SHIFT 610026 u8 flags2;10027#define TSTORM_FCOE_CONN_AG_CTX_CF5_MASK 0x310028#define TSTORM_FCOE_CONN_AG_CTX_CF5_SHIFT 010029#define TSTORM_FCOE_CONN_AG_CTX_CF6_MASK 0x310030#define TSTORM_FCOE_CONN_AG_CTX_CF6_SHIFT 210031#define TSTORM_FCOE_CONN_AG_CTX_CF7_MASK 0x310032#define TSTORM_FCOE_CONN_AG_CTX_CF7_SHIFT 410033#define TSTORM_FCOE_CONN_AG_CTX_CF8_MASK 0x310034#define TSTORM_FCOE_CONN_AG_CTX_CF8_SHIFT 610035 u8 flags3;10036#define TSTORM_FCOE_CONN_AG_CTX_CF9_MASK 0x310037#define TSTORM_FCOE_CONN_AG_CTX_CF9_SHIFT 010038#define TSTORM_FCOE_CONN_AG_CTX_CF10_MASK 0x310039#define TSTORM_FCOE_CONN_AG_CTX_CF10_SHIFT 210040#define TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_EN_MASK 0x110041#define TSTORM_FCOE_CONN_AG_CTX_DUMMY_TIMER_CF_EN_SHIFT 410042#define TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_EN_MASK 0x110043#define TSTORM_FCOE_CONN_AG_CTX_FLUSH_Q0_CF_EN_SHIFT 510044#define TSTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x110045#define TSTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 610046#define TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_MASK 0x110047#define TSTORM_FCOE_CONN_AG_CTX_TIMER_STOP_ALL_CF_EN_SHIFT 710048 u8 flags4;10049#define TSTORM_FCOE_CONN_AG_CTX_CF4EN_MASK 0x110050#define TSTORM_FCOE_CONN_AG_CTX_CF4EN_SHIFT 010051#define TSTORM_FCOE_CONN_AG_CTX_CF5EN_MASK 0x110052#define TSTORM_FCOE_CONN_AG_CTX_CF5EN_SHIFT 110053#define TSTORM_FCOE_CONN_AG_CTX_CF6EN_MASK 0x110054#define TSTORM_FCOE_CONN_AG_CTX_CF6EN_SHIFT 210055#define TSTORM_FCOE_CONN_AG_CTX_CF7EN_MASK 0x110056#define TSTORM_FCOE_CONN_AG_CTX_CF7EN_SHIFT 310057#define TSTORM_FCOE_CONN_AG_CTX_CF8EN_MASK 0x110058#define TSTORM_FCOE_CONN_AG_CTX_CF8EN_SHIFT 410059#define TSTORM_FCOE_CONN_AG_CTX_CF9EN_MASK 0x110060#define TSTORM_FCOE_CONN_AG_CTX_CF9EN_SHIFT 510061#define TSTORM_FCOE_CONN_AG_CTX_CF10EN_MASK 0x110062#define TSTORM_FCOE_CONN_AG_CTX_CF10EN_SHIFT 610063#define TSTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x110064#define TSTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 710065 u8 flags5;10066#define TSTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x110067#define TSTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 010068#define TSTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x110069#define TSTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 110070#define TSTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x110071#define TSTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 210072#define TSTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x110073#define TSTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 310074#define TSTORM_FCOE_CONN_AG_CTX_RULE5EN_MASK 0x110075#define TSTORM_FCOE_CONN_AG_CTX_RULE5EN_SHIFT 410076#define TSTORM_FCOE_CONN_AG_CTX_RULE6EN_MASK 0x110077#define TSTORM_FCOE_CONN_AG_CTX_RULE6EN_SHIFT 510078#define TSTORM_FCOE_CONN_AG_CTX_RULE7EN_MASK 0x110079#define TSTORM_FCOE_CONN_AG_CTX_RULE7EN_SHIFT 610080#define TSTORM_FCOE_CONN_AG_CTX_RULE8EN_MASK 0x110081#define TSTORM_FCOE_CONN_AG_CTX_RULE8EN_SHIFT 710082 __le32 reg0;10083 __le32 reg1;10084};10085 10086struct ustorm_fcoe_conn_ag_ctx {10087 u8 byte0;10088 u8 byte1;10089 u8 flags0;10090#define USTORM_FCOE_CONN_AG_CTX_BIT0_MASK 0x110091#define USTORM_FCOE_CONN_AG_CTX_BIT0_SHIFT 010092#define USTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x110093#define USTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 110094#define USTORM_FCOE_CONN_AG_CTX_CF0_MASK 0x310095#define USTORM_FCOE_CONN_AG_CTX_CF0_SHIFT 210096#define USTORM_FCOE_CONN_AG_CTX_CF1_MASK 0x310097#define USTORM_FCOE_CONN_AG_CTX_CF1_SHIFT 410098#define USTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x310099#define USTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 610100 u8 flags1;10101#define USTORM_FCOE_CONN_AG_CTX_CF3_MASK 0x310102#define USTORM_FCOE_CONN_AG_CTX_CF3_SHIFT 010103#define USTORM_FCOE_CONN_AG_CTX_CF4_MASK 0x310104#define USTORM_FCOE_CONN_AG_CTX_CF4_SHIFT 210105#define USTORM_FCOE_CONN_AG_CTX_CF5_MASK 0x310106#define USTORM_FCOE_CONN_AG_CTX_CF5_SHIFT 410107#define USTORM_FCOE_CONN_AG_CTX_CF6_MASK 0x310108#define USTORM_FCOE_CONN_AG_CTX_CF6_SHIFT 610109 u8 flags2;10110#define USTORM_FCOE_CONN_AG_CTX_CF0EN_MASK 0x110111#define USTORM_FCOE_CONN_AG_CTX_CF0EN_SHIFT 010112#define USTORM_FCOE_CONN_AG_CTX_CF1EN_MASK 0x110113#define USTORM_FCOE_CONN_AG_CTX_CF1EN_SHIFT 110114#define USTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x110115#define USTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 210116#define USTORM_FCOE_CONN_AG_CTX_CF3EN_MASK 0x110117#define USTORM_FCOE_CONN_AG_CTX_CF3EN_SHIFT 310118#define USTORM_FCOE_CONN_AG_CTX_CF4EN_MASK 0x110119#define USTORM_FCOE_CONN_AG_CTX_CF4EN_SHIFT 410120#define USTORM_FCOE_CONN_AG_CTX_CF5EN_MASK 0x110121#define USTORM_FCOE_CONN_AG_CTX_CF5EN_SHIFT 510122#define USTORM_FCOE_CONN_AG_CTX_CF6EN_MASK 0x110123#define USTORM_FCOE_CONN_AG_CTX_CF6EN_SHIFT 610124#define USTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x110125#define USTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 710126 u8 flags3;10127#define USTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x110128#define USTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 010129#define USTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x110130#define USTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 110131#define USTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x110132#define USTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 210133#define USTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x110134#define USTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 310135#define USTORM_FCOE_CONN_AG_CTX_RULE5EN_MASK 0x110136#define USTORM_FCOE_CONN_AG_CTX_RULE5EN_SHIFT 410137#define USTORM_FCOE_CONN_AG_CTX_RULE6EN_MASK 0x110138#define USTORM_FCOE_CONN_AG_CTX_RULE6EN_SHIFT 510139#define USTORM_FCOE_CONN_AG_CTX_RULE7EN_MASK 0x110140#define USTORM_FCOE_CONN_AG_CTX_RULE7EN_SHIFT 610141#define USTORM_FCOE_CONN_AG_CTX_RULE8EN_MASK 0x110142#define USTORM_FCOE_CONN_AG_CTX_RULE8EN_SHIFT 710143 u8 byte2;10144 u8 byte3;10145 __le16 word0;10146 __le16 word1;10147 __le32 reg0;10148 __le32 reg1;10149 __le32 reg2;10150 __le32 reg3;10151 __le16 word2;10152 __le16 word3;10153};10154 10155/* The fcoe storm context of Tstorm */10156struct tstorm_fcoe_conn_st_ctx {10157 __le16 stat_ram_addr;10158 __le16 rx_max_fc_payload_len;10159 __le16 e_d_tov_val;10160 u8 flags;10161#define TSTORM_FCOE_CONN_ST_CTX_INC_SEQ_CNT_MASK 0x110162#define TSTORM_FCOE_CONN_ST_CTX_INC_SEQ_CNT_SHIFT 010163#define TSTORM_FCOE_CONN_ST_CTX_SUPPORT_CONF_MASK 0x110164#define TSTORM_FCOE_CONN_ST_CTX_SUPPORT_CONF_SHIFT 110165#define TSTORM_FCOE_CONN_ST_CTX_DEF_Q_IDX_MASK 0x3F10166#define TSTORM_FCOE_CONN_ST_CTX_DEF_Q_IDX_SHIFT 210167 u8 timers_cleanup_invocation_cnt;10168 __le32 reserved1[2];10169 __le32 dst_mac_address_bytes_0_to_3;10170 __le16 dst_mac_address_bytes_4_to_5;10171 __le16 ramrod_echo;10172 u8 flags1;10173#define TSTORM_FCOE_CONN_ST_CTX_MODE_MASK 0x310174#define TSTORM_FCOE_CONN_ST_CTX_MODE_SHIFT 010175#define TSTORM_FCOE_CONN_ST_CTX_RESERVED_MASK 0x3F10176#define TSTORM_FCOE_CONN_ST_CTX_RESERVED_SHIFT 210177 u8 cq_relative_offset;10178 u8 cmdq_relative_offset;10179 u8 bdq_resource_id;10180 u8 reserved0[4];10181};10182 10183struct mstorm_fcoe_conn_ag_ctx {10184 u8 byte0;10185 u8 byte1;10186 u8 flags0;10187#define MSTORM_FCOE_CONN_AG_CTX_BIT0_MASK 0x110188#define MSTORM_FCOE_CONN_AG_CTX_BIT0_SHIFT 010189#define MSTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x110190#define MSTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 110191#define MSTORM_FCOE_CONN_AG_CTX_CF0_MASK 0x310192#define MSTORM_FCOE_CONN_AG_CTX_CF0_SHIFT 210193#define MSTORM_FCOE_CONN_AG_CTX_CF1_MASK 0x310194#define MSTORM_FCOE_CONN_AG_CTX_CF1_SHIFT 410195#define MSTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x310196#define MSTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 610197 u8 flags1;10198#define MSTORM_FCOE_CONN_AG_CTX_CF0EN_MASK 0x110199#define MSTORM_FCOE_CONN_AG_CTX_CF0EN_SHIFT 010200#define MSTORM_FCOE_CONN_AG_CTX_CF1EN_MASK 0x110201#define MSTORM_FCOE_CONN_AG_CTX_CF1EN_SHIFT 110202#define MSTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x110203#define MSTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 210204#define MSTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x110205#define MSTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 310206#define MSTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x110207#define MSTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 410208#define MSTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x110209#define MSTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 510210#define MSTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x110211#define MSTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 610212#define MSTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x110213#define MSTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 710214 __le16 word0;10215 __le16 word1;10216 __le32 reg0;10217 __le32 reg1;10218};10219 10220/* Fast path part of the fcoe storm context of Mstorm */10221struct fcoe_mstorm_fcoe_conn_st_ctx_fp {10222 __le16 xfer_prod;10223 u8 num_cqs;10224 u8 reserved1;10225 u8 protection_info;10226#define FCOE_MSTORM_FCOE_CONN_ST_CTX_FP_SUPPORT_PROTECTION_MASK 0x110227#define FCOE_MSTORM_FCOE_CONN_ST_CTX_FP_SUPPORT_PROTECTION_SHIFT 010228#define FCOE_MSTORM_FCOE_CONN_ST_CTX_FP_VALID_MASK 0x110229#define FCOE_MSTORM_FCOE_CONN_ST_CTX_FP_VALID_SHIFT 110230#define FCOE_MSTORM_FCOE_CONN_ST_CTX_FP_RESERVED0_MASK 0x3F10231#define FCOE_MSTORM_FCOE_CONN_ST_CTX_FP_RESERVED0_SHIFT 210232 u8 q_relative_offset;10233 u8 reserved2[2];10234};10235 10236/* Non fast path part of the fcoe storm context of Mstorm */10237struct fcoe_mstorm_fcoe_conn_st_ctx_non_fp {10238 __le16 conn_id;10239 __le16 stat_ram_addr;10240 __le16 num_pages_in_pbl;10241 u8 ptu_log_page_size;10242 u8 log_page_size;10243 __le16 unsolicited_cq_count;10244 __le16 cmdq_count;10245 u8 bdq_resource_id;10246 u8 reserved0[3];10247 struct regpair xferq_pbl_addr;10248 struct regpair reserved1;10249 struct regpair reserved2[3];10250};10251 10252/* The fcoe storm context of Mstorm */10253struct mstorm_fcoe_conn_st_ctx {10254 struct fcoe_mstorm_fcoe_conn_st_ctx_fp fp;10255 struct fcoe_mstorm_fcoe_conn_st_ctx_non_fp non_fp;10256};10257 10258/* fcoe connection context */10259struct fcoe_conn_context {10260 struct ystorm_fcoe_conn_st_ctx ystorm_st_context;10261 struct pstorm_fcoe_conn_st_ctx pstorm_st_context;10262 struct regpair pstorm_st_padding[2];10263 struct xstorm_fcoe_conn_st_ctx xstorm_st_context;10264 struct xstorm_fcoe_conn_ag_ctx xstorm_ag_context;10265 struct regpair xstorm_ag_padding[6];10266 struct ustorm_fcoe_conn_st_ctx ustorm_st_context;10267 struct regpair ustorm_st_padding[2];10268 struct tstorm_fcoe_conn_ag_ctx tstorm_ag_context;10269 struct regpair tstorm_ag_padding[2];10270 struct timers_context timer_context;10271 struct ustorm_fcoe_conn_ag_ctx ustorm_ag_context;10272 struct tstorm_fcoe_conn_st_ctx tstorm_st_context;10273 struct mstorm_fcoe_conn_ag_ctx mstorm_ag_context;10274 struct mstorm_fcoe_conn_st_ctx mstorm_st_context;10275};10276 10277/* FCoE connection offload params passed by driver to FW in FCoE offload10278 * ramrod.10279 */10280struct fcoe_conn_offload_ramrod_params {10281 struct fcoe_conn_offload_ramrod_data offload_ramrod_data;10282};10283 10284/* FCoE connection terminate params passed by driver to FW in FCoE terminate10285 * conn ramrod.10286 */10287struct fcoe_conn_terminate_ramrod_params {10288 struct fcoe_conn_terminate_ramrod_data terminate_ramrod_data;10289};10290 10291/* FCoE event type */10292enum fcoe_event_type {10293 FCOE_EVENT_INIT_FUNC,10294 FCOE_EVENT_DESTROY_FUNC,10295 FCOE_EVENT_STAT_FUNC,10296 FCOE_EVENT_OFFLOAD_CONN,10297 FCOE_EVENT_TERMINATE_CONN,10298 FCOE_EVENT_ERROR,10299 MAX_FCOE_EVENT_TYPE10300};10301 10302/* FCoE init params passed by driver to FW in FCoE init ramrod */10303struct fcoe_init_ramrod_params {10304 struct fcoe_init_func_ramrod_data init_ramrod_data;10305};10306 10307/* FCoE ramrod Command IDs */10308enum fcoe_ramrod_cmd_id {10309 FCOE_RAMROD_CMD_ID_INIT_FUNC,10310 FCOE_RAMROD_CMD_ID_DESTROY_FUNC,10311 FCOE_RAMROD_CMD_ID_STAT_FUNC,10312 FCOE_RAMROD_CMD_ID_OFFLOAD_CONN,10313 FCOE_RAMROD_CMD_ID_TERMINATE_CONN,10314 MAX_FCOE_RAMROD_CMD_ID10315};10316 10317/* FCoE statistics params buffer passed by driver to FW in FCoE statistics10318 * ramrod.10319 */10320struct fcoe_stat_ramrod_params {10321 struct fcoe_stat_ramrod_data stat_ramrod_data;10322};10323 10324struct ystorm_fcoe_conn_ag_ctx {10325 u8 byte0;10326 u8 byte1;10327 u8 flags0;10328#define YSTORM_FCOE_CONN_AG_CTX_BIT0_MASK 0x110329#define YSTORM_FCOE_CONN_AG_CTX_BIT0_SHIFT 010330#define YSTORM_FCOE_CONN_AG_CTX_BIT1_MASK 0x110331#define YSTORM_FCOE_CONN_AG_CTX_BIT1_SHIFT 110332#define YSTORM_FCOE_CONN_AG_CTX_CF0_MASK 0x310333#define YSTORM_FCOE_CONN_AG_CTX_CF0_SHIFT 210334#define YSTORM_FCOE_CONN_AG_CTX_CF1_MASK 0x310335#define YSTORM_FCOE_CONN_AG_CTX_CF1_SHIFT 410336#define YSTORM_FCOE_CONN_AG_CTX_CF2_MASK 0x310337#define YSTORM_FCOE_CONN_AG_CTX_CF2_SHIFT 610338 u8 flags1;10339#define YSTORM_FCOE_CONN_AG_CTX_CF0EN_MASK 0x110340#define YSTORM_FCOE_CONN_AG_CTX_CF0EN_SHIFT 010341#define YSTORM_FCOE_CONN_AG_CTX_CF1EN_MASK 0x110342#define YSTORM_FCOE_CONN_AG_CTX_CF1EN_SHIFT 110343#define YSTORM_FCOE_CONN_AG_CTX_CF2EN_MASK 0x110344#define YSTORM_FCOE_CONN_AG_CTX_CF2EN_SHIFT 210345#define YSTORM_FCOE_CONN_AG_CTX_RULE0EN_MASK 0x110346#define YSTORM_FCOE_CONN_AG_CTX_RULE0EN_SHIFT 310347#define YSTORM_FCOE_CONN_AG_CTX_RULE1EN_MASK 0x110348#define YSTORM_FCOE_CONN_AG_CTX_RULE1EN_SHIFT 410349#define YSTORM_FCOE_CONN_AG_CTX_RULE2EN_MASK 0x110350#define YSTORM_FCOE_CONN_AG_CTX_RULE2EN_SHIFT 510351#define YSTORM_FCOE_CONN_AG_CTX_RULE3EN_MASK 0x110352#define YSTORM_FCOE_CONN_AG_CTX_RULE3EN_SHIFT 610353#define YSTORM_FCOE_CONN_AG_CTX_RULE4EN_MASK 0x110354#define YSTORM_FCOE_CONN_AG_CTX_RULE4EN_SHIFT 710355 u8 byte2;10356 u8 byte3;10357 __le16 word0;10358 __le32 reg0;10359 __le32 reg1;10360 __le16 word1;10361 __le16 word2;10362 __le16 word3;10363 __le16 word4;10364 __le32 reg2;10365 __le32 reg3;10366};10367 10368/* The iscsi storm connection context of Ystorm */10369struct ystorm_iscsi_conn_st_ctx {10370 __le32 reserved[8];10371};10372 10373/* Combined iSCSI and TCP storm connection of Pstorm */10374struct pstorm_iscsi_tcp_conn_st_ctx {10375 __le32 tcp[32];10376 __le32 iscsi[4];10377};10378 10379/* The combined tcp and iscsi storm context of Xstorm */10380struct xstorm_iscsi_tcp_conn_st_ctx {10381 __le32 reserved_tcp[4];10382 __le32 reserved_iscsi[44];10383};10384 10385struct xstorm_iscsi_conn_ag_ctx {10386 u8 cdu_validation;10387 u8 state;10388 u8 flags0;10389#define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x110390#define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 010391#define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_MASK 0x110392#define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_SHIFT 110393#define XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_MASK 0x110394#define XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_SHIFT 210395#define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x110396#define XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 310397#define XSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x110398#define XSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 410399#define XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_MASK 0x110400#define XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_SHIFT 510401#define XSTORM_ISCSI_CONN_AG_CTX_BIT6_MASK 0x110402#define XSTORM_ISCSI_CONN_AG_CTX_BIT6_SHIFT 610403#define XSTORM_ISCSI_CONN_AG_CTX_BIT7_MASK 0x110404#define XSTORM_ISCSI_CONN_AG_CTX_BIT7_SHIFT 710405 u8 flags1;10406#define XSTORM_ISCSI_CONN_AG_CTX_BIT8_MASK 0x110407#define XSTORM_ISCSI_CONN_AG_CTX_BIT8_SHIFT 010408#define XSTORM_ISCSI_CONN_AG_CTX_BIT9_MASK 0x110409#define XSTORM_ISCSI_CONN_AG_CTX_BIT9_SHIFT 110410#define XSTORM_ISCSI_CONN_AG_CTX_BIT10_MASK 0x110411#define XSTORM_ISCSI_CONN_AG_CTX_BIT10_SHIFT 210412#define XSTORM_ISCSI_CONN_AG_CTX_BIT11_MASK 0x110413#define XSTORM_ISCSI_CONN_AG_CTX_BIT11_SHIFT 310414#define XSTORM_ISCSI_CONN_AG_CTX_BIT12_MASK 0x110415#define XSTORM_ISCSI_CONN_AG_CTX_BIT12_SHIFT 410416#define XSTORM_ISCSI_CONN_AG_CTX_BIT13_MASK 0x110417#define XSTORM_ISCSI_CONN_AG_CTX_BIT13_SHIFT 510418#define XSTORM_ISCSI_CONN_AG_CTX_BIT14_MASK 0x110419#define XSTORM_ISCSI_CONN_AG_CTX_BIT14_SHIFT 610420#define XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_MASK 0x110421#define XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_SHIFT 710422 u8 flags2;10423#define XSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x310424#define XSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 010425#define XSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x310426#define XSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 210427#define XSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x310428#define XSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 410429#define XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x310430#define XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 610431 u8 flags3;10432#define XSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x310433#define XSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 010434#define XSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x310435#define XSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 210436#define XSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x310437#define XSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 410438#define XSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x310439#define XSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 610440 u8 flags4;10441#define XSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x310442#define XSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 010443#define XSTORM_ISCSI_CONN_AG_CTX_CF9_MASK 0x310444#define XSTORM_ISCSI_CONN_AG_CTX_CF9_SHIFT 210445#define XSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x310446#define XSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 410447#define XSTORM_ISCSI_CONN_AG_CTX_CF11_MASK 0x310448#define XSTORM_ISCSI_CONN_AG_CTX_CF11_SHIFT 610449 u8 flags5;10450#define XSTORM_ISCSI_CONN_AG_CTX_CF12_MASK 0x310451#define XSTORM_ISCSI_CONN_AG_CTX_CF12_SHIFT 010452#define XSTORM_ISCSI_CONN_AG_CTX_CF13_MASK 0x310453#define XSTORM_ISCSI_CONN_AG_CTX_CF13_SHIFT 210454#define XSTORM_ISCSI_CONN_AG_CTX_CF14_MASK 0x310455#define XSTORM_ISCSI_CONN_AG_CTX_CF14_SHIFT 410456#define XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_MASK 0x310457#define XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_SHIFT 610458 u8 flags6;10459#define XSTORM_ISCSI_CONN_AG_CTX_CF16_MASK 0x310460#define XSTORM_ISCSI_CONN_AG_CTX_CF16_SHIFT 010461#define XSTORM_ISCSI_CONN_AG_CTX_CF17_MASK 0x310462#define XSTORM_ISCSI_CONN_AG_CTX_CF17_SHIFT 210463#define XSTORM_ISCSI_CONN_AG_CTX_CF18_MASK 0x310464#define XSTORM_ISCSI_CONN_AG_CTX_CF18_SHIFT 410465#define XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_MASK 0x310466#define XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_SHIFT 610467 u8 flags7;10468#define XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_MASK 0x310469#define XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_SHIFT 010470#define XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_MASK 0x310471#define XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_SHIFT 210472#define XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_MASK 0x310473#define XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_SHIFT 410474#define XSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x110475#define XSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 610476#define XSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x110477#define XSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 710478 u8 flags8;10479#define XSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x110480#define XSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 010481#define XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x110482#define XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 110483#define XSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x110484#define XSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 210485#define XSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x110486#define XSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 310487#define XSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x110488#define XSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 410489#define XSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x110490#define XSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 510491#define XSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x110492#define XSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 610493#define XSTORM_ISCSI_CONN_AG_CTX_CF9EN_MASK 0x110494#define XSTORM_ISCSI_CONN_AG_CTX_CF9EN_SHIFT 710495 u8 flags9;10496#define XSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x110497#define XSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 010498#define XSTORM_ISCSI_CONN_AG_CTX_CF11EN_MASK 0x110499#define XSTORM_ISCSI_CONN_AG_CTX_CF11EN_SHIFT 110500#define XSTORM_ISCSI_CONN_AG_CTX_CF12EN_MASK 0x110501#define XSTORM_ISCSI_CONN_AG_CTX_CF12EN_SHIFT 210502#define XSTORM_ISCSI_CONN_AG_CTX_CF13EN_MASK 0x110503#define XSTORM_ISCSI_CONN_AG_CTX_CF13EN_SHIFT 310504#define XSTORM_ISCSI_CONN_AG_CTX_CF14EN_MASK 0x110505#define XSTORM_ISCSI_CONN_AG_CTX_CF14EN_SHIFT 410506#define XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_MASK 0x110507#define XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_SHIFT 510508#define XSTORM_ISCSI_CONN_AG_CTX_CF16EN_MASK 0x110509#define XSTORM_ISCSI_CONN_AG_CTX_CF16EN_SHIFT 610510#define XSTORM_ISCSI_CONN_AG_CTX_CF17EN_MASK 0x110511#define XSTORM_ISCSI_CONN_AG_CTX_CF17EN_SHIFT 710512 u8 flags10;10513#define XSTORM_ISCSI_CONN_AG_CTX_CF18EN_MASK 0x110514#define XSTORM_ISCSI_CONN_AG_CTX_CF18EN_SHIFT 010515#define XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_MASK 0x110516#define XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT 110517#define XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_MASK 0x110518#define XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_SHIFT 210519#define XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_MASK 0x110520#define XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_SHIFT 310521#define XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x110522#define XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 410523#define XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_MASK 0x110524#define XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_SHIFT 510525#define XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x110526#define XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 610527#define XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_MASK 0x110528#define XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_SHIFT 710529 u8 flags11;10530#define XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_MASK 0x110531#define XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT 010532#define XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x110533#define XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 110534#define XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_MASK 0x110535#define XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_SHIFT 210536#define XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x110537#define XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 310538#define XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x110539#define XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 410540#define XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x110541#define XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 510542#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_MASK 0x110543#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_SHIFT 610544#define XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_MASK 0x110545#define XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_SHIFT 710546 u8 flags12;10547#define XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_MASK 0x110548#define XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_SHIFT 010549#define XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_MASK 0x110550#define XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_SHIFT 110551#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_MASK 0x110552#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_SHIFT 210553#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_MASK 0x110554#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_SHIFT 310555#define XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_MASK 0x110556#define XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_SHIFT 410557#define XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_MASK 0x110558#define XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_SHIFT 510559#define XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_MASK 0x110560#define XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_SHIFT 610561#define XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_MASK 0x110562#define XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_SHIFT 710563 u8 flags13;10564#define XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_MASK 0x110565#define XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_SHIFT 010566#define XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_MASK 0x110567#define XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_SHIFT 110568#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_MASK 0x110569#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_SHIFT 210570#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_MASK 0x110571#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_SHIFT 310572#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_MASK 0x110573#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_SHIFT 410574#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_MASK 0x110575#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_SHIFT 510576#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_MASK 0x110577#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_SHIFT 610578#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_MASK 0x110579#define XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_SHIFT 710580 u8 flags14;10581#define XSTORM_ISCSI_CONN_AG_CTX_BIT16_MASK 0x110582#define XSTORM_ISCSI_CONN_AG_CTX_BIT16_SHIFT 010583#define XSTORM_ISCSI_CONN_AG_CTX_BIT17_MASK 0x110584#define XSTORM_ISCSI_CONN_AG_CTX_BIT17_SHIFT 110585#define XSTORM_ISCSI_CONN_AG_CTX_BIT18_MASK 0x110586#define XSTORM_ISCSI_CONN_AG_CTX_BIT18_SHIFT 210587#define XSTORM_ISCSI_CONN_AG_CTX_BIT19_MASK 0x110588#define XSTORM_ISCSI_CONN_AG_CTX_BIT19_SHIFT 310589#define XSTORM_ISCSI_CONN_AG_CTX_BIT20_MASK 0x110590#define XSTORM_ISCSI_CONN_AG_CTX_BIT20_SHIFT 410591#define XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_MASK 0x110592#define XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_SHIFT 510593#define XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_MASK 0x310594#define XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_SHIFT 610595 u8 byte2;10596 __le16 physical_q0;10597 __le16 physical_q1;10598 __le16 dummy_dorq_var;10599 __le16 sq_cons;10600 __le16 sq_prod;10601 __le16 word5;10602 __le16 slow_io_total_data_tx_update;10603 u8 byte3;10604 u8 byte4;10605 u8 byte5;10606 u8 byte6;10607 __le32 reg0;10608 __le32 reg1;10609 __le32 reg2;10610 __le32 more_to_send_seq;10611 __le32 reg4;10612 __le32 reg5;10613 __le32 hq_scan_next_relevant_ack;10614 __le16 r2tq_prod;10615 __le16 r2tq_cons;10616 __le16 hq_prod;10617 __le16 hq_cons;10618 __le32 remain_seq;10619 __le32 bytes_to_next_pdu;10620 __le32 hq_tcp_seq;10621 u8 byte7;10622 u8 byte8;10623 u8 byte9;10624 u8 byte10;10625 u8 byte11;10626 u8 byte12;10627 u8 byte13;10628 u8 byte14;10629 u8 byte15;10630 u8 e5_reserved;10631 __le16 word11;10632 __le32 reg10;10633 __le32 reg11;10634 __le32 exp_stat_sn;10635 __le32 ongoing_fast_rxmit_seq;10636 __le32 reg14;10637 __le32 reg15;10638 __le32 reg16;10639 __le32 reg17;10640};10641 10642struct tstorm_iscsi_conn_ag_ctx {10643 u8 reserved0;10644 u8 state;10645 u8 flags0;10646#define TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x110647#define TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 010648#define TSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x110649#define TSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 110650#define TSTORM_ISCSI_CONN_AG_CTX_BIT2_MASK 0x110651#define TSTORM_ISCSI_CONN_AG_CTX_BIT2_SHIFT 210652#define TSTORM_ISCSI_CONN_AG_CTX_BIT3_MASK 0x110653#define TSTORM_ISCSI_CONN_AG_CTX_BIT3_SHIFT 310654#define TSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x110655#define TSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 410656#define TSTORM_ISCSI_CONN_AG_CTX_BIT5_MASK 0x110657#define TSTORM_ISCSI_CONN_AG_CTX_BIT5_SHIFT 510658#define TSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x310659#define TSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 610660 u8 flags1;10661#define TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_MASK 0x310662#define TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_SHIFT 010663#define TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_MASK 0x310664#define TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_SHIFT 210665#define TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x310666#define TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 410667#define TSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x310668#define TSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 610669 u8 flags2;10670#define TSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x310671#define TSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 010672#define TSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x310673#define TSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 210674#define TSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x310675#define TSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 410676#define TSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x310677#define TSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 610678 u8 flags3;10679#define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK 0x310680#define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT 010681#define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_OOO_ISLES_CF_MASK 0x310682#define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_OOO_ISLES_CF_SHIFT 210683#define TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x110684#define TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 410685#define TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_MASK 0x110686#define TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_SHIFT 510687#define TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_MASK 0x110688#define TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_SHIFT 610689#define TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x110690#define TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 710691 u8 flags4;10692#define TSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x110693#define TSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 010694#define TSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x110695#define TSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 110696#define TSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x110697#define TSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 210698#define TSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x110699#define TSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 310700#define TSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x110701#define TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 410702#define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x110703#define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 510704#define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_OOO_ISLES_CF_EN_MASK 0x110705#define TSTORM_ISCSI_CONN_AG_CTX_FLUSH_OOO_ISLES_CF_EN_SHIFT 610706#define TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x110707#define TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 710708 u8 flags5;10709#define TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x110710#define TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 010711#define TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x110712#define TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 110713#define TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x110714#define TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 210715#define TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x110716#define TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 310717#define TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x110718#define TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 410719#define TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x110720#define TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 510721#define TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x110722#define TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 610723#define TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x110724#define TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 710725 __le32 reg0;10726 __le32 reg1;10727 __le32 rx_tcp_checksum_err_cnt;10728 __le32 reg3;10729 __le32 reg4;10730 __le32 reg5;10731 __le32 reg6;10732 __le32 reg7;10733 __le32 reg8;10734 u8 cid_offload_cnt;10735 u8 byte3;10736 __le16 word0;10737};10738 10739struct ustorm_iscsi_conn_ag_ctx {10740 u8 byte0;10741 u8 byte1;10742 u8 flags0;10743#define USTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x110744#define USTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 010745#define USTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x110746#define USTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 110747#define USTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x310748#define USTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 210749#define USTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x310750#define USTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 410751#define USTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x310752#define USTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 610753 u8 flags1;10754#define USTORM_ISCSI_CONN_AG_CTX_CF3_MASK 0x310755#define USTORM_ISCSI_CONN_AG_CTX_CF3_SHIFT 010756#define USTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x310757#define USTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 210758#define USTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x310759#define USTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 410760#define USTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x310761#define USTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 610762 u8 flags2;10763#define USTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x110764#define USTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 010765#define USTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x110766#define USTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 110767#define USTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x110768#define USTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 210769#define USTORM_ISCSI_CONN_AG_CTX_CF3EN_MASK 0x110770#define USTORM_ISCSI_CONN_AG_CTX_CF3EN_SHIFT 310771#define USTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x110772#define USTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 410773#define USTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x110774#define USTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 510775#define USTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x110776#define USTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 610777#define USTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x110778#define USTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 710779 u8 flags3;10780#define USTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x110781#define USTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 010782#define USTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x110783#define USTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 110784#define USTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x110785#define USTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 210786#define USTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x110787#define USTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 310788#define USTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x110789#define USTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 410790#define USTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x110791#define USTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 510792#define USTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x110793#define USTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 610794#define USTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x110795#define USTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 710796 u8 byte2;10797 u8 byte3;10798 __le16 word0;10799 __le16 word1;10800 __le32 reg0;10801 __le32 reg1;10802 __le32 reg2;10803 __le32 reg3;10804 __le16 word2;10805 __le16 word3;10806};10807 10808/* The iscsi storm connection context of Tstorm */10809struct tstorm_iscsi_conn_st_ctx {10810 __le32 reserved[44];10811};10812 10813struct mstorm_iscsi_conn_ag_ctx {10814 u8 reserved;10815 u8 state;10816 u8 flags0;10817#define MSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x110818#define MSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 010819#define MSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x110820#define MSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 110821#define MSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x310822#define MSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 210823#define MSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x310824#define MSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 410825#define MSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x310826#define MSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 610827 u8 flags1;10828#define MSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x110829#define MSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 010830#define MSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x110831#define MSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 110832#define MSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x110833#define MSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 210834#define MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x110835#define MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 310836#define MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x110837#define MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 410838#define MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x110839#define MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 510840#define MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x110841#define MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 610842#define MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x110843#define MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 710844 __le16 word0;10845 __le16 word1;10846 __le32 reg0;10847 __le32 reg1;10848};10849 10850/* Combined iSCSI and TCP storm connection of Mstorm */10851struct mstorm_iscsi_tcp_conn_st_ctx {10852 __le32 reserved_tcp[20];10853 __le32 reserved_iscsi[12];10854};10855 10856/* The iscsi storm context of Ustorm */10857struct ustorm_iscsi_conn_st_ctx {10858 __le32 reserved[52];10859};10860 10861/* iscsi connection context */10862struct iscsi_conn_context {10863 struct ystorm_iscsi_conn_st_ctx ystorm_st_context;10864 struct pstorm_iscsi_tcp_conn_st_ctx pstorm_st_context;10865 struct regpair pstorm_st_padding[2];10866 struct pb_context xpb2_context;10867 struct xstorm_iscsi_tcp_conn_st_ctx xstorm_st_context;10868 struct regpair xstorm_st_padding[2];10869 struct xstorm_iscsi_conn_ag_ctx xstorm_ag_context;10870 struct tstorm_iscsi_conn_ag_ctx tstorm_ag_context;10871 struct regpair tstorm_ag_padding[2];10872 struct timers_context timer_context;10873 struct ustorm_iscsi_conn_ag_ctx ustorm_ag_context;10874 struct pb_context upb_context;10875 struct tstorm_iscsi_conn_st_ctx tstorm_st_context;10876 struct regpair tstorm_st_padding[2];10877 struct mstorm_iscsi_conn_ag_ctx mstorm_ag_context;10878 struct mstorm_iscsi_tcp_conn_st_ctx mstorm_st_context;10879 struct ustorm_iscsi_conn_st_ctx ustorm_st_context;10880};10881 10882/* iSCSI init params passed by driver to FW in iSCSI init ramrod */10883struct iscsi_init_ramrod_params {10884 struct iscsi_spe_func_init iscsi_init_spe;10885 struct tcp_init_params tcp_init;10886};10887 10888struct ystorm_iscsi_conn_ag_ctx {10889 u8 byte0;10890 u8 byte1;10891 u8 flags0;10892#define YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x110893#define YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 010894#define YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x110895#define YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 110896#define YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x310897#define YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 210898#define YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x310899#define YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 410900#define YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x310901#define YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 610902 u8 flags1;10903#define YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x110904#define YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 010905#define YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x110906#define YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 110907#define YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x110908#define YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 210909#define YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x110910#define YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 310911#define YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x110912#define YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 410913#define YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x110914#define YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 510915#define YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x110916#define YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 610917#define YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x110918#define YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 710919 u8 byte2;10920 u8 byte3;10921 __le16 word0;10922 __le32 reg0;10923 __le32 reg1;10924 __le16 word1;10925 __le16 word2;10926 __le16 word3;10927 __le16 word4;10928 __le32 reg2;10929 __le32 reg3;10930};10931 10932#endif10933