1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, v.1, (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://opensource.org/licenses/CDDL-1.0. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2014-2017 Cavium, Inc. 24 * The contents of this file are subject to the terms of the Common Development 25 * and Distribution License, v.1, (the "License"). 26 27 * You may not use this file except in compliance with the License. 28 29 * You can obtain a copy of the License at available 30 * at http://opensource.org/licenses/CDDL-1.0 31 32 * See the License for the specific language governing permissions and 33 * limitations under the License. 34 */ 35 36 #ifndef __ECORE_HSI_ISCSI__ 37 #define __ECORE_HSI_ISCSI__ 38 /****************************************/ 39 /* Add include to common storage target */ 40 /****************************************/ 41 #include "storage_common.h" 42 43 /*************************************************************************/ 44 /* Add include to common iSCSI target for both eCore and protocol driver */ 45 /************************************************************************/ 46 #include "iscsi_common.h" 47 48 49 /* 50 * The iscsi storm connection context of Ystorm 51 */ 52 struct ystorm_iscsi_conn_st_ctx 53 { 54 __le32 reserved[4]; 55 }; 56 57 /* 58 * Combined iSCSI and TCP storm connection of Pstorm 59 */ 60 struct pstorm_iscsi_tcp_conn_st_ctx 61 { 62 __le32 tcp[32]; 63 __le32 iscsi[4]; 64 }; 65 66 /* 67 * The combined tcp and iscsi storm context of Xstorm 68 */ 69 struct xstorm_iscsi_tcp_conn_st_ctx 70 { 71 __le32 reserved_iscsi[40]; 72 __le32 reserved_tcp[4]; 73 }; 74 75 struct e4_xstorm_iscsi_conn_ag_ctx 76 { 77 u8 cdu_validation /* cdu_validation */; 78 u8 state /* state */; 79 u8 flags0; 80 #define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */ 81 #define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0 82 #define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_MASK 0x1 /* exist_in_qm1 */ 83 #define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_SHIFT 1 84 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_MASK 0x1 /* exist_in_qm2 */ 85 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_SHIFT 2 86 #define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1 /* exist_in_qm3 */ 87 #define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3 88 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */ 89 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 4 90 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_MASK 0x1 /* cf_array_active */ 91 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_SHIFT 5 92 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT6_MASK 0x1 /* bit6 */ 93 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT6_SHIFT 6 94 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT7_MASK 0x1 /* bit7 */ 95 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT7_SHIFT 7 96 u8 flags1; 97 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT8_MASK 0x1 /* bit8 */ 98 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT8_SHIFT 0 99 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT9_MASK 0x1 /* bit9 */ 100 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT9_SHIFT 1 101 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT10_MASK 0x1 /* bit10 */ 102 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT10_SHIFT 2 103 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */ 104 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT11_SHIFT 3 105 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */ 106 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT12_SHIFT 4 107 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */ 108 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT13_SHIFT 5 109 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT14_MASK 0x1 /* bit14 */ 110 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT14_SHIFT 6 111 #define E4_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_MASK 0x1 /* bit15 */ 112 #define E4_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_SHIFT 7 113 u8 flags2; 114 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */ 115 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 0 116 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */ 117 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 2 118 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */ 119 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 4 120 #define E4_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */ 121 #define E4_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 6 122 u8 flags3; 123 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */ 124 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 0 125 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */ 126 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 2 127 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */ 128 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 4 129 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */ 130 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 6 131 u8 flags4; 132 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */ 133 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 0 134 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */ 135 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF9_SHIFT 2 136 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */ 137 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 4 138 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF11_MASK 0x3 /* cf11 */ 139 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF11_SHIFT 6 140 u8 flags5; 141 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF12_MASK 0x3 /* cf12 */ 142 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF12_SHIFT 0 143 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF13_MASK 0x3 /* cf13 */ 144 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF13_SHIFT 2 145 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF14_MASK 0x3 /* cf14 */ 146 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF14_SHIFT 4 147 #define E4_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_MASK 0x3 /* cf15 */ 148 #define E4_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_SHIFT 6 149 u8 flags6; 150 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF16_MASK 0x3 /* cf16 */ 151 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF16_SHIFT 0 152 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF17_MASK 0x3 /* cf_array_cf */ 153 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF17_SHIFT 2 154 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF18_MASK 0x3 /* cf18 */ 155 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF18_SHIFT 4 156 #define E4_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_MASK 0x3 /* cf19 */ 157 #define E4_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_SHIFT 6 158 u8 flags7; 159 #define E4_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_MASK 0x3 /* cf20 */ 160 #define E4_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_SHIFT 0 161 #define E4_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_MASK 0x3 /* cf21 */ 162 #define E4_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_SHIFT 2 163 #define E4_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_MASK 0x3 /* cf22 */ 164 #define E4_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_SHIFT 4 165 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 166 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 6 167 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 168 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 7 169 u8 flags8; 170 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 171 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 0 172 #define E4_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */ 173 #define E4_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 1 174 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */ 175 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 2 176 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */ 177 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 3 178 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */ 179 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 4 180 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */ 181 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 5 182 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */ 183 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 6 184 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */ 185 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_SHIFT 7 186 u8 flags9; 187 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */ 188 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 0 189 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_MASK 0x1 /* cf11en */ 190 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_SHIFT 1 191 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_MASK 0x1 /* cf12en */ 192 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_SHIFT 2 193 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_MASK 0x1 /* cf13en */ 194 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_SHIFT 3 195 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_MASK 0x1 /* cf14en */ 196 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_SHIFT 4 197 #define E4_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_MASK 0x1 /* cf15en */ 198 #define E4_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_SHIFT 5 199 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_MASK 0x1 /* cf16en */ 200 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_SHIFT 6 201 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_MASK 0x1 /* cf_array_cf_en */ 202 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_SHIFT 7 203 u8 flags10; 204 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_MASK 0x1 /* cf18en */ 205 #define E4_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_SHIFT 0 206 #define E4_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_MASK 0x1 /* cf19en */ 207 #define E4_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT 1 208 #define E4_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_MASK 0x1 /* cf20en */ 209 #define E4_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_SHIFT 2 210 #define E4_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_MASK 0x1 /* cf21en */ 211 #define E4_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_SHIFT 3 212 #define E4_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1 /* cf22en */ 213 #define E4_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4 214 #define E4_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_MASK 0x1 /* cf23en */ 215 #define E4_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_SHIFT 5 216 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 217 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 6 218 #define E4_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_MASK 0x1 /* rule1en */ 219 #define E4_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_SHIFT 7 220 u8 flags11; 221 #define E4_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_MASK 0x1 /* rule2en */ 222 #define E4_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT 0 223 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 224 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 1 225 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_MASK 0x1 /* rule4en */ 226 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_SHIFT 2 227 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */ 228 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 3 229 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */ 230 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 4 231 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */ 232 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 5 233 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_MASK 0x1 /* rule8en */ 234 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_SHIFT 6 235 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_MASK 0x1 /* rule9en */ 236 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_SHIFT 7 237 u8 flags12; 238 #define E4_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_MASK 0x1 /* rule10en */ 239 #define E4_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_SHIFT 0 240 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_MASK 0x1 /* rule11en */ 241 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_SHIFT 1 242 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_MASK 0x1 /* rule12en */ 243 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_SHIFT 2 244 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_MASK 0x1 /* rule13en */ 245 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_SHIFT 3 246 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_MASK 0x1 /* rule14en */ 247 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_SHIFT 4 248 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_MASK 0x1 /* rule15en */ 249 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_SHIFT 5 250 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_MASK 0x1 /* rule16en */ 251 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_SHIFT 6 252 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_MASK 0x1 /* rule17en */ 253 #define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_SHIFT 7 254 u8 flags13; 255 #define E4_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_MASK 0x1 /* rule18en */ 256 #define E4_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_SHIFT 0 257 #define E4_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_MASK 0x1 /* rule19en */ 258 #define E4_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_SHIFT 1 259 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_MASK 0x1 /* rule20en */ 260 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_SHIFT 2 261 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_MASK 0x1 /* rule21en */ 262 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_SHIFT 3 263 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_MASK 0x1 /* rule22en */ 264 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_SHIFT 4 265 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_MASK 0x1 /* rule23en */ 266 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_SHIFT 5 267 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_MASK 0x1 /* rule24en */ 268 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_SHIFT 6 269 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_MASK 0x1 /* rule25en */ 270 #define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_SHIFT 7 271 u8 flags14; 272 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT16_MASK 0x1 /* bit16 */ 273 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT16_SHIFT 0 274 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT17_MASK 0x1 /* bit17 */ 275 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT17_SHIFT 1 276 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT18_MASK 0x1 /* bit18 */ 277 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT18_SHIFT 2 278 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT19_MASK 0x1 /* bit19 */ 279 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT19_SHIFT 3 280 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT20_MASK 0x1 /* bit20 */ 281 #define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT20_SHIFT 4 282 #define E4_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_MASK 0x1 /* bit21 */ 283 #define E4_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_SHIFT 5 284 #define E4_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_MASK 0x3 /* cf23 */ 285 #define E4_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_SHIFT 6 286 u8 byte2 /* byte2 */; 287 __le16 physical_q0 /* physical_q0 */; 288 __le16 physical_q1 /* physical_q1 */; 289 __le16 dummy_dorq_var /* physical_q2 */; 290 __le16 sq_cons /* word3 */; 291 __le16 sq_prod /* word4 */; 292 __le16 word5 /* word5 */; 293 __le16 slow_io_total_data_tx_update /* conn_dpi */; 294 u8 byte3 /* byte3 */; 295 u8 byte4 /* byte4 */; 296 u8 byte5 /* byte5 */; 297 u8 byte6 /* byte6 */; 298 __le32 reg0 /* reg0 */; 299 __le32 reg1 /* reg1 */; 300 __le32 reg2 /* reg2 */; 301 __le32 more_to_send_seq /* reg3 */; 302 __le32 reg4 /* reg4 */; 303 __le32 reg5 /* cf_array0 */; 304 __le32 hq_scan_next_relevant_ack /* cf_array1 */; 305 __le16 r2tq_prod /* word7 */; 306 __le16 r2tq_cons /* word8 */; 307 __le16 hq_prod /* word9 */; 308 __le16 hq_cons /* word10 */; 309 __le32 remain_seq /* reg7 */; 310 __le32 bytes_to_next_pdu /* reg8 */; 311 __le32 hq_tcp_seq /* reg9 */; 312 u8 byte7 /* byte7 */; 313 u8 byte8 /* byte8 */; 314 u8 byte9 /* byte9 */; 315 u8 byte10 /* byte10 */; 316 u8 byte11 /* byte11 */; 317 u8 byte12 /* byte12 */; 318 u8 byte13 /* byte13 */; 319 u8 byte14 /* byte14 */; 320 u8 byte15 /* byte15 */; 321 u8 e5_reserved /* e5_reserved */; 322 __le16 word11 /* word11 */; 323 __le32 reg10 /* reg10 */; 324 __le32 reg11 /* reg11 */; 325 __le32 exp_stat_sn /* reg12 */; 326 __le32 ongoing_fast_rxmit_seq /* reg13 */; 327 __le32 reg14 /* reg14 */; 328 __le32 reg15 /* reg15 */; 329 __le32 reg16 /* reg16 */; 330 __le32 reg17 /* reg17 */; 331 }; 332 333 struct e4_tstorm_iscsi_conn_ag_ctx 334 { 335 u8 reserved0 /* cdu_validation */; 336 u8 state /* state */; 337 u8 flags0; 338 #define E4_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */ 339 #define E4_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0 340 #define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 341 #define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 342 #define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */ 343 #define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT2_SHIFT 2 344 #define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */ 345 #define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT3_SHIFT 3 346 #define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */ 347 #define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 4 348 #define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */ 349 #define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT5_SHIFT 5 350 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */ 351 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 6 352 u8 flags1; 353 #define E4_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_MASK 0x3 /* timer1cf */ 354 #define E4_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_SHIFT 0 355 #define E4_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_MASK 0x3 /* timer2cf */ 356 #define E4_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_SHIFT 2 357 #define E4_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */ 358 #define E4_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 4 359 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */ 360 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 6 361 u8 flags2; 362 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */ 363 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 0 364 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */ 365 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 2 366 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */ 367 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 4 368 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */ 369 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 6 370 u8 flags3; 371 #define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf9 */ 372 #define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT 0 373 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */ 374 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 2 375 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 376 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 4 377 #define E4_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_MASK 0x1 /* cf1en */ 378 #define E4_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_SHIFT 5 379 #define E4_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_MASK 0x1 /* cf2en */ 380 #define E4_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_SHIFT 6 381 #define E4_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */ 382 #define E4_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7 383 u8 flags4; 384 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */ 385 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 0 386 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */ 387 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 1 388 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */ 389 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 2 390 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */ 391 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 3 392 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */ 393 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 4 394 #define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf9en */ 395 #define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 5 396 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */ 397 #define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 6 398 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 399 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7 400 u8 flags5; 401 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 402 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0 403 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 404 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1 405 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 406 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2 407 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 408 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3 409 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */ 410 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4 411 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */ 412 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5 413 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */ 414 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6 415 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */ 416 #define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7 417 __le32 reg0 /* reg0 */; 418 __le32 reg1 /* reg1 */; 419 __le32 reg2 /* reg2 */; 420 __le32 reg3 /* reg3 */; 421 __le32 reg4 /* reg4 */; 422 __le32 reg5 /* reg5 */; 423 __le32 reg6 /* reg6 */; 424 __le32 reg7 /* reg7 */; 425 __le32 reg8 /* reg8 */; 426 u8 cid_offload_cnt /* byte2 */; 427 u8 byte3 /* byte3 */; 428 __le16 word0 /* word0 */; 429 }; 430 431 struct e4_ustorm_iscsi_conn_ag_ctx 432 { 433 u8 byte0 /* cdu_validation */; 434 u8 byte1 /* state */; 435 u8 flags0; 436 #define E4_USTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */ 437 #define E4_USTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0 438 #define E4_USTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 439 #define E4_USTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 440 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */ 441 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2 442 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */ 443 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4 444 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */ 445 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6 446 u8 flags1; 447 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */ 448 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF3_SHIFT 0 449 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */ 450 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 2 451 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */ 452 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 4 453 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */ 454 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 6 455 u8 flags2; 456 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 457 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0 458 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 459 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1 460 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 461 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2 462 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */ 463 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF3EN_SHIFT 3 464 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */ 465 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 4 466 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */ 467 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 5 468 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */ 469 #define E4_USTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 6 470 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 471 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7 472 u8 flags3; 473 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 474 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0 475 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 476 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1 477 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 478 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2 479 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 480 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3 481 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */ 482 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4 483 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */ 484 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5 485 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */ 486 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6 487 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */ 488 #define E4_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7 489 u8 byte2 /* byte2 */; 490 u8 byte3 /* byte3 */; 491 __le16 word0 /* conn_dpi */; 492 __le16 word1 /* word1 */; 493 __le32 reg0 /* reg0 */; 494 __le32 reg1 /* reg1 */; 495 __le32 reg2 /* reg2 */; 496 __le32 reg3 /* reg3 */; 497 __le16 word2 /* word2 */; 498 __le16 word3 /* word3 */; 499 }; 500 501 /* 502 * The iscsi storm connection context of Tstorm 503 */ 504 struct tstorm_iscsi_conn_st_ctx 505 { 506 __le32 reserved[40]; 507 }; 508 509 struct e4_mstorm_iscsi_conn_ag_ctx 510 { 511 u8 reserved /* cdu_validation */; 512 u8 state /* state */; 513 u8 flags0; 514 #define E4_MSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */ 515 #define E4_MSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0 516 #define E4_MSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 517 #define E4_MSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 518 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */ 519 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2 520 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */ 521 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4 522 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */ 523 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6 524 u8 flags1; 525 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 526 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0 527 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 528 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1 529 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 530 #define E4_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2 531 #define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 532 #define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3 533 #define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 534 #define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4 535 #define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 536 #define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5 537 #define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 538 #define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6 539 #define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 540 #define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7 541 __le16 word0 /* word0 */; 542 __le16 word1 /* word1 */; 543 __le32 reg0 /* reg0 */; 544 __le32 reg1 /* reg1 */; 545 }; 546 547 /* 548 * Combined iSCSI and TCP storm connection of Mstorm 549 */ 550 struct mstorm_iscsi_tcp_conn_st_ctx 551 { 552 __le32 reserved_tcp[20]; 553 __le32 reserved_iscsi[8]; 554 }; 555 556 /* 557 * The iscsi storm context of Ustorm 558 */ 559 struct ustorm_iscsi_conn_st_ctx 560 { 561 __le32 reserved[52]; 562 }; 563 564 /* 565 * iscsi connection context 566 */ 567 struct iscsi_conn_context 568 { 569 struct ystorm_iscsi_conn_st_ctx ystorm_st_context /* ystorm storm context */; 570 struct regpair ystorm_st_padding[2] /* padding */; 571 struct pstorm_iscsi_tcp_conn_st_ctx pstorm_st_context /* pstorm storm context */; 572 struct regpair pstorm_st_padding[2] /* padding */; 573 struct pb_context xpb2_context /* xpb2 context */; 574 struct xstorm_iscsi_tcp_conn_st_ctx xstorm_st_context /* xstorm storm context */; 575 struct regpair xstorm_st_padding[2] /* padding */; 576 struct e4_xstorm_iscsi_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */; 577 struct e4_tstorm_iscsi_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */; 578 struct regpair tstorm_ag_padding[2] /* padding */; 579 struct timers_context timer_context /* timer context */; 580 struct e4_ustorm_iscsi_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */; 581 struct pb_context upb_context /* upb context */; 582 struct tstorm_iscsi_conn_st_ctx tstorm_st_context /* tstorm storm context */; 583 struct regpair tstorm_st_padding[2] /* padding */; 584 struct e4_mstorm_iscsi_conn_ag_ctx mstorm_ag_context /* mstorm aggregative context */; 585 struct mstorm_iscsi_tcp_conn_st_ctx mstorm_st_context /* mstorm storm context */; 586 struct ustorm_iscsi_conn_st_ctx ustorm_st_context /* ustorm storm context */; 587 }; 588 589 590 /* 591 * iSCSI init params passed by driver to FW in iSCSI init ramrod 592 */ 593 struct iscsi_init_ramrod_params 594 { 595 struct iscsi_spe_func_init iscsi_init_spe /* parameters initialized by the miniport and handed to bus-driver */; 596 struct tcp_init_params tcp_init /* TCP parameters initialized by the bus-driver */; 597 }; 598 599 600 601 602 603 604 605 606 607 608 609 610 struct e4_ystorm_iscsi_conn_ag_ctx 611 { 612 u8 byte0 /* cdu_validation */; 613 u8 byte1 /* state */; 614 u8 flags0; 615 #define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */ 616 #define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0 617 #define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 618 #define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 619 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */ 620 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2 621 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */ 622 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4 623 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */ 624 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6 625 u8 flags1; 626 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 627 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0 628 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 629 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1 630 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 631 #define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2 632 #define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 633 #define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3 634 #define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 635 #define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4 636 #define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 637 #define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5 638 #define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 639 #define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6 640 #define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 641 #define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7 642 u8 byte2 /* byte2 */; 643 u8 byte3 /* byte3 */; 644 __le16 word0 /* word0 */; 645 __le32 reg0 /* reg0 */; 646 __le32 reg1 /* reg1 */; 647 __le16 word1 /* word1 */; 648 __le16 word2 /* word2 */; 649 __le16 word3 /* word3 */; 650 __le16 word4 /* word4 */; 651 __le32 reg2 /* reg2 */; 652 __le32 reg3 /* reg3 */; 653 }; 654 655 656 struct e5_mstorm_iscsi_conn_ag_ctx 657 { 658 u8 reserved /* cdu_validation */; 659 u8 state_and_core_id /* state_and_core_id */; 660 u8 flags0; 661 #define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */ 662 #define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0 663 #define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 664 #define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 665 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */ 666 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2 667 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */ 668 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4 669 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */ 670 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6 671 u8 flags1; 672 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 673 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0 674 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 675 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1 676 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 677 #define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2 678 #define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 679 #define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3 680 #define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 681 #define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4 682 #define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 683 #define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5 684 #define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 685 #define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6 686 #define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 687 #define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7 688 __le16 word0 /* word0 */; 689 __le16 word1 /* word1 */; 690 __le32 reg0 /* reg0 */; 691 __le32 reg1 /* reg1 */; 692 }; 693 694 695 struct e5_tstorm_iscsi_conn_ag_ctx 696 { 697 u8 reserved0 /* cdu_validation */; 698 u8 state_and_core_id /* state_and_core_id */; 699 u8 flags0; 700 #define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */ 701 #define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0 702 #define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 703 #define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 704 #define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */ 705 #define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_SHIFT 2 706 #define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */ 707 #define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_SHIFT 3 708 #define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */ 709 #define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 4 710 #define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */ 711 #define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_SHIFT 5 712 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */ 713 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 6 714 u8 flags1; 715 #define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_MASK 0x3 /* timer1cf */ 716 #define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_SHIFT 0 717 #define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_MASK 0x3 /* timer2cf */ 718 #define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_SHIFT 2 719 #define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */ 720 #define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 4 721 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */ 722 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 6 723 u8 flags2; 724 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */ 725 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 0 726 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */ 727 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 2 728 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */ 729 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 4 730 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */ 731 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 6 732 u8 flags3; 733 #define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf9 */ 734 #define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT 0 735 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */ 736 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 2 737 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 738 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 4 739 #define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_MASK 0x1 /* cf1en */ 740 #define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_SHIFT 5 741 #define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_MASK 0x1 /* cf2en */ 742 #define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_SHIFT 6 743 #define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */ 744 #define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7 745 u8 flags4; 746 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */ 747 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 0 748 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */ 749 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 1 750 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */ 751 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 2 752 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */ 753 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 3 754 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */ 755 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 4 756 #define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf9en */ 757 #define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 5 758 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */ 759 #define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 6 760 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 761 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7 762 u8 flags5; 763 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 764 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0 765 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 766 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1 767 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 768 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2 769 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 770 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3 771 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */ 772 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4 773 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */ 774 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5 775 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */ 776 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6 777 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */ 778 #define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7 779 u8 flags6; 780 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */ 781 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0 782 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */ 783 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1 784 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */ 785 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2 786 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */ 787 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 3 788 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */ 789 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 5 790 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */ 791 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 6 792 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */ 793 #define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_SHIFT 7 794 u8 cid_offload_cnt /* byte2 */; 795 __le16 word0 /* word0 */; 796 __le32 reg0 /* reg0 */; 797 __le32 reg1 /* reg1 */; 798 __le32 reg2 /* reg2 */; 799 __le32 reg3 /* reg3 */; 800 __le32 reg4 /* reg4 */; 801 __le32 reg5 /* reg5 */; 802 __le32 reg6 /* reg6 */; 803 __le32 reg7 /* reg7 */; 804 __le32 reg8 /* reg8 */; 805 }; 806 807 808 struct e5_ustorm_iscsi_conn_ag_ctx 809 { 810 u8 byte0 /* cdu_validation */; 811 u8 byte1 /* state_and_core_id */; 812 u8 flags0; 813 #define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */ 814 #define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0 815 #define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 816 #define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 817 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */ 818 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2 819 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */ 820 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4 821 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */ 822 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6 823 u8 flags1; 824 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */ 825 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_SHIFT 0 826 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */ 827 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 2 828 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */ 829 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 4 830 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */ 831 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 6 832 u8 flags2; 833 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 834 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0 835 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 836 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1 837 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 838 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2 839 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */ 840 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_SHIFT 3 841 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */ 842 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 4 843 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */ 844 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 5 845 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */ 846 #define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 6 847 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 848 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7 849 u8 flags3; 850 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 851 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0 852 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 853 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1 854 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 855 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2 856 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 857 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3 858 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */ 859 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4 860 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */ 861 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5 862 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */ 863 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6 864 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */ 865 #define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7 866 u8 flags4; 867 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */ 868 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0 869 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */ 870 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1 871 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf7 */ 872 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2 873 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf8 */ 874 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 4 875 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf7en */ 876 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 6 877 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf8en */ 878 #define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 7 879 u8 byte2 /* byte2 */; 880 __le16 word0 /* conn_dpi */; 881 __le16 word1 /* word1 */; 882 __le32 reg0 /* reg0 */; 883 __le32 reg1 /* reg1 */; 884 __le32 reg2 /* reg2 */; 885 __le32 reg3 /* reg3 */; 886 __le16 word2 /* word2 */; 887 __le16 word3 /* word3 */; 888 }; 889 890 891 struct e5_xstorm_iscsi_conn_ag_ctx 892 { 893 u8 cdu_validation /* cdu_validation */; 894 u8 state_and_core_id /* state_and_core_id */; 895 u8 flags0; 896 #define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */ 897 #define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0 898 #define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_MASK 0x1 /* exist_in_qm1 */ 899 #define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_SHIFT 1 900 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_MASK 0x1 /* exist_in_qm2 */ 901 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_SHIFT 2 902 #define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1 /* exist_in_qm3 */ 903 #define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3 904 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */ 905 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 4 906 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_MASK 0x1 /* cf_array_active */ 907 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_SHIFT 5 908 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT6_MASK 0x1 /* bit6 */ 909 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT6_SHIFT 6 910 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT7_MASK 0x1 /* bit7 */ 911 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT7_SHIFT 7 912 u8 flags1; 913 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT8_MASK 0x1 /* bit8 */ 914 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT8_SHIFT 0 915 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT9_MASK 0x1 /* bit9 */ 916 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT9_SHIFT 1 917 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT10_MASK 0x1 /* bit10 */ 918 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT10_SHIFT 2 919 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */ 920 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT11_SHIFT 3 921 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */ 922 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT12_SHIFT 4 923 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */ 924 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT13_SHIFT 5 925 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT14_MASK 0x1 /* bit14 */ 926 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT14_SHIFT 6 927 #define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_MASK 0x1 /* bit15 */ 928 #define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_SHIFT 7 929 u8 flags2; 930 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */ 931 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 0 932 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */ 933 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 2 934 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */ 935 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 4 936 #define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */ 937 #define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 6 938 u8 flags3; 939 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */ 940 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 0 941 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */ 942 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 2 943 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */ 944 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 4 945 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */ 946 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 6 947 u8 flags4; 948 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */ 949 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 0 950 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */ 951 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9_SHIFT 2 952 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */ 953 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 4 954 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11_MASK 0x3 /* cf11 */ 955 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11_SHIFT 6 956 u8 flags5; 957 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12_MASK 0x3 /* cf12 */ 958 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12_SHIFT 0 959 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13_MASK 0x3 /* cf13 */ 960 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13_SHIFT 2 961 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14_MASK 0x3 /* cf14 */ 962 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14_SHIFT 4 963 #define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_MASK 0x3 /* cf15 */ 964 #define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_SHIFT 6 965 u8 flags6; 966 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16_MASK 0x3 /* cf16 */ 967 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16_SHIFT 0 968 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17_MASK 0x3 /* cf_array_cf */ 969 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17_SHIFT 2 970 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18_MASK 0x3 /* cf18 */ 971 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18_SHIFT 4 972 #define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_MASK 0x3 /* cf19 */ 973 #define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_SHIFT 6 974 u8 flags7; 975 #define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_MASK 0x3 /* cf20 */ 976 #define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_SHIFT 0 977 #define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_MASK 0x3 /* cf21 */ 978 #define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_SHIFT 2 979 #define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_MASK 0x3 /* cf22 */ 980 #define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_SHIFT 4 981 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 982 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 6 983 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 984 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 7 985 u8 flags8; 986 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 987 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 0 988 #define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */ 989 #define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 1 990 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */ 991 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 2 992 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */ 993 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 3 994 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */ 995 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 4 996 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */ 997 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 5 998 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */ 999 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 6 1000 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */ 1001 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_SHIFT 7 1002 u8 flags9; 1003 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */ 1004 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 0 1005 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_MASK 0x1 /* cf11en */ 1006 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_SHIFT 1 1007 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_MASK 0x1 /* cf12en */ 1008 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_SHIFT 2 1009 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_MASK 0x1 /* cf13en */ 1010 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_SHIFT 3 1011 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_MASK 0x1 /* cf14en */ 1012 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_SHIFT 4 1013 #define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_MASK 0x1 /* cf15en */ 1014 #define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_SHIFT 5 1015 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_MASK 0x1 /* cf16en */ 1016 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_SHIFT 6 1017 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_MASK 0x1 /* cf_array_cf_en */ 1018 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_SHIFT 7 1019 u8 flags10; 1020 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_MASK 0x1 /* cf18en */ 1021 #define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_SHIFT 0 1022 #define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_MASK 0x1 /* cf19en */ 1023 #define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT 1 1024 #define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_MASK 0x1 /* cf20en */ 1025 #define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_SHIFT 2 1026 #define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_MASK 0x1 /* cf21en */ 1027 #define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_SHIFT 3 1028 #define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1 /* cf22en */ 1029 #define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4 1030 #define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_MASK 0x1 /* cf23en */ 1031 #define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_SHIFT 5 1032 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 1033 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 6 1034 #define E5_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_MASK 0x1 /* rule1en */ 1035 #define E5_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_SHIFT 7 1036 u8 flags11; 1037 #define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_MASK 0x1 /* rule2en */ 1038 #define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT 0 1039 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 1040 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 1 1041 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_MASK 0x1 /* rule4en */ 1042 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_SHIFT 2 1043 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */ 1044 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 3 1045 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */ 1046 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 4 1047 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */ 1048 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 5 1049 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_MASK 0x1 /* rule8en */ 1050 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_SHIFT 6 1051 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_MASK 0x1 /* rule9en */ 1052 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_SHIFT 7 1053 u8 flags12; 1054 #define E5_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_MASK 0x1 /* rule10en */ 1055 #define E5_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_SHIFT 0 1056 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_MASK 0x1 /* rule11en */ 1057 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_SHIFT 1 1058 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_MASK 0x1 /* rule12en */ 1059 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_SHIFT 2 1060 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_MASK 0x1 /* rule13en */ 1061 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_SHIFT 3 1062 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_MASK 0x1 /* rule14en */ 1063 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_SHIFT 4 1064 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_MASK 0x1 /* rule15en */ 1065 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_SHIFT 5 1066 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_MASK 0x1 /* rule16en */ 1067 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_SHIFT 6 1068 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_MASK 0x1 /* rule17en */ 1069 #define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_SHIFT 7 1070 u8 flags13; 1071 #define E5_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_MASK 0x1 /* rule18en */ 1072 #define E5_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_SHIFT 0 1073 #define E5_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_MASK 0x1 /* rule19en */ 1074 #define E5_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_SHIFT 1 1075 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_MASK 0x1 /* rule20en */ 1076 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_SHIFT 2 1077 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_MASK 0x1 /* rule21en */ 1078 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_SHIFT 3 1079 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_MASK 0x1 /* rule22en */ 1080 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_SHIFT 4 1081 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_MASK 0x1 /* rule23en */ 1082 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_SHIFT 5 1083 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_MASK 0x1 /* rule24en */ 1084 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_SHIFT 6 1085 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_MASK 0x1 /* rule25en */ 1086 #define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_SHIFT 7 1087 u8 flags14; 1088 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT16_MASK 0x1 /* bit16 */ 1089 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT16_SHIFT 0 1090 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT17_MASK 0x1 /* bit17 */ 1091 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT17_SHIFT 1 1092 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT18_MASK 0x1 /* bit18 */ 1093 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT18_SHIFT 2 1094 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT19_MASK 0x1 /* bit19 */ 1095 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT19_SHIFT 3 1096 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT20_MASK 0x1 /* bit20 */ 1097 #define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT20_SHIFT 4 1098 #define E5_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_MASK 0x1 /* bit21 */ 1099 #define E5_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_SHIFT 5 1100 #define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_MASK 0x3 /* cf23 */ 1101 #define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_SHIFT 6 1102 u8 byte2 /* byte2 */; 1103 __le16 physical_q0 /* physical_q0 */; 1104 __le16 physical_q1 /* physical_q1 */; 1105 __le16 dummy_dorq_var /* physical_q2 */; 1106 __le16 sq_cons /* word3 */; 1107 __le16 sq_prod /* word4 */; 1108 __le16 word5 /* word5 */; 1109 __le16 slow_io_total_data_tx_update /* conn_dpi */; 1110 u8 byte3 /* byte3 */; 1111 u8 byte4 /* byte4 */; 1112 u8 byte5 /* byte5 */; 1113 u8 byte6 /* byte6 */; 1114 __le32 reg0 /* reg0 */; 1115 __le32 reg1 /* reg1 */; 1116 __le32 reg2 /* reg2 */; 1117 __le32 more_to_send_seq /* reg3 */; 1118 __le32 reg4 /* reg4 */; 1119 __le32 reg5 /* cf_array0 */; 1120 __le32 hq_scan_next_relevant_ack /* cf_array1 */; 1121 u8 flags15; 1122 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit22 */ 1123 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0 1124 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit23 */ 1125 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1 1126 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit24 */ 1127 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2 1128 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf24 */ 1129 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 3 1130 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf24en */ 1131 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 5 1132 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule26en */ 1133 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 6 1134 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule27en */ 1135 #define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_SHIFT 7 1136 u8 byte7 /* byte7 */; 1137 __le16 r2tq_prod /* word7 */; 1138 __le16 r2tq_cons /* word8 */; 1139 __le16 hq_prod /* word9 */; 1140 __le16 hq_cons /* word10 */; 1141 __le16 word11 /* word11 */; 1142 __le32 remain_seq /* reg7 */; 1143 __le32 bytes_to_next_pdu /* reg8 */; 1144 __le32 hq_tcp_seq /* reg9 */; 1145 u8 byte8 /* byte8 */; 1146 u8 byte9 /* byte9 */; 1147 u8 byte10 /* byte10 */; 1148 u8 byte11 /* byte11 */; 1149 u8 byte12 /* byte12 */; 1150 u8 byte13 /* byte13 */; 1151 u8 byte14 /* byte14 */; 1152 u8 byte15 /* byte15 */; 1153 __le32 reg10 /* reg10 */; 1154 __le32 reg11 /* reg11 */; 1155 __le32 reg12 /* reg12 */; 1156 __le32 ongoing_fast_rxmit_seq /* reg13 */; 1157 __le32 exp_stat_sn /* reg14 */; 1158 __le32 reg15 /* reg15 */; 1159 __le32 reg16 /* reg16 */; 1160 __le32 reg17 /* reg17 */; 1161 }; 1162 1163 1164 struct e5_ystorm_iscsi_conn_ag_ctx 1165 { 1166 u8 byte0 /* cdu_validation */; 1167 u8 byte1 /* state_and_core_id */; 1168 u8 flags0; 1169 #define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */ 1170 #define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0 1171 #define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 1172 #define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 1173 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */ 1174 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2 1175 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */ 1176 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4 1177 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */ 1178 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6 1179 u8 flags1; 1180 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 1181 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0 1182 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 1183 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1 1184 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 1185 #define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2 1186 #define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 1187 #define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3 1188 #define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 1189 #define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4 1190 #define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 1191 #define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5 1192 #define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 1193 #define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6 1194 #define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 1195 #define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7 1196 u8 byte2 /* byte2 */; 1197 u8 byte3 /* byte3 */; 1198 __le16 word0 /* word0 */; 1199 __le32 reg0 /* reg0 */; 1200 __le32 reg1 /* reg1 */; 1201 __le16 word1 /* word1 */; 1202 __le16 word2 /* word2 */; 1203 __le16 word3 /* word3 */; 1204 __le16 word4 /* word4 */; 1205 __le32 reg2 /* reg2 */; 1206 __le32 reg3 /* reg3 */; 1207 }; 1208 1209 #endif /* __ECORE_HSI_ISCSI__ */ 1210