ecore_hsi_iscsi.h revision 337517
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: stable/11/sys/dev/qlnx/qlnxe/ecore_hsi_iscsi.h 337517 2018-08-09 01:17:35Z davidcs $ 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 */ 47struct ystorm_iscsi_conn_st_ctx 48{ 49 __le32 reserved[8]; 50}; 51 52/* 53 * Combined iSCSI and TCP storm connection of Pstorm 54 */ 55struct 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 */ 64struct xstorm_iscsi_tcp_conn_st_ctx 65{ 66 __le32 reserved_tcp[4]; 67 __le32 reserved_iscsi[44]; 68}; 69 70struct 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 328struct 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 rx_tcp_checksum_err_cnt /* 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 426struct 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 */ 499struct tstorm_iscsi_conn_st_ctx 500{ 501 __le32 reserved[44]; 502}; 503 504struct 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 */ 545struct mstorm_iscsi_tcp_conn_st_ctx 546{ 547 __le32 reserved_tcp[20]; 548 __le32 reserved_iscsi[12]; 549}; 550 551/* 552 * The iscsi storm context of Ustorm 553 */ 554struct ustorm_iscsi_conn_st_ctx 555{ 556 __le32 reserved[52]; 557}; 558 559/* 560 * iscsi connection context 561 */ 562struct e4_iscsi_conn_context 563{ 564 struct ystorm_iscsi_conn_st_ctx ystorm_st_context /* ystorm storm context */; 565 struct pstorm_iscsi_tcp_conn_st_ctx pstorm_st_context /* pstorm storm context */; 566 struct regpair pstorm_st_padding[2] /* padding */; 567 struct pb_context xpb2_context /* xpb2 context */; 568 struct xstorm_iscsi_tcp_conn_st_ctx xstorm_st_context /* xstorm storm context */; 569 struct regpair xstorm_st_padding[2] /* padding */; 570 struct e4_xstorm_iscsi_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */; 571 struct e4_tstorm_iscsi_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */; 572 struct regpair tstorm_ag_padding[2] /* padding */; 573 struct timers_context timer_context /* timer context */; 574 struct e4_ustorm_iscsi_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */; 575 struct pb_context upb_context /* upb context */; 576 struct tstorm_iscsi_conn_st_ctx tstorm_st_context /* tstorm storm context */; 577 struct regpair tstorm_st_padding[2] /* padding */; 578 struct e4_mstorm_iscsi_conn_ag_ctx mstorm_ag_context /* mstorm aggregative context */; 579 struct mstorm_iscsi_tcp_conn_st_ctx mstorm_st_context /* mstorm storm context */; 580 struct ustorm_iscsi_conn_st_ctx ustorm_st_context /* ustorm storm context */; 581}; 582 583 584struct e5_xstorm_iscsi_conn_ag_ctx 585{ 586 u8 cdu_validation /* cdu_validation */; 587 u8 state_and_core_id /* state_and_core_id */; 588 u8 flags0; 589#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */ 590#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0 591#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_MASK 0x1 /* exist_in_qm1 */ 592#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_SHIFT 1 593#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_MASK 0x1 /* exist_in_qm2 */ 594#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_SHIFT 2 595#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_MASK 0x1 /* exist_in_qm3 */ 596#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_SHIFT 3 597#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */ 598#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 4 599#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_MASK 0x1 /* cf_array_active */ 600#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_SHIFT 5 601#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT6_MASK 0x1 /* bit6 */ 602#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT6_SHIFT 6 603#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT7_MASK 0x1 /* bit7 */ 604#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT7_SHIFT 7 605 u8 flags1; 606#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT8_MASK 0x1 /* bit8 */ 607#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT8_SHIFT 0 608#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT9_MASK 0x1 /* bit9 */ 609#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT9_SHIFT 1 610#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT10_MASK 0x1 /* bit10 */ 611#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT10_SHIFT 2 612#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT11_MASK 0x1 /* bit11 */ 613#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT11_SHIFT 3 614#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT12_MASK 0x1 /* bit12 */ 615#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT12_SHIFT 4 616#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT13_MASK 0x1 /* bit13 */ 617#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT13_SHIFT 5 618#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT14_MASK 0x1 /* bit14 */ 619#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT14_SHIFT 6 620#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_MASK 0x1 /* bit15 */ 621#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_SHIFT 7 622 u8 flags2; 623#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */ 624#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 0 625#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */ 626#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 2 627#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */ 628#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 4 629#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */ 630#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 6 631 u8 flags3; 632#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */ 633#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 0 634#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */ 635#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 2 636#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */ 637#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 4 638#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */ 639#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 6 640 u8 flags4; 641#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */ 642#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 0 643#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9_MASK 0x3 /* cf9 */ 644#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9_SHIFT 2 645#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */ 646#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 4 647#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11_MASK 0x3 /* cf11 */ 648#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11_SHIFT 6 649 u8 flags5; 650#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12_MASK 0x3 /* cf12 */ 651#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12_SHIFT 0 652#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13_MASK 0x3 /* cf13 */ 653#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13_SHIFT 2 654#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14_MASK 0x3 /* cf14 */ 655#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14_SHIFT 4 656#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_MASK 0x3 /* cf15 */ 657#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_SHIFT 6 658 u8 flags6; 659#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16_MASK 0x3 /* cf16 */ 660#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16_SHIFT 0 661#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17_MASK 0x3 /* cf_array_cf */ 662#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17_SHIFT 2 663#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18_MASK 0x3 /* cf18 */ 664#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18_SHIFT 4 665#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_MASK 0x3 /* cf19 */ 666#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_SHIFT 6 667 u8 flags7; 668#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_MASK 0x3 /* cf20 */ 669#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_SHIFT 0 670#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_MASK 0x3 /* cf21 */ 671#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_SHIFT 2 672#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_MASK 0x3 /* cf22 */ 673#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_SHIFT 4 674#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 675#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 6 676#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 677#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 7 678 u8 flags8; 679#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 680#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 0 681#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */ 682#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 1 683#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */ 684#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 2 685#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */ 686#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 3 687#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */ 688#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 4 689#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */ 690#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 5 691#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */ 692#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 6 693#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_MASK 0x1 /* cf9en */ 694#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_SHIFT 7 695 u8 flags9; 696#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */ 697#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 0 698#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_MASK 0x1 /* cf11en */ 699#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_SHIFT 1 700#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_MASK 0x1 /* cf12en */ 701#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_SHIFT 2 702#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_MASK 0x1 /* cf13en */ 703#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_SHIFT 3 704#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_MASK 0x1 /* cf14en */ 705#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_SHIFT 4 706#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_MASK 0x1 /* cf15en */ 707#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_SHIFT 5 708#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_MASK 0x1 /* cf16en */ 709#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_SHIFT 6 710#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_MASK 0x1 /* cf_array_cf_en */ 711#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_SHIFT 7 712 u8 flags10; 713#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_MASK 0x1 /* cf18en */ 714#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_SHIFT 0 715#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_MASK 0x1 /* cf19en */ 716#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT 1 717#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_MASK 0x1 /* cf20en */ 718#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_SHIFT 2 719#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_MASK 0x1 /* cf21en */ 720#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_SHIFT 3 721#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_MASK 0x1 /* cf22en */ 722#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_SHIFT 4 723#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_MASK 0x1 /* cf23en */ 724#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_SHIFT 5 725#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 726#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 6 727#define E5_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_MASK 0x1 /* rule1en */ 728#define E5_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_SHIFT 7 729 u8 flags11; 730#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_MASK 0x1 /* rule2en */ 731#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT 0 732#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 733#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 1 734#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_MASK 0x1 /* rule4en */ 735#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_SHIFT 2 736#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */ 737#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 3 738#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */ 739#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 4 740#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */ 741#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 5 742#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_MASK 0x1 /* rule8en */ 743#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_SHIFT 6 744#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_MASK 0x1 /* rule9en */ 745#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_SHIFT 7 746 u8 flags12; 747#define E5_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_MASK 0x1 /* rule10en */ 748#define E5_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_SHIFT 0 749#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_MASK 0x1 /* rule11en */ 750#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_SHIFT 1 751#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_MASK 0x1 /* rule12en */ 752#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_SHIFT 2 753#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_MASK 0x1 /* rule13en */ 754#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_SHIFT 3 755#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_MASK 0x1 /* rule14en */ 756#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_SHIFT 4 757#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_MASK 0x1 /* rule15en */ 758#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_SHIFT 5 759#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_MASK 0x1 /* rule16en */ 760#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_SHIFT 6 761#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_MASK 0x1 /* rule17en */ 762#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_SHIFT 7 763 u8 flags13; 764#define E5_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_MASK 0x1 /* rule18en */ 765#define E5_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_SHIFT 0 766#define E5_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_MASK 0x1 /* rule19en */ 767#define E5_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_SHIFT 1 768#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_MASK 0x1 /* rule20en */ 769#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_SHIFT 2 770#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_MASK 0x1 /* rule21en */ 771#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_SHIFT 3 772#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_MASK 0x1 /* rule22en */ 773#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_SHIFT 4 774#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_MASK 0x1 /* rule23en */ 775#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_SHIFT 5 776#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_MASK 0x1 /* rule24en */ 777#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_SHIFT 6 778#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_MASK 0x1 /* rule25en */ 779#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_SHIFT 7 780 u8 flags14; 781#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT16_MASK 0x1 /* bit16 */ 782#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT16_SHIFT 0 783#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT17_MASK 0x1 /* bit17 */ 784#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT17_SHIFT 1 785#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT18_MASK 0x1 /* bit18 */ 786#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT18_SHIFT 2 787#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT19_MASK 0x1 /* bit19 */ 788#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT19_SHIFT 3 789#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT20_MASK 0x1 /* bit20 */ 790#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT20_SHIFT 4 791#define E5_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_MASK 0x1 /* bit21 */ 792#define E5_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_SHIFT 5 793#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_MASK 0x3 /* cf23 */ 794#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_SHIFT 6 795 u8 byte2 /* byte2 */; 796 __le16 physical_q0 /* physical_q0 */; 797 __le16 physical_q1 /* physical_q1 */; 798 __le16 dummy_dorq_var /* physical_q2 */; 799 __le16 sq_cons /* word3 */; 800 __le16 sq_prod /* word4 */; 801 __le16 word5 /* word5 */; 802 __le16 slow_io_total_data_tx_update /* conn_dpi */; 803 u8 byte3 /* byte3 */; 804 u8 byte4 /* byte4 */; 805 u8 byte5 /* byte5 */; 806 u8 byte6 /* byte6 */; 807 __le32 reg0 /* reg0 */; 808 __le32 reg1 /* reg1 */; 809 __le32 reg2 /* reg2 */; 810 __le32 more_to_send_seq /* reg3 */; 811 __le32 reg4 /* reg4 */; 812 __le32 reg5 /* cf_array0 */; 813 __le32 hq_scan_next_relevant_ack /* cf_array1 */; 814 u8 flags15; 815#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit22 */ 816#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0 817#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit23 */ 818#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1 819#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit24 */ 820#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2 821#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf24 */ 822#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 3 823#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf24en */ 824#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 5 825#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule26en */ 826#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 6 827#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule27en */ 828#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_SHIFT 7 829 u8 byte7 /* byte7 */; 830 __le16 r2tq_prod /* word7 */; 831 __le16 r2tq_cons /* word8 */; 832 __le16 hq_prod /* word9 */; 833 __le16 hq_cons /* word10 */; 834 __le16 word11 /* word11 */; 835 __le32 remain_seq /* reg7 */; 836 __le32 bytes_to_next_pdu /* reg8 */; 837 __le32 hq_tcp_seq /* reg9 */; 838 u8 byte8 /* byte8 */; 839 u8 byte9 /* byte9 */; 840 u8 byte10 /* byte10 */; 841 u8 byte11 /* byte11 */; 842 u8 byte12 /* byte12 */; 843 u8 byte13 /* byte13 */; 844 u8 byte14 /* byte14 */; 845 u8 byte15 /* byte15 */; 846 __le32 reg10 /* reg10 */; 847 __le32 reg11 /* reg11 */; 848 __le32 reg12 /* reg12 */; 849 __le32 ongoing_fast_rxmit_seq /* reg13 */; 850 __le32 exp_stat_sn /* reg14 */; 851 __le32 reg15 /* reg15 */; 852 __le32 reg16 /* reg16 */; 853 __le32 reg17 /* reg17 */; 854}; 855 856struct e5_tstorm_iscsi_conn_ag_ctx 857{ 858 u8 reserved0 /* cdu_validation */; 859 u8 state_and_core_id /* state_and_core_id */; 860 u8 flags0; 861#define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK 0x1 /* exist_in_qm0 */ 862#define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0 863#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 864#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 865#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_MASK 0x1 /* bit2 */ 866#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_SHIFT 2 867#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_MASK 0x1 /* bit3 */ 868#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_SHIFT 3 869#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK 0x1 /* bit4 */ 870#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT 4 871#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_MASK 0x1 /* bit5 */ 872#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_SHIFT 5 873#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */ 874#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 6 875 u8 flags1; 876#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_MASK 0x3 /* timer1cf */ 877#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_SHIFT 0 878#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_MASK 0x3 /* timer2cf */ 879#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_SHIFT 2 880#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK 0x3 /* timer_stop_all */ 881#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT 4 882#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */ 883#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 6 884 u8 flags2; 885#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */ 886#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 0 887#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */ 888#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 2 889#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_MASK 0x3 /* cf7 */ 890#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT 4 891#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_MASK 0x3 /* cf8 */ 892#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT 6 893 u8 flags3; 894#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK 0x3 /* cf9 */ 895#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT 0 896#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_MASK 0x3 /* cf10 */ 897#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT 2 898#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 899#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 4 900#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_MASK 0x1 /* cf1en */ 901#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_SHIFT 5 902#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_MASK 0x1 /* cf2en */ 903#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_SHIFT 6 904#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK 0x1 /* cf3en */ 905#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7 906 u8 flags4; 907#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */ 908#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 0 909#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */ 910#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 1 911#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */ 912#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 2 913#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK 0x1 /* cf7en */ 914#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT 3 915#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK 0x1 /* cf8en */ 916#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT 4 917#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK 0x1 /* cf9en */ 918#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT 5 919#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK 0x1 /* cf10en */ 920#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT 6 921#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 922#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7 923 u8 flags5; 924#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 925#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0 926#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 927#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1 928#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 929#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2 930#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 931#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3 932#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */ 933#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4 934#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */ 935#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5 936#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */ 937#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6 938#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */ 939#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7 940 u8 flags6; 941#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit6 */ 942#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0 943#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit7 */ 944#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1 945#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK 0x1 /* bit8 */ 946#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2 947#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf11 */ 948#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 3 949#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf11en */ 950#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 5 951#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* rule9en */ 952#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 6 953#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_MASK 0x1 /* rule10en */ 954#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_SHIFT 7 955 u8 cid_offload_cnt /* byte2 */; 956 __le16 word0 /* word0 */; 957 __le32 reg0 /* reg0 */; 958 __le32 reg1 /* reg1 */; 959 __le32 reg2 /* reg2 */; 960 __le32 reg3 /* reg3 */; 961 __le32 reg4 /* reg4 */; 962 __le32 reg5 /* reg5 */; 963 __le32 reg6 /* reg6 */; 964 __le32 reg7 /* reg7 */; 965 __le32 reg8 /* reg8 */; 966}; 967 968struct e5_ustorm_iscsi_conn_ag_ctx 969{ 970 u8 byte0 /* cdu_validation */; 971 u8 byte1 /* state_and_core_id */; 972 u8 flags0; 973#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */ 974#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0 975#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 976#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 977#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* timer0cf */ 978#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2 979#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* timer1cf */ 980#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4 981#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* timer2cf */ 982#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6 983 u8 flags1; 984#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_MASK 0x3 /* timer_stop_all */ 985#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_SHIFT 0 986#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_MASK 0x3 /* cf4 */ 987#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT 2 988#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_MASK 0x3 /* cf5 */ 989#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT 4 990#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_MASK 0x3 /* cf6 */ 991#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT 6 992 u8 flags2; 993#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 994#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0 995#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 996#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1 997#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 998#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2 999#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_MASK 0x1 /* cf3en */ 1000#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_SHIFT 3 1001#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK 0x1 /* cf4en */ 1002#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT 4 1003#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK 0x1 /* cf5en */ 1004#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT 5 1005#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK 0x1 /* cf6en */ 1006#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT 6 1007#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 1008#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7 1009 u8 flags3; 1010#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 1011#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0 1012#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 1013#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1 1014#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 1015#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2 1016#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 1017#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3 1018#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK 0x1 /* rule5en */ 1019#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4 1020#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK 0x1 /* rule6en */ 1021#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5 1022#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK 0x1 /* rule7en */ 1023#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6 1024#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK 0x1 /* rule8en */ 1025#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7 1026 u8 flags4; 1027#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK 0x1 /* bit2 */ 1028#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0 1029#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK 0x1 /* bit3 */ 1030#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1 1031#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK 0x3 /* cf7 */ 1032#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2 1033#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK 0x3 /* cf8 */ 1034#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 4 1035#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK 0x1 /* cf7en */ 1036#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 6 1037#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK 0x1 /* cf8en */ 1038#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 7 1039 u8 byte2 /* byte2 */; 1040 __le16 word0 /* conn_dpi */; 1041 __le16 word1 /* word1 */; 1042 __le32 reg0 /* reg0 */; 1043 __le32 reg1 /* reg1 */; 1044 __le32 reg2 /* reg2 */; 1045 __le32 reg3 /* reg3 */; 1046 __le16 word2 /* word2 */; 1047 __le16 word3 /* word3 */; 1048}; 1049 1050struct e5_mstorm_iscsi_conn_ag_ctx 1051{ 1052 u8 reserved /* cdu_validation */; 1053 u8 state_and_core_id /* state_and_core_id */; 1054 u8 flags0; 1055#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */ 1056#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0 1057#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 1058#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 1059#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */ 1060#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2 1061#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */ 1062#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4 1063#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */ 1064#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6 1065 u8 flags1; 1066#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 1067#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0 1068#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 1069#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1 1070#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 1071#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2 1072#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 1073#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3 1074#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 1075#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4 1076#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 1077#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5 1078#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 1079#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6 1080#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 1081#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7 1082 __le16 word0 /* word0 */; 1083 __le16 word1 /* word1 */; 1084 __le32 reg0 /* reg0 */; 1085 __le32 reg1 /* reg1 */; 1086}; 1087 1088/* 1089 * iscsi connection context 1090 */ 1091struct e5_iscsi_conn_context 1092{ 1093 struct ystorm_iscsi_conn_st_ctx ystorm_st_context /* ystorm storm context */; 1094 struct regpair ystorm_st_padding[2] /* padding */; 1095 struct pstorm_iscsi_tcp_conn_st_ctx pstorm_st_context /* pstorm storm context */; 1096 struct regpair pstorm_st_padding[2] /* padding */; 1097 struct pb_context xpb2_context /* xpb2 context */; 1098 struct xstorm_iscsi_tcp_conn_st_ctx xstorm_st_context /* xstorm storm context */; 1099 struct regpair xstorm_st_padding[2] /* padding */; 1100 struct e5_xstorm_iscsi_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */; 1101 struct e5_tstorm_iscsi_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */; 1102 struct regpair tstorm_ag_padding[2] /* padding */; 1103 struct timers_context timer_context /* timer context */; 1104 struct e5_ustorm_iscsi_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */; 1105 struct pb_context upb_context /* upb context */; 1106 struct tstorm_iscsi_conn_st_ctx tstorm_st_context /* tstorm storm context */; 1107 struct regpair tstorm_st_padding[2] /* padding */; 1108 struct e5_mstorm_iscsi_conn_ag_ctx mstorm_ag_context /* mstorm aggregative context */; 1109 struct mstorm_iscsi_tcp_conn_st_ctx mstorm_st_context /* mstorm storm context */; 1110 struct ustorm_iscsi_conn_st_ctx ustorm_st_context /* ustorm storm context */; 1111}; 1112 1113 1114/* 1115 * iSCSI init params passed by driver to FW in iSCSI init ramrod 1116 */ 1117struct iscsi_init_ramrod_params 1118{ 1119 struct iscsi_spe_func_init iscsi_init_spe /* parameters initialized by the miniport and handed to bus-driver */; 1120 struct tcp_init_params tcp_init /* TCP parameters initialized by the bus-driver */; 1121}; 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134struct e4_ystorm_iscsi_conn_ag_ctx 1135{ 1136 u8 byte0 /* cdu_validation */; 1137 u8 byte1 /* state */; 1138 u8 flags0; 1139#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */ 1140#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0 1141#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 1142#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 1143#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */ 1144#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2 1145#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */ 1146#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4 1147#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */ 1148#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6 1149 u8 flags1; 1150#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 1151#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0 1152#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 1153#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1 1154#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 1155#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2 1156#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 1157#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3 1158#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 1159#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4 1160#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 1161#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5 1162#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 1163#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6 1164#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 1165#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7 1166 u8 byte2 /* byte2 */; 1167 u8 byte3 /* byte3 */; 1168 __le16 word0 /* word0 */; 1169 __le32 reg0 /* reg0 */; 1170 __le32 reg1 /* reg1 */; 1171 __le16 word1 /* word1 */; 1172 __le16 word2 /* word2 */; 1173 __le16 word3 /* word3 */; 1174 __le16 word4 /* word4 */; 1175 __le32 reg2 /* reg2 */; 1176 __le32 reg3 /* reg3 */; 1177}; 1178 1179 1180 1181 1182 1183 1184struct e5_ystorm_iscsi_conn_ag_ctx 1185{ 1186 u8 byte0 /* cdu_validation */; 1187 u8 byte1 /* state_and_core_id */; 1188 u8 flags0; 1189#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK 0x1 /* exist_in_qm0 */ 1190#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT 0 1191#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK 0x1 /* exist_in_qm1 */ 1192#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT 1 1193#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK 0x3 /* cf0 */ 1194#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT 2 1195#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK 0x3 /* cf1 */ 1196#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT 4 1197#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK 0x3 /* cf2 */ 1198#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT 6 1199 u8 flags1; 1200#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK 0x1 /* cf0en */ 1201#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT 0 1202#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK 0x1 /* cf1en */ 1203#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT 1 1204#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK 0x1 /* cf2en */ 1205#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT 2 1206#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK 0x1 /* rule0en */ 1207#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3 1208#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK 0x1 /* rule1en */ 1209#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4 1210#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK 0x1 /* rule2en */ 1211#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5 1212#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK 0x1 /* rule3en */ 1213#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6 1214#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK 0x1 /* rule4en */ 1215#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7 1216 u8 byte2 /* byte2 */; 1217 u8 byte3 /* byte3 */; 1218 __le16 word0 /* word0 */; 1219 __le32 reg0 /* reg0 */; 1220 __le32 reg1 /* reg1 */; 1221 __le16 word1 /* word1 */; 1222 __le16 word2 /* word2 */; 1223 __le16 word3 /* word3 */; 1224 __le16 word4 /* word4 */; 1225 __le32 reg2 /* reg2 */; 1226 __le32 reg3 /* reg3 */; 1227}; 1228 1229#endif /* __ECORE_HSI_ISCSI__ */ 1230