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