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