1316485Sdavidcs/*
2316485Sdavidcs * Copyright (c) 2017-2018 Cavium, Inc.
3316485Sdavidcs * All rights reserved.
4316485Sdavidcs *
5316485Sdavidcs *  Redistribution and use in source and binary forms, with or without
6316485Sdavidcs *  modification, are permitted provided that the following conditions
7316485Sdavidcs *  are met:
8316485Sdavidcs *
9316485Sdavidcs *  1. Redistributions of source code must retain the above copyright
10316485Sdavidcs *     notice, this list of conditions and the following disclaimer.
11316485Sdavidcs *  2. Redistributions in binary form must reproduce the above copyright
12316485Sdavidcs *     notice, this list of conditions and the following disclaimer in the
13316485Sdavidcs *     documentation and/or other materials provided with the distribution.
14316485Sdavidcs *
15316485Sdavidcs *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16316485Sdavidcs *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17316485Sdavidcs *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18316485Sdavidcs *  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19316485Sdavidcs *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20316485Sdavidcs *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21316485Sdavidcs *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22316485Sdavidcs *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23316485Sdavidcs *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24316485Sdavidcs *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25316485Sdavidcs *  POSSIBILITY OF SUCH DAMAGE.
26316485Sdavidcs *
27316485Sdavidcs * $FreeBSD: stable/11/sys/dev/qlnx/qlnxe/ecore_hsi_iscsi.h 337517 2018-08-09 01:17:35Z davidcs $
28316485Sdavidcs *
29316485Sdavidcs */
30316485Sdavidcs
31316485Sdavidcs#ifndef __ECORE_HSI_ISCSI__
32316485Sdavidcs#define __ECORE_HSI_ISCSI__
33316485Sdavidcs/****************************************/
34316485Sdavidcs/* Add include to common storage target */
35316485Sdavidcs/****************************************/
36316485Sdavidcs#include "storage_common.h"
37316485Sdavidcs
38316485Sdavidcs/*************************************************************************/
39316485Sdavidcs/* Add include to common iSCSI target for both eCore and protocol driver */
40316485Sdavidcs/************************************************************************/
41316485Sdavidcs#include "iscsi_common.h"
42316485Sdavidcs
43316485Sdavidcs
44316485Sdavidcs/*
45316485Sdavidcs * The iscsi storm connection context of Ystorm
46316485Sdavidcs */
47316485Sdavidcsstruct ystorm_iscsi_conn_st_ctx
48316485Sdavidcs{
49337517Sdavidcs	__le32 reserved[8];
50316485Sdavidcs};
51316485Sdavidcs
52316485Sdavidcs/*
53316485Sdavidcs * Combined iSCSI and TCP storm connection of Pstorm
54316485Sdavidcs */
55316485Sdavidcsstruct pstorm_iscsi_tcp_conn_st_ctx
56316485Sdavidcs{
57316485Sdavidcs	__le32 tcp[32];
58316485Sdavidcs	__le32 iscsi[4];
59316485Sdavidcs};
60316485Sdavidcs
61316485Sdavidcs/*
62316485Sdavidcs * The combined tcp and iscsi storm context of Xstorm
63316485Sdavidcs */
64316485Sdavidcsstruct xstorm_iscsi_tcp_conn_st_ctx
65316485Sdavidcs{
66316485Sdavidcs	__le32 reserved_tcp[4];
67337517Sdavidcs	__le32 reserved_iscsi[44];
68316485Sdavidcs};
69316485Sdavidcs
70316485Sdavidcsstruct e4_xstorm_iscsi_conn_ag_ctx
71316485Sdavidcs{
72316485Sdavidcs	u8 cdu_validation /* cdu_validation */;
73316485Sdavidcs	u8 state /* state */;
74316485Sdavidcs	u8 flags0;
75316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK                0x1 /* exist_in_qm0 */
76316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT               0
77316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_MASK                0x1 /* exist_in_qm1 */
78316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_SHIFT               1
79316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_MASK                   0x1 /* exist_in_qm2 */
80316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_SHIFT                  2
81316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_MASK                0x1 /* exist_in_qm3 */
82316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_SHIFT               3
83316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK                        0x1 /* bit4 */
84316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT                       4
85316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_MASK                   0x1 /* cf_array_active */
86316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_SHIFT                  5
87316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT6_MASK                        0x1 /* bit6 */
88316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT6_SHIFT                       6
89316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT7_MASK                        0x1 /* bit7 */
90316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT7_SHIFT                       7
91316485Sdavidcs	u8 flags1;
92316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT8_MASK                        0x1 /* bit8 */
93316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT8_SHIFT                       0
94316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT9_MASK                        0x1 /* bit9 */
95316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT9_SHIFT                       1
96316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT10_MASK                       0x1 /* bit10 */
97316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT10_SHIFT                      2
98316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT11_MASK                       0x1 /* bit11 */
99316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT11_SHIFT                      3
100316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT12_MASK                       0x1 /* bit12 */
101316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT12_SHIFT                      4
102316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT13_MASK                       0x1 /* bit13 */
103316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT13_SHIFT                      5
104316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT14_MASK                       0x1 /* bit14 */
105316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT14_SHIFT                      6
106316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_MASK                 0x1 /* bit15 */
107316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_SHIFT                7
108316485Sdavidcs	u8 flags2;
109316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF0_MASK                         0x3 /* timer0cf */
110316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT                        0
111316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF1_MASK                         0x3 /* timer1cf */
112316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT                        2
113316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF2_MASK                         0x3 /* timer2cf */
114316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT                        4
115316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK              0x3 /* timer_stop_all */
116316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT             6
117316485Sdavidcs	u8 flags3;
118316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF4_MASK                         0x3 /* cf4 */
119316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT                        0
120316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF5_MASK                         0x3 /* cf5 */
121316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT                        2
122316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF6_MASK                         0x3 /* cf6 */
123316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT                        4
124316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF7_MASK                         0x3 /* cf7 */
125316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT                        6
126316485Sdavidcs	u8 flags4;
127316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF8_MASK                         0x3 /* cf8 */
128316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT                        0
129316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF9_MASK                         0x3 /* cf9 */
130316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF9_SHIFT                        2
131316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF10_MASK                        0x3 /* cf10 */
132316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT                       4
133316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF11_MASK                        0x3 /* cf11 */
134316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF11_SHIFT                       6
135316485Sdavidcs	u8 flags5;
136316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF12_MASK                        0x3 /* cf12 */
137316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF12_SHIFT                       0
138316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF13_MASK                        0x3 /* cf13 */
139316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF13_SHIFT                       2
140316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF14_MASK                        0x3 /* cf14 */
141316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF14_SHIFT                       4
142316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_MASK     0x3 /* cf15 */
143316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_SHIFT    6
144316485Sdavidcs	u8 flags6;
145316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF16_MASK                        0x3 /* cf16 */
146316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF16_SHIFT                       0
147316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF17_MASK                        0x3 /* cf_array_cf */
148316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF17_SHIFT                       2
149316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF18_MASK                        0x3 /* cf18 */
150316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF18_SHIFT                       4
151316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_MASK                    0x3 /* cf19 */
152316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_SHIFT                   6
153316485Sdavidcs	u8 flags7;
154316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_MASK         0x3 /* cf20 */
155316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_SHIFT        0
156316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_MASK         0x3 /* cf21 */
157316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_SHIFT        2
158316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_MASK                   0x3 /* cf22 */
159316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_SHIFT                  4
160316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK                       0x1 /* cf0en */
161316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT                      6
162316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK                       0x1 /* cf1en */
163316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT                      7
164316485Sdavidcs	u8 flags8;
165316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK                       0x1 /* cf2en */
166316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT                      0
167316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK           0x1 /* cf3en */
168316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT          1
169316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK                       0x1 /* cf4en */
170316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT                      2
171316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK                       0x1 /* cf5en */
172316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT                      3
173316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK                       0x1 /* cf6en */
174316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT                      4
175316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK                       0x1 /* cf7en */
176316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT                      5
177316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK                       0x1 /* cf8en */
178316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT                      6
179316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_MASK                       0x1 /* cf9en */
180316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_SHIFT                      7
181316485Sdavidcs	u8 flags9;
182316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK                      0x1 /* cf10en */
183316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT                     0
184316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_MASK                      0x1 /* cf11en */
185316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_SHIFT                     1
186316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_MASK                      0x1 /* cf12en */
187316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_SHIFT                     2
188316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_MASK                      0x1 /* cf13en */
189316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_SHIFT                     3
190316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_MASK                      0x1 /* cf14en */
191316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_SHIFT                     4
192316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_MASK  0x1 /* cf15en */
193316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_SHIFT 5
194316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_MASK                      0x1 /* cf16en */
195316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_SHIFT                     6
196316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_MASK                      0x1 /* cf_array_cf_en */
197316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_SHIFT                     7
198316485Sdavidcs	u8 flags10;
199316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_MASK                      0x1 /* cf18en */
200316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_SHIFT                     0
201316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_MASK                 0x1 /* cf19en */
202316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT                1
203316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_MASK      0x1 /* cf20en */
204316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_SHIFT     2
205316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_MASK      0x1 /* cf21en */
206316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_SHIFT     3
207316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_MASK                0x1 /* cf22en */
208316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_SHIFT               4
209316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_MASK        0x1 /* cf23en */
210316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_SHIFT       5
211316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK                     0x1 /* rule0en */
212316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT                    6
213316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_MASK    0x1 /* rule1en */
214316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_SHIFT   7
215316485Sdavidcs	u8 flags11;
216316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_MASK               0x1 /* rule2en */
217316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT              0
218316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK                     0x1 /* rule3en */
219316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT                    1
220316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_MASK                   0x1 /* rule4en */
221316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_SHIFT                  2
222316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK                     0x1 /* rule5en */
223316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT                    3
224316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK                     0x1 /* rule6en */
225316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT                    4
226316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK                     0x1 /* rule7en */
227316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT                    5
228316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_MASK                0x1 /* rule8en */
229316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_SHIFT               6
230316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_MASK                     0x1 /* rule9en */
231316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_SHIFT                    7
232316485Sdavidcs	u8 flags12;
233316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_MASK              0x1 /* rule10en */
234316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_SHIFT             0
235316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_MASK                    0x1 /* rule11en */
236316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_SHIFT                   1
237316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_MASK                0x1 /* rule12en */
238316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_SHIFT               2
239316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_MASK                0x1 /* rule13en */
240316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_SHIFT               3
241316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_MASK                    0x1 /* rule14en */
242316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_SHIFT                   4
243316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_MASK                    0x1 /* rule15en */
244316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_SHIFT                   5
245316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_MASK                    0x1 /* rule16en */
246316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_SHIFT                   6
247316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_MASK                    0x1 /* rule17en */
248316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_SHIFT                   7
249316485Sdavidcs	u8 flags13;
250316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_MASK            0x1 /* rule18en */
251316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_SHIFT           0
252316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_MASK              0x1 /* rule19en */
253316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_SHIFT             1
254316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_MASK                0x1 /* rule20en */
255316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_SHIFT               2
256316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_MASK                0x1 /* rule21en */
257316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_SHIFT               3
258316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_MASK                0x1 /* rule22en */
259316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_SHIFT               4
260316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_MASK                0x1 /* rule23en */
261316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_SHIFT               5
262316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_MASK                0x1 /* rule24en */
263316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_SHIFT               6
264316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_MASK                0x1 /* rule25en */
265316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_SHIFT               7
266316485Sdavidcs	u8 flags14;
267316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT16_MASK                       0x1 /* bit16 */
268316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT16_SHIFT                      0
269316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT17_MASK                       0x1 /* bit17 */
270316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT17_SHIFT                      1
271316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT18_MASK                       0x1 /* bit18 */
272316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT18_SHIFT                      2
273316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT19_MASK                       0x1 /* bit19 */
274316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT19_SHIFT                      3
275316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT20_MASK                       0x1 /* bit20 */
276316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_BIT20_SHIFT                      4
277316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_MASK             0x1 /* bit21 */
278316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_SHIFT            5
279316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_MASK           0x3 /* cf23 */
280316485Sdavidcs#define E4_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_SHIFT          6
281316485Sdavidcs	u8 byte2 /* byte2 */;
282316485Sdavidcs	__le16 physical_q0 /* physical_q0 */;
283316485Sdavidcs	__le16 physical_q1 /* physical_q1 */;
284316485Sdavidcs	__le16 dummy_dorq_var /* physical_q2 */;
285316485Sdavidcs	__le16 sq_cons /* word3 */;
286316485Sdavidcs	__le16 sq_prod /* word4 */;
287316485Sdavidcs	__le16 word5 /* word5 */;
288316485Sdavidcs	__le16 slow_io_total_data_tx_update /* conn_dpi */;
289316485Sdavidcs	u8 byte3 /* byte3 */;
290316485Sdavidcs	u8 byte4 /* byte4 */;
291316485Sdavidcs	u8 byte5 /* byte5 */;
292316485Sdavidcs	u8 byte6 /* byte6 */;
293316485Sdavidcs	__le32 reg0 /* reg0 */;
294316485Sdavidcs	__le32 reg1 /* reg1 */;
295316485Sdavidcs	__le32 reg2 /* reg2 */;
296316485Sdavidcs	__le32 more_to_send_seq /* reg3 */;
297316485Sdavidcs	__le32 reg4 /* reg4 */;
298316485Sdavidcs	__le32 reg5 /* cf_array0 */;
299316485Sdavidcs	__le32 hq_scan_next_relevant_ack /* cf_array1 */;
300316485Sdavidcs	__le16 r2tq_prod /* word7 */;
301316485Sdavidcs	__le16 r2tq_cons /* word8 */;
302316485Sdavidcs	__le16 hq_prod /* word9 */;
303316485Sdavidcs	__le16 hq_cons /* word10 */;
304316485Sdavidcs	__le32 remain_seq /* reg7 */;
305316485Sdavidcs	__le32 bytes_to_next_pdu /* reg8 */;
306316485Sdavidcs	__le32 hq_tcp_seq /* reg9 */;
307316485Sdavidcs	u8 byte7 /* byte7 */;
308316485Sdavidcs	u8 byte8 /* byte8 */;
309316485Sdavidcs	u8 byte9 /* byte9 */;
310316485Sdavidcs	u8 byte10 /* byte10 */;
311316485Sdavidcs	u8 byte11 /* byte11 */;
312316485Sdavidcs	u8 byte12 /* byte12 */;
313316485Sdavidcs	u8 byte13 /* byte13 */;
314316485Sdavidcs	u8 byte14 /* byte14 */;
315316485Sdavidcs	u8 byte15 /* byte15 */;
316316485Sdavidcs	u8 e5_reserved /* e5_reserved */;
317316485Sdavidcs	__le16 word11 /* word11 */;
318316485Sdavidcs	__le32 reg10 /* reg10 */;
319316485Sdavidcs	__le32 reg11 /* reg11 */;
320316485Sdavidcs	__le32 exp_stat_sn /* reg12 */;
321316485Sdavidcs	__le32 ongoing_fast_rxmit_seq /* reg13 */;
322316485Sdavidcs	__le32 reg14 /* reg14 */;
323316485Sdavidcs	__le32 reg15 /* reg15 */;
324316485Sdavidcs	__le32 reg16 /* reg16 */;
325316485Sdavidcs	__le32 reg17 /* reg17 */;
326316485Sdavidcs};
327316485Sdavidcs
328316485Sdavidcsstruct e4_tstorm_iscsi_conn_ag_ctx
329316485Sdavidcs{
330316485Sdavidcs	u8 reserved0 /* cdu_validation */;
331316485Sdavidcs	u8 state /* state */;
332316485Sdavidcs	u8 flags0;
333316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK       0x1 /* exist_in_qm0 */
334316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT      0
335316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK               0x1 /* exist_in_qm1 */
336316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT              1
337316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT2_MASK               0x1 /* bit2 */
338316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT2_SHIFT              2
339316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT3_MASK               0x1 /* bit3 */
340316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT3_SHIFT              3
341316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK               0x1 /* bit4 */
342316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT              4
343316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT5_MASK               0x1 /* bit5 */
344316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_BIT5_SHIFT              5
345316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF0_MASK                0x3 /* timer0cf */
346316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT               6
347316485Sdavidcs	u8 flags1;
348316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_MASK       0x3 /* timer1cf */
349316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_SHIFT      0
350316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_MASK       0x3 /* timer2cf */
351316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_SHIFT      2
352316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK     0x3 /* timer_stop_all */
353316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT    4
354316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF4_MASK                0x3 /* cf4 */
355316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT               6
356316485Sdavidcs	u8 flags2;
357316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF5_MASK                0x3 /* cf5 */
358316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT               0
359316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF6_MASK                0x3 /* cf6 */
360316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT               2
361316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF7_MASK                0x3 /* cf7 */
362316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT               4
363316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF8_MASK                0x3 /* cf8 */
364316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT               6
365316485Sdavidcs	u8 flags3;
366316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK           0x3 /* cf9 */
367316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT          0
368316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10_MASK               0x3 /* cf10 */
369316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT              2
370316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK              0x1 /* cf0en */
371316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT             4
372316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_MASK    0x1 /* cf1en */
373316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_SHIFT   5
374316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_MASK    0x1 /* cf2en */
375316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_SHIFT   6
376316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK  0x1 /* cf3en */
377316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7
378316485Sdavidcs	u8 flags4;
379316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK              0x1 /* cf4en */
380316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT             0
381316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK              0x1 /* cf5en */
382316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT             1
383316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK              0x1 /* cf6en */
384316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT             2
385316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK              0x1 /* cf7en */
386316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT             3
387316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK              0x1 /* cf8en */
388316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT             4
389316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK        0x1 /* cf9en */
390316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT       5
391316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK             0x1 /* cf10en */
392316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT            6
393316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK            0x1 /* rule0en */
394316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT           7
395316485Sdavidcs	u8 flags5;
396316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK            0x1 /* rule1en */
397316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT           0
398316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK            0x1 /* rule2en */
399316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT           1
400316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK            0x1 /* rule3en */
401316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT           2
402316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK            0x1 /* rule4en */
403316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT           3
404316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK            0x1 /* rule5en */
405316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT           4
406316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK            0x1 /* rule6en */
407316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT           5
408316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK            0x1 /* rule7en */
409316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT           6
410316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK            0x1 /* rule8en */
411316485Sdavidcs#define E4_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT           7
412316485Sdavidcs	__le32 reg0 /* reg0 */;
413316485Sdavidcs	__le32 reg1 /* reg1 */;
414337517Sdavidcs	__le32 rx_tcp_checksum_err_cnt /* reg2 */;
415316485Sdavidcs	__le32 reg3 /* reg3 */;
416316485Sdavidcs	__le32 reg4 /* reg4 */;
417316485Sdavidcs	__le32 reg5 /* reg5 */;
418316485Sdavidcs	__le32 reg6 /* reg6 */;
419316485Sdavidcs	__le32 reg7 /* reg7 */;
420316485Sdavidcs	__le32 reg8 /* reg8 */;
421316485Sdavidcs	u8 cid_offload_cnt /* byte2 */;
422316485Sdavidcs	u8 byte3 /* byte3 */;
423316485Sdavidcs	__le16 word0 /* word0 */;
424316485Sdavidcs};
425316485Sdavidcs
426316485Sdavidcsstruct e4_ustorm_iscsi_conn_ag_ctx
427316485Sdavidcs{
428316485Sdavidcs	u8 byte0 /* cdu_validation */;
429316485Sdavidcs	u8 byte1 /* state */;
430316485Sdavidcs	u8 flags0;
431316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_BIT0_MASK     0x1 /* exist_in_qm0 */
432316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT    0
433316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_BIT1_MASK     0x1 /* exist_in_qm1 */
434316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT    1
435316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF0_MASK      0x3 /* timer0cf */
436316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT     2
437316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF1_MASK      0x3 /* timer1cf */
438316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT     4
439316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF2_MASK      0x3 /* timer2cf */
440316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT     6
441316485Sdavidcs	u8 flags1;
442316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF3_MASK      0x3 /* timer_stop_all */
443316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF3_SHIFT     0
444316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF4_MASK      0x3 /* cf4 */
445316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT     2
446316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF5_MASK      0x3 /* cf5 */
447316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT     4
448316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF6_MASK      0x3 /* cf6 */
449316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT     6
450316485Sdavidcs	u8 flags2;
451316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK    0x1 /* cf0en */
452316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT   0
453316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK    0x1 /* cf1en */
454316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT   1
455316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK    0x1 /* cf2en */
456316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT   2
457316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF3EN_MASK    0x1 /* cf3en */
458316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF3EN_SHIFT   3
459316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK    0x1 /* cf4en */
460316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT   4
461316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK    0x1 /* cf5en */
462316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT   5
463316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK    0x1 /* cf6en */
464316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT   6
465316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK  0x1 /* rule0en */
466316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 7
467316485Sdavidcs	u8 flags3;
468316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK  0x1 /* rule1en */
469316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 0
470316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK  0x1 /* rule2en */
471316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 1
472316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK  0x1 /* rule3en */
473316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 2
474316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK  0x1 /* rule4en */
475316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 3
476316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK  0x1 /* rule5en */
477316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT 4
478316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK  0x1 /* rule6en */
479316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT 5
480316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK  0x1 /* rule7en */
481316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT 6
482316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK  0x1 /* rule8en */
483316485Sdavidcs#define E4_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT 7
484316485Sdavidcs	u8 byte2 /* byte2 */;
485316485Sdavidcs	u8 byte3 /* byte3 */;
486316485Sdavidcs	__le16 word0 /* conn_dpi */;
487316485Sdavidcs	__le16 word1 /* word1 */;
488316485Sdavidcs	__le32 reg0 /* reg0 */;
489316485Sdavidcs	__le32 reg1 /* reg1 */;
490316485Sdavidcs	__le32 reg2 /* reg2 */;
491316485Sdavidcs	__le32 reg3 /* reg3 */;
492316485Sdavidcs	__le16 word2 /* word2 */;
493316485Sdavidcs	__le16 word3 /* word3 */;
494316485Sdavidcs};
495316485Sdavidcs
496316485Sdavidcs/*
497316485Sdavidcs * The iscsi storm connection context of Tstorm
498316485Sdavidcs */
499316485Sdavidcsstruct tstorm_iscsi_conn_st_ctx
500316485Sdavidcs{
501337517Sdavidcs	__le32 reserved[44];
502316485Sdavidcs};
503316485Sdavidcs
504316485Sdavidcsstruct e4_mstorm_iscsi_conn_ag_ctx
505316485Sdavidcs{
506316485Sdavidcs	u8 reserved /* cdu_validation */;
507316485Sdavidcs	u8 state /* state */;
508316485Sdavidcs	u8 flags0;
509316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK     0x1 /* exist_in_qm0 */
510316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT    0
511316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK     0x1 /* exist_in_qm1 */
512316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT    1
513316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF0_MASK      0x3 /* cf0 */
514316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT     2
515316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF1_MASK      0x3 /* cf1 */
516316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT     4
517316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF2_MASK      0x3 /* cf2 */
518316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT     6
519316485Sdavidcs	u8 flags1;
520316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK    0x1 /* cf0en */
521316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT   0
522316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK    0x1 /* cf1en */
523316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT   1
524316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK    0x1 /* cf2en */
525316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT   2
526316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK  0x1 /* rule0en */
527316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
528316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK  0x1 /* rule1en */
529316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
530316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK  0x1 /* rule2en */
531316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
532316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK  0x1 /* rule3en */
533316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
534316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK  0x1 /* rule4en */
535316485Sdavidcs#define E4_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
536316485Sdavidcs	__le16 word0 /* word0 */;
537316485Sdavidcs	__le16 word1 /* word1 */;
538316485Sdavidcs	__le32 reg0 /* reg0 */;
539316485Sdavidcs	__le32 reg1 /* reg1 */;
540316485Sdavidcs};
541316485Sdavidcs
542316485Sdavidcs/*
543316485Sdavidcs * Combined iSCSI and TCP storm connection of Mstorm
544316485Sdavidcs */
545316485Sdavidcsstruct mstorm_iscsi_tcp_conn_st_ctx
546316485Sdavidcs{
547316485Sdavidcs	__le32 reserved_tcp[20];
548337517Sdavidcs	__le32 reserved_iscsi[12];
549316485Sdavidcs};
550316485Sdavidcs
551316485Sdavidcs/*
552316485Sdavidcs * The iscsi storm context of Ustorm
553316485Sdavidcs */
554316485Sdavidcsstruct ustorm_iscsi_conn_st_ctx
555316485Sdavidcs{
556316485Sdavidcs	__le32 reserved[52];
557316485Sdavidcs};
558316485Sdavidcs
559316485Sdavidcs/*
560316485Sdavidcs * iscsi connection context
561316485Sdavidcs */
562320164Sdavidcsstruct e4_iscsi_conn_context
563316485Sdavidcs{
564316485Sdavidcs	struct ystorm_iscsi_conn_st_ctx ystorm_st_context /* ystorm storm context */;
565316485Sdavidcs	struct pstorm_iscsi_tcp_conn_st_ctx pstorm_st_context /* pstorm storm context */;
566316485Sdavidcs	struct regpair pstorm_st_padding[2] /* padding */;
567316485Sdavidcs	struct pb_context xpb2_context /* xpb2 context */;
568316485Sdavidcs	struct xstorm_iscsi_tcp_conn_st_ctx xstorm_st_context /* xstorm storm context */;
569316485Sdavidcs	struct regpair xstorm_st_padding[2] /* padding */;
570316485Sdavidcs	struct e4_xstorm_iscsi_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
571316485Sdavidcs	struct e4_tstorm_iscsi_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
572316485Sdavidcs	struct regpair tstorm_ag_padding[2] /* padding */;
573316485Sdavidcs	struct timers_context timer_context /* timer context */;
574316485Sdavidcs	struct e4_ustorm_iscsi_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
575316485Sdavidcs	struct pb_context upb_context /* upb context */;
576316485Sdavidcs	struct tstorm_iscsi_conn_st_ctx tstorm_st_context /* tstorm storm context */;
577316485Sdavidcs	struct regpair tstorm_st_padding[2] /* padding */;
578316485Sdavidcs	struct e4_mstorm_iscsi_conn_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
579316485Sdavidcs	struct mstorm_iscsi_tcp_conn_st_ctx mstorm_st_context /* mstorm storm context */;
580316485Sdavidcs	struct ustorm_iscsi_conn_st_ctx ustorm_st_context /* ustorm storm context */;
581316485Sdavidcs};
582316485Sdavidcs
583316485Sdavidcs
584316485Sdavidcsstruct e5_xstorm_iscsi_conn_ag_ctx
585316485Sdavidcs{
586316485Sdavidcs	u8 cdu_validation /* cdu_validation */;
587316485Sdavidcs	u8 state_and_core_id /* state_and_core_id */;
588316485Sdavidcs	u8 flags0;
589316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK                0x1 /* exist_in_qm0 */
590316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT               0
591316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_MASK                0x1 /* exist_in_qm1 */
592316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_SHIFT               1
593316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_MASK                   0x1 /* exist_in_qm2 */
594316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_SHIFT                  2
595316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_MASK                0x1 /* exist_in_qm3 */
596316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_SHIFT               3
597316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK                        0x1 /* bit4 */
598316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT                       4
599316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_MASK                   0x1 /* cf_array_active */
600316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_SHIFT                  5
601316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT6_MASK                        0x1 /* bit6 */
602316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT6_SHIFT                       6
603316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT7_MASK                        0x1 /* bit7 */
604316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT7_SHIFT                       7
605316485Sdavidcs	u8 flags1;
606316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT8_MASK                        0x1 /* bit8 */
607316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT8_SHIFT                       0
608316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT9_MASK                        0x1 /* bit9 */
609316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT9_SHIFT                       1
610316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT10_MASK                       0x1 /* bit10 */
611316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT10_SHIFT                      2
612316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT11_MASK                       0x1 /* bit11 */
613316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT11_SHIFT                      3
614316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT12_MASK                       0x1 /* bit12 */
615316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT12_SHIFT                      4
616316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT13_MASK                       0x1 /* bit13 */
617316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT13_SHIFT                      5
618316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT14_MASK                       0x1 /* bit14 */
619316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT14_SHIFT                      6
620316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_MASK                 0x1 /* bit15 */
621316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_SHIFT                7
622316485Sdavidcs	u8 flags2;
623316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0_MASK                         0x3 /* timer0cf */
624316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT                        0
625316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1_MASK                         0x3 /* timer1cf */
626316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT                        2
627316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2_MASK                         0x3 /* timer2cf */
628316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT                        4
629316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK              0x3 /* timer_stop_all */
630316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT             6
631316485Sdavidcs	u8 flags3;
632316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4_MASK                         0x3 /* cf4 */
633316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT                        0
634316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5_MASK                         0x3 /* cf5 */
635316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT                        2
636316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6_MASK                         0x3 /* cf6 */
637316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT                        4
638316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7_MASK                         0x3 /* cf7 */
639316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT                        6
640316485Sdavidcs	u8 flags4;
641316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8_MASK                         0x3 /* cf8 */
642316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT                        0
643316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9_MASK                         0x3 /* cf9 */
644316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9_SHIFT                        2
645316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10_MASK                        0x3 /* cf10 */
646316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT                       4
647316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11_MASK                        0x3 /* cf11 */
648316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11_SHIFT                       6
649316485Sdavidcs	u8 flags5;
650316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12_MASK                        0x3 /* cf12 */
651316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12_SHIFT                       0
652316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13_MASK                        0x3 /* cf13 */
653316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13_SHIFT                       2
654316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14_MASK                        0x3 /* cf14 */
655316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14_SHIFT                       4
656316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_MASK     0x3 /* cf15 */
657316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_SHIFT    6
658316485Sdavidcs	u8 flags6;
659316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16_MASK                        0x3 /* cf16 */
660316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16_SHIFT                       0
661316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17_MASK                        0x3 /* cf_array_cf */
662316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17_SHIFT                       2
663316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18_MASK                        0x3 /* cf18 */
664316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18_SHIFT                       4
665316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_MASK                    0x3 /* cf19 */
666316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_SHIFT                   6
667316485Sdavidcs	u8 flags7;
668316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_MASK         0x3 /* cf20 */
669316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_SHIFT        0
670316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_MASK         0x3 /* cf21 */
671316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_SHIFT        2
672316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_MASK                   0x3 /* cf22 */
673316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_SHIFT                  4
674316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK                       0x1 /* cf0en */
675316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT                      6
676316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK                       0x1 /* cf1en */
677316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT                      7
678316485Sdavidcs	u8 flags8;
679316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK                       0x1 /* cf2en */
680316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT                      0
681316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK           0x1 /* cf3en */
682316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT          1
683316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK                       0x1 /* cf4en */
684316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT                      2
685316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK                       0x1 /* cf5en */
686316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT                      3
687316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK                       0x1 /* cf6en */
688316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT                      4
689316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK                       0x1 /* cf7en */
690316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT                      5
691316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK                       0x1 /* cf8en */
692316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT                      6
693316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_MASK                       0x1 /* cf9en */
694316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_SHIFT                      7
695316485Sdavidcs	u8 flags9;
696316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK                      0x1 /* cf10en */
697316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT                     0
698316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_MASK                      0x1 /* cf11en */
699316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_SHIFT                     1
700316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_MASK                      0x1 /* cf12en */
701316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_SHIFT                     2
702316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_MASK                      0x1 /* cf13en */
703316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_SHIFT                     3
704316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_MASK                      0x1 /* cf14en */
705316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_SHIFT                     4
706316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_MASK  0x1 /* cf15en */
707316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_SHIFT 5
708316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_MASK                      0x1 /* cf16en */
709316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_SHIFT                     6
710316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_MASK                      0x1 /* cf_array_cf_en */
711316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_SHIFT                     7
712316485Sdavidcs	u8 flags10;
713316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_MASK                      0x1 /* cf18en */
714316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_SHIFT                     0
715316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_MASK                 0x1 /* cf19en */
716316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT                1
717316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_MASK      0x1 /* cf20en */
718316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_SHIFT     2
719316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_MASK      0x1 /* cf21en */
720316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_SHIFT     3
721316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_MASK                0x1 /* cf22en */
722316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_SHIFT               4
723316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_MASK        0x1 /* cf23en */
724316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_SHIFT       5
725316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK                     0x1 /* rule0en */
726316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT                    6
727316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_MASK    0x1 /* rule1en */
728316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_SHIFT   7
729316485Sdavidcs	u8 flags11;
730316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_MASK               0x1 /* rule2en */
731316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT              0
732316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK                     0x1 /* rule3en */
733316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT                    1
734316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_MASK                   0x1 /* rule4en */
735316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_SHIFT                  2
736316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK                     0x1 /* rule5en */
737316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT                    3
738316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK                     0x1 /* rule6en */
739316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT                    4
740316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK                     0x1 /* rule7en */
741316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT                    5
742316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_MASK                0x1 /* rule8en */
743316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_SHIFT               6
744316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_MASK                     0x1 /* rule9en */
745316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_SHIFT                    7
746316485Sdavidcs	u8 flags12;
747316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_MASK              0x1 /* rule10en */
748316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_SHIFT             0
749316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_MASK                    0x1 /* rule11en */
750316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_SHIFT                   1
751316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_MASK                0x1 /* rule12en */
752316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_SHIFT               2
753316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_MASK                0x1 /* rule13en */
754316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_SHIFT               3
755316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_MASK                    0x1 /* rule14en */
756316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_SHIFT                   4
757316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_MASK                    0x1 /* rule15en */
758316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_SHIFT                   5
759316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_MASK                    0x1 /* rule16en */
760316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_SHIFT                   6
761316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_MASK                    0x1 /* rule17en */
762316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_SHIFT                   7
763316485Sdavidcs	u8 flags13;
764316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_MASK            0x1 /* rule18en */
765316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_SHIFT           0
766316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_MASK              0x1 /* rule19en */
767316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_SHIFT             1
768316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_MASK                0x1 /* rule20en */
769316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_SHIFT               2
770316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_MASK                0x1 /* rule21en */
771316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_SHIFT               3
772316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_MASK                0x1 /* rule22en */
773316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_SHIFT               4
774316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_MASK                0x1 /* rule23en */
775316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_SHIFT               5
776316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_MASK                0x1 /* rule24en */
777316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_SHIFT               6
778316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_MASK                0x1 /* rule25en */
779316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_SHIFT               7
780316485Sdavidcs	u8 flags14;
781316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT16_MASK                       0x1 /* bit16 */
782316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT16_SHIFT                      0
783316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT17_MASK                       0x1 /* bit17 */
784316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT17_SHIFT                      1
785316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT18_MASK                       0x1 /* bit18 */
786316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT18_SHIFT                      2
787316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT19_MASK                       0x1 /* bit19 */
788316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT19_SHIFT                      3
789316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT20_MASK                       0x1 /* bit20 */
790316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT20_SHIFT                      4
791316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_MASK             0x1 /* bit21 */
792316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_SHIFT            5
793316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_MASK           0x3 /* cf23 */
794316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_SHIFT          6
795316485Sdavidcs	u8 byte2 /* byte2 */;
796316485Sdavidcs	__le16 physical_q0 /* physical_q0 */;
797316485Sdavidcs	__le16 physical_q1 /* physical_q1 */;
798316485Sdavidcs	__le16 dummy_dorq_var /* physical_q2 */;
799316485Sdavidcs	__le16 sq_cons /* word3 */;
800316485Sdavidcs	__le16 sq_prod /* word4 */;
801316485Sdavidcs	__le16 word5 /* word5 */;
802316485Sdavidcs	__le16 slow_io_total_data_tx_update /* conn_dpi */;
803316485Sdavidcs	u8 byte3 /* byte3 */;
804316485Sdavidcs	u8 byte4 /* byte4 */;
805316485Sdavidcs	u8 byte5 /* byte5 */;
806316485Sdavidcs	u8 byte6 /* byte6 */;
807316485Sdavidcs	__le32 reg0 /* reg0 */;
808316485Sdavidcs	__le32 reg1 /* reg1 */;
809316485Sdavidcs	__le32 reg2 /* reg2 */;
810316485Sdavidcs	__le32 more_to_send_seq /* reg3 */;
811316485Sdavidcs	__le32 reg4 /* reg4 */;
812316485Sdavidcs	__le32 reg5 /* cf_array0 */;
813316485Sdavidcs	__le32 hq_scan_next_relevant_ack /* cf_array1 */;
814316485Sdavidcs	u8 flags15;
815316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK                0x1 /* bit22 */
816316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT               0
817316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK                0x1 /* bit23 */
818316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT               1
819316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK                0x1 /* bit24 */
820316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT               2
821316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK                0x3 /* cf24 */
822316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT               3
823316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK                0x1 /* cf24en */
824316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT               5
825316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK                0x1 /* rule26en */
826316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT               6
827316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_MASK                0x1 /* rule27en */
828316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_SHIFT               7
829316485Sdavidcs	u8 byte7 /* byte7 */;
830316485Sdavidcs	__le16 r2tq_prod /* word7 */;
831316485Sdavidcs	__le16 r2tq_cons /* word8 */;
832316485Sdavidcs	__le16 hq_prod /* word9 */;
833316485Sdavidcs	__le16 hq_cons /* word10 */;
834316485Sdavidcs	__le16 word11 /* word11 */;
835316485Sdavidcs	__le32 remain_seq /* reg7 */;
836316485Sdavidcs	__le32 bytes_to_next_pdu /* reg8 */;
837316485Sdavidcs	__le32 hq_tcp_seq /* reg9 */;
838316485Sdavidcs	u8 byte8 /* byte8 */;
839316485Sdavidcs	u8 byte9 /* byte9 */;
840316485Sdavidcs	u8 byte10 /* byte10 */;
841316485Sdavidcs	u8 byte11 /* byte11 */;
842316485Sdavidcs	u8 byte12 /* byte12 */;
843316485Sdavidcs	u8 byte13 /* byte13 */;
844316485Sdavidcs	u8 byte14 /* byte14 */;
845316485Sdavidcs	u8 byte15 /* byte15 */;
846316485Sdavidcs	__le32 reg10 /* reg10 */;
847316485Sdavidcs	__le32 reg11 /* reg11 */;
848316485Sdavidcs	__le32 reg12 /* reg12 */;
849316485Sdavidcs	__le32 ongoing_fast_rxmit_seq /* reg13 */;
850316485Sdavidcs	__le32 exp_stat_sn /* reg14 */;
851316485Sdavidcs	__le32 reg15 /* reg15 */;
852316485Sdavidcs	__le32 reg16 /* reg16 */;
853316485Sdavidcs	__le32 reg17 /* reg17 */;
854316485Sdavidcs};
855316485Sdavidcs
856320164Sdavidcsstruct e5_tstorm_iscsi_conn_ag_ctx
857320164Sdavidcs{
858320164Sdavidcs	u8 reserved0 /* cdu_validation */;
859320164Sdavidcs	u8 state_and_core_id /* state_and_core_id */;
860320164Sdavidcs	u8 flags0;
861320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK       0x1 /* exist_in_qm0 */
862320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT      0
863320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK               0x1 /* exist_in_qm1 */
864320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT              1
865320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_MASK               0x1 /* bit2 */
866320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_SHIFT              2
867320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_MASK               0x1 /* bit3 */
868320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_SHIFT              3
869320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK               0x1 /* bit4 */
870320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT              4
871320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_MASK               0x1 /* bit5 */
872320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_SHIFT              5
873320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_MASK                0x3 /* timer0cf */
874320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT               6
875320164Sdavidcs	u8 flags1;
876320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_MASK       0x3 /* timer1cf */
877320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_SHIFT      0
878320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_MASK       0x3 /* timer2cf */
879320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_SHIFT      2
880320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK     0x3 /* timer_stop_all */
881320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT    4
882320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_MASK                0x3 /* cf4 */
883320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT               6
884320164Sdavidcs	u8 flags2;
885320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_MASK                0x3 /* cf5 */
886320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT               0
887320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_MASK                0x3 /* cf6 */
888320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT               2
889320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_MASK                0x3 /* cf7 */
890320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT               4
891320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_MASK                0x3 /* cf8 */
892320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT               6
893320164Sdavidcs	u8 flags3;
894320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK           0x3 /* cf9 */
895320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT          0
896320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_MASK               0x3 /* cf10 */
897320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT              2
898320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK              0x1 /* cf0en */
899320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT             4
900320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_MASK    0x1 /* cf1en */
901320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_SHIFT   5
902320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_MASK    0x1 /* cf2en */
903320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_SHIFT   6
904320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK  0x1 /* cf3en */
905320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7
906320164Sdavidcs	u8 flags4;
907320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK              0x1 /* cf4en */
908320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT             0
909320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK              0x1 /* cf5en */
910320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT             1
911320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK              0x1 /* cf6en */
912320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT             2
913320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK              0x1 /* cf7en */
914320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT             3
915320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK              0x1 /* cf8en */
916320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT             4
917320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK        0x1 /* cf9en */
918320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT       5
919320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK             0x1 /* cf10en */
920320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT            6
921320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK            0x1 /* rule0en */
922320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT           7
923320164Sdavidcs	u8 flags5;
924320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK            0x1 /* rule1en */
925320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT           0
926320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK            0x1 /* rule2en */
927320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT           1
928320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK            0x1 /* rule3en */
929320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT           2
930320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK            0x1 /* rule4en */
931320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT           3
932320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK            0x1 /* rule5en */
933320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT           4
934320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK            0x1 /* rule6en */
935320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT           5
936320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK            0x1 /* rule7en */
937320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT           6
938320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK            0x1 /* rule8en */
939320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT           7
940320164Sdavidcs	u8 flags6;
941320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK       0x1 /* bit6 */
942320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT      0
943320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK       0x1 /* bit7 */
944320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT      1
945320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK       0x1 /* bit8 */
946320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT      2
947320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK       0x3 /* cf11 */
948320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT      3
949320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK       0x1 /* cf11en */
950320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT      5
951320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK       0x1 /* rule9en */
952320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT      6
953320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_MASK       0x1 /* rule10en */
954320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_SHIFT      7
955320164Sdavidcs	u8 cid_offload_cnt /* byte2 */;
956320164Sdavidcs	__le16 word0 /* word0 */;
957320164Sdavidcs	__le32 reg0 /* reg0 */;
958320164Sdavidcs	__le32 reg1 /* reg1 */;
959320164Sdavidcs	__le32 reg2 /* reg2 */;
960320164Sdavidcs	__le32 reg3 /* reg3 */;
961320164Sdavidcs	__le32 reg4 /* reg4 */;
962320164Sdavidcs	__le32 reg5 /* reg5 */;
963320164Sdavidcs	__le32 reg6 /* reg6 */;
964320164Sdavidcs	__le32 reg7 /* reg7 */;
965320164Sdavidcs	__le32 reg8 /* reg8 */;
966320164Sdavidcs};
967316485Sdavidcs
968320164Sdavidcsstruct e5_ustorm_iscsi_conn_ag_ctx
969320164Sdavidcs{
970320164Sdavidcs	u8 byte0 /* cdu_validation */;
971320164Sdavidcs	u8 byte1 /* state_and_core_id */;
972320164Sdavidcs	u8 flags0;
973320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_MASK          0x1 /* exist_in_qm0 */
974320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT         0
975320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_MASK          0x1 /* exist_in_qm1 */
976320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT         1
977320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_MASK           0x3 /* timer0cf */
978320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT          2
979320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_MASK           0x3 /* timer1cf */
980320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT          4
981320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_MASK           0x3 /* timer2cf */
982320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT          6
983320164Sdavidcs	u8 flags1;
984320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_MASK           0x3 /* timer_stop_all */
985320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_SHIFT          0
986320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_MASK           0x3 /* cf4 */
987320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT          2
988320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_MASK           0x3 /* cf5 */
989320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT          4
990320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_MASK           0x3 /* cf6 */
991320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT          6
992320164Sdavidcs	u8 flags2;
993320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK         0x1 /* cf0en */
994320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT        0
995320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK         0x1 /* cf1en */
996320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT        1
997320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK         0x1 /* cf2en */
998320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT        2
999320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_MASK         0x1 /* cf3en */
1000320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_SHIFT        3
1001320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK         0x1 /* cf4en */
1002320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT        4
1003320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK         0x1 /* cf5en */
1004320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT        5
1005320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK         0x1 /* cf6en */
1006320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT        6
1007320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK       0x1 /* rule0en */
1008320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT      7
1009320164Sdavidcs	u8 flags3;
1010320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK       0x1 /* rule1en */
1011320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT      0
1012320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK       0x1 /* rule2en */
1013320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT      1
1014320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK       0x1 /* rule3en */
1015320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT      2
1016320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK       0x1 /* rule4en */
1017320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT      3
1018320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK       0x1 /* rule5en */
1019320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT      4
1020320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK       0x1 /* rule6en */
1021320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT      5
1022320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK       0x1 /* rule7en */
1023320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT      6
1024320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK       0x1 /* rule8en */
1025320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT      7
1026320164Sdavidcs	u8 flags4;
1027320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK  0x1 /* bit2 */
1028320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
1029320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK  0x1 /* bit3 */
1030320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
1031320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK  0x3 /* cf7 */
1032320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
1033320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK  0x3 /* cf8 */
1034320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 4
1035320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK  0x1 /* cf7en */
1036320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 6
1037320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK  0x1 /* cf8en */
1038320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 7
1039320164Sdavidcs	u8 byte2 /* byte2 */;
1040320164Sdavidcs	__le16 word0 /* conn_dpi */;
1041320164Sdavidcs	__le16 word1 /* word1 */;
1042320164Sdavidcs	__le32 reg0 /* reg0 */;
1043320164Sdavidcs	__le32 reg1 /* reg1 */;
1044320164Sdavidcs	__le32 reg2 /* reg2 */;
1045320164Sdavidcs	__le32 reg3 /* reg3 */;
1046320164Sdavidcs	__le16 word2 /* word2 */;
1047320164Sdavidcs	__le16 word3 /* word3 */;
1048320164Sdavidcs};
1049320164Sdavidcs
1050320164Sdavidcsstruct e5_mstorm_iscsi_conn_ag_ctx
1051320164Sdavidcs{
1052320164Sdavidcs	u8 reserved /* cdu_validation */;
1053320164Sdavidcs	u8 state_and_core_id /* state_and_core_id */;
1054320164Sdavidcs	u8 flags0;
1055320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK     0x1 /* exist_in_qm0 */
1056320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT    0
1057320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK     0x1 /* exist_in_qm1 */
1058320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT    1
1059320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_MASK      0x3 /* cf0 */
1060320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT     2
1061320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_MASK      0x3 /* cf1 */
1062320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT     4
1063320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_MASK      0x3 /* cf2 */
1064320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT     6
1065320164Sdavidcs	u8 flags1;
1066320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK    0x1 /* cf0en */
1067320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT   0
1068320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK    0x1 /* cf1en */
1069320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT   1
1070320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK    0x1 /* cf2en */
1071320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT   2
1072320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK  0x1 /* rule0en */
1073320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
1074320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK  0x1 /* rule1en */
1075320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
1076320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK  0x1 /* rule2en */
1077320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
1078320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK  0x1 /* rule3en */
1079320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
1080320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK  0x1 /* rule4en */
1081320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
1082320164Sdavidcs	__le16 word0 /* word0 */;
1083320164Sdavidcs	__le16 word1 /* word1 */;
1084320164Sdavidcs	__le32 reg0 /* reg0 */;
1085320164Sdavidcs	__le32 reg1 /* reg1 */;
1086320164Sdavidcs};
1087320164Sdavidcs
1088320164Sdavidcs/*
1089320164Sdavidcs * iscsi connection context
1090320164Sdavidcs */
1091320164Sdavidcsstruct e5_iscsi_conn_context
1092320164Sdavidcs{
1093320164Sdavidcs	struct ystorm_iscsi_conn_st_ctx ystorm_st_context /* ystorm storm context */;
1094320164Sdavidcs	struct regpair ystorm_st_padding[2] /* padding */;
1095320164Sdavidcs	struct pstorm_iscsi_tcp_conn_st_ctx pstorm_st_context /* pstorm storm context */;
1096320164Sdavidcs	struct regpair pstorm_st_padding[2] /* padding */;
1097320164Sdavidcs	struct pb_context xpb2_context /* xpb2 context */;
1098320164Sdavidcs	struct xstorm_iscsi_tcp_conn_st_ctx xstorm_st_context /* xstorm storm context */;
1099320164Sdavidcs	struct regpair xstorm_st_padding[2] /* padding */;
1100320164Sdavidcs	struct e5_xstorm_iscsi_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
1101320164Sdavidcs	struct e5_tstorm_iscsi_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
1102320164Sdavidcs	struct regpair tstorm_ag_padding[2] /* padding */;
1103320164Sdavidcs	struct timers_context timer_context /* timer context */;
1104320164Sdavidcs	struct e5_ustorm_iscsi_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
1105320164Sdavidcs	struct pb_context upb_context /* upb context */;
1106320164Sdavidcs	struct tstorm_iscsi_conn_st_ctx tstorm_st_context /* tstorm storm context */;
1107320164Sdavidcs	struct regpair tstorm_st_padding[2] /* padding */;
1108320164Sdavidcs	struct e5_mstorm_iscsi_conn_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
1109320164Sdavidcs	struct mstorm_iscsi_tcp_conn_st_ctx mstorm_st_context /* mstorm storm context */;
1110320164Sdavidcs	struct ustorm_iscsi_conn_st_ctx ustorm_st_context /* ustorm storm context */;
1111320164Sdavidcs};
1112320164Sdavidcs
1113320164Sdavidcs
1114320164Sdavidcs/*
1115320164Sdavidcs * iSCSI init params passed by driver to FW in iSCSI init ramrod
1116320164Sdavidcs */
1117320164Sdavidcsstruct iscsi_init_ramrod_params
1118320164Sdavidcs{
1119320164Sdavidcs	struct iscsi_spe_func_init iscsi_init_spe /* parameters initialized by the miniport and handed to bus-driver */;
1120320164Sdavidcs	struct tcp_init_params tcp_init /* TCP parameters initialized by the bus-driver */;
1121320164Sdavidcs};
1122320164Sdavidcs
1123320164Sdavidcs
1124320164Sdavidcs
1125320164Sdavidcs
1126320164Sdavidcs
1127320164Sdavidcs
1128320164Sdavidcs
1129320164Sdavidcs
1130320164Sdavidcs
1131320164Sdavidcs
1132320164Sdavidcs
1133320164Sdavidcs
1134320164Sdavidcsstruct e4_ystorm_iscsi_conn_ag_ctx
1135320164Sdavidcs{
1136320164Sdavidcs	u8 byte0 /* cdu_validation */;
1137320164Sdavidcs	u8 byte1 /* state */;
1138320164Sdavidcs	u8 flags0;
1139320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK     0x1 /* exist_in_qm0 */
1140320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT    0
1141320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK     0x1 /* exist_in_qm1 */
1142320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT    1
1143320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK      0x3 /* cf0 */
1144320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT     2
1145320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK      0x3 /* cf1 */
1146320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT     4
1147320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK      0x3 /* cf2 */
1148320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT     6
1149320164Sdavidcs	u8 flags1;
1150320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK    0x1 /* cf0en */
1151320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT   0
1152320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK    0x1 /* cf1en */
1153320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT   1
1154320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK    0x1 /* cf2en */
1155320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT   2
1156320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK  0x1 /* rule0en */
1157320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
1158320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK  0x1 /* rule1en */
1159320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
1160320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK  0x1 /* rule2en */
1161320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
1162320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK  0x1 /* rule3en */
1163320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
1164320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK  0x1 /* rule4en */
1165320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
1166320164Sdavidcs	u8 byte2 /* byte2 */;
1167320164Sdavidcs	u8 byte3 /* byte3 */;
1168320164Sdavidcs	__le16 word0 /* word0 */;
1169320164Sdavidcs	__le32 reg0 /* reg0 */;
1170320164Sdavidcs	__le32 reg1 /* reg1 */;
1171320164Sdavidcs	__le16 word1 /* word1 */;
1172320164Sdavidcs	__le16 word2 /* word2 */;
1173320164Sdavidcs	__le16 word3 /* word3 */;
1174320164Sdavidcs	__le16 word4 /* word4 */;
1175320164Sdavidcs	__le32 reg2 /* reg2 */;
1176320164Sdavidcs	__le32 reg3 /* reg3 */;
1177320164Sdavidcs};
1178320164Sdavidcs
1179320164Sdavidcs
1180320164Sdavidcs
1181320164Sdavidcs
1182320164Sdavidcs
1183320164Sdavidcs
1184316485Sdavidcsstruct e5_ystorm_iscsi_conn_ag_ctx
1185316485Sdavidcs{
1186316485Sdavidcs	u8 byte0 /* cdu_validation */;
1187316485Sdavidcs	u8 byte1 /* state_and_core_id */;
1188316485Sdavidcs	u8 flags0;
1189316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK     0x1 /* exist_in_qm0 */
1190316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT    0
1191316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK     0x1 /* exist_in_qm1 */
1192316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT    1
1193316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK      0x3 /* cf0 */
1194316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT     2
1195316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK      0x3 /* cf1 */
1196316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT     4
1197316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK      0x3 /* cf2 */
1198316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT     6
1199316485Sdavidcs	u8 flags1;
1200316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK    0x1 /* cf0en */
1201316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT   0
1202316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK    0x1 /* cf1en */
1203316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT   1
1204316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK    0x1 /* cf2en */
1205316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT   2
1206316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK  0x1 /* rule0en */
1207316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
1208316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK  0x1 /* rule1en */
1209316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
1210316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK  0x1 /* rule2en */
1211316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
1212316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK  0x1 /* rule3en */
1213316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
1214316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK  0x1 /* rule4en */
1215316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
1216316485Sdavidcs	u8 byte2 /* byte2 */;
1217316485Sdavidcs	u8 byte3 /* byte3 */;
1218316485Sdavidcs	__le16 word0 /* word0 */;
1219316485Sdavidcs	__le32 reg0 /* reg0 */;
1220316485Sdavidcs	__le32 reg1 /* reg1 */;
1221316485Sdavidcs	__le16 word1 /* word1 */;
1222316485Sdavidcs	__le16 word2 /* word2 */;
1223316485Sdavidcs	__le16 word3 /* word3 */;
1224316485Sdavidcs	__le16 word4 /* word4 */;
1225316485Sdavidcs	__le32 reg2 /* reg2 */;
1226316485Sdavidcs	__le32 reg3 /* reg3 */;
1227316485Sdavidcs};
1228316485Sdavidcs
1229316485Sdavidcs#endif /* __ECORE_HSI_ISCSI__ */
1230