ecore_hsi_iscsi.h revision 320164
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 320164 2017-06-20 19:16:06Z 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{
49316485Sdavidcs	__le32 reserved[4];
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_iscsi[40];
67316485Sdavidcs	__le32 reserved_tcp[4];
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 */;
414316485Sdavidcs	__le32 reg2 /* 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{
501316485Sdavidcs	__le32 reserved[40];
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];
548316485Sdavidcs	__le32 reserved_iscsi[8];
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 regpair ystorm_st_padding[2] /* padding */;
566316485Sdavidcs	struct pstorm_iscsi_tcp_conn_st_ctx pstorm_st_context /* pstorm storm context */;
567316485Sdavidcs	struct regpair pstorm_st_padding[2] /* padding */;
568316485Sdavidcs	struct pb_context xpb2_context /* xpb2 context */;
569316485Sdavidcs	struct xstorm_iscsi_tcp_conn_st_ctx xstorm_st_context /* xstorm storm context */;
570316485Sdavidcs	struct regpair xstorm_st_padding[2] /* padding */;
571316485Sdavidcs	struct e4_xstorm_iscsi_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
572316485Sdavidcs	struct e4_tstorm_iscsi_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
573316485Sdavidcs	struct regpair tstorm_ag_padding[2] /* padding */;
574316485Sdavidcs	struct timers_context timer_context /* timer context */;
575316485Sdavidcs	struct e4_ustorm_iscsi_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
576316485Sdavidcs	struct pb_context upb_context /* upb context */;
577316485Sdavidcs	struct tstorm_iscsi_conn_st_ctx tstorm_st_context /* tstorm storm context */;
578316485Sdavidcs	struct regpair tstorm_st_padding[2] /* padding */;
579316485Sdavidcs	struct e4_mstorm_iscsi_conn_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
580316485Sdavidcs	struct mstorm_iscsi_tcp_conn_st_ctx mstorm_st_context /* mstorm storm context */;
581316485Sdavidcs	struct ustorm_iscsi_conn_st_ctx ustorm_st_context /* ustorm storm context */;
582316485Sdavidcs};
583316485Sdavidcs
584316485Sdavidcs
585316485Sdavidcsstruct e5_xstorm_iscsi_conn_ag_ctx
586316485Sdavidcs{
587316485Sdavidcs	u8 cdu_validation /* cdu_validation */;
588316485Sdavidcs	u8 state_and_core_id /* state_and_core_id */;
589316485Sdavidcs	u8 flags0;
590316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK                0x1 /* exist_in_qm0 */
591316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT               0
592316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_MASK                0x1 /* exist_in_qm1 */
593316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM1_SHIFT               1
594316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_MASK                   0x1 /* exist_in_qm2 */
595316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED1_SHIFT                  2
596316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_MASK                0x1 /* exist_in_qm3 */
597316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM3_SHIFT               3
598316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK                        0x1 /* bit4 */
599316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT                       4
600316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_MASK                   0x1 /* cf_array_active */
601316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED2_SHIFT                  5
602316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT6_MASK                        0x1 /* bit6 */
603316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT6_SHIFT                       6
604316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT7_MASK                        0x1 /* bit7 */
605316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT7_SHIFT                       7
606316485Sdavidcs	u8 flags1;
607316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT8_MASK                        0x1 /* bit8 */
608316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT8_SHIFT                       0
609316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT9_MASK                        0x1 /* bit9 */
610316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT9_SHIFT                       1
611316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT10_MASK                       0x1 /* bit10 */
612316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT10_SHIFT                      2
613316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT11_MASK                       0x1 /* bit11 */
614316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT11_SHIFT                      3
615316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT12_MASK                       0x1 /* bit12 */
616316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT12_SHIFT                      4
617316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT13_MASK                       0x1 /* bit13 */
618316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT13_SHIFT                      5
619316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT14_MASK                       0x1 /* bit14 */
620316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT14_SHIFT                      6
621316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_MASK                 0x1 /* bit15 */
622316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_TRUNCATE_SHIFT                7
623316485Sdavidcs	u8 flags2;
624316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0_MASK                         0x3 /* timer0cf */
625316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT                        0
626316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1_MASK                         0x3 /* timer1cf */
627316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT                        2
628316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2_MASK                         0x3 /* timer2cf */
629316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT                        4
630316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK              0x3 /* timer_stop_all */
631316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT             6
632316485Sdavidcs	u8 flags3;
633316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4_MASK                         0x3 /* cf4 */
634316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT                        0
635316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5_MASK                         0x3 /* cf5 */
636316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT                        2
637316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6_MASK                         0x3 /* cf6 */
638316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT                        4
639316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7_MASK                         0x3 /* cf7 */
640316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT                        6
641316485Sdavidcs	u8 flags4;
642316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8_MASK                         0x3 /* cf8 */
643316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT                        0
644316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9_MASK                         0x3 /* cf9 */
645316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9_SHIFT                        2
646316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10_MASK                        0x3 /* cf10 */
647316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT                       4
648316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11_MASK                        0x3 /* cf11 */
649316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11_SHIFT                       6
650316485Sdavidcs	u8 flags5;
651316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12_MASK                        0x3 /* cf12 */
652316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12_SHIFT                       0
653316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13_MASK                        0x3 /* cf13 */
654316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13_SHIFT                       2
655316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14_MASK                        0x3 /* cf14 */
656316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14_SHIFT                       4
657316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_MASK     0x3 /* cf15 */
658316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_SHIFT    6
659316485Sdavidcs	u8 flags6;
660316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16_MASK                        0x3 /* cf16 */
661316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16_SHIFT                       0
662316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17_MASK                        0x3 /* cf_array_cf */
663316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17_SHIFT                       2
664316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18_MASK                        0x3 /* cf18 */
665316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18_SHIFT                       4
666316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_MASK                    0x3 /* cf19 */
667316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_SHIFT                   6
668316485Sdavidcs	u8 flags7;
669316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_MASK         0x3 /* cf20 */
670316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_SHIFT        0
671316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_MASK         0x3 /* cf21 */
672316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_SHIFT        2
673316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_MASK                   0x3 /* cf22 */
674316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_SHIFT                  4
675316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK                       0x1 /* cf0en */
676316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT                      6
677316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK                       0x1 /* cf1en */
678316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT                      7
679316485Sdavidcs	u8 flags8;
680316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK                       0x1 /* cf2en */
681316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT                      0
682316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK           0x1 /* cf3en */
683316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT          1
684316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK                       0x1 /* cf4en */
685316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT                      2
686316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK                       0x1 /* cf5en */
687316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT                      3
688316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK                       0x1 /* cf6en */
689316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT                      4
690316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK                       0x1 /* cf7en */
691316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT                      5
692316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK                       0x1 /* cf8en */
693316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT                      6
694316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_MASK                       0x1 /* cf9en */
695316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF9EN_SHIFT                      7
696316485Sdavidcs	u8 flags9;
697316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK                      0x1 /* cf10en */
698316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT                     0
699316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_MASK                      0x1 /* cf11en */
700316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF11EN_SHIFT                     1
701316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_MASK                      0x1 /* cf12en */
702316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF12EN_SHIFT                     2
703316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_MASK                      0x1 /* cf13en */
704316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF13EN_SHIFT                     3
705316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_MASK                      0x1 /* cf14en */
706316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF14EN_SHIFT                     4
707316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_MASK  0x1 /* cf15en */
708316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UPDATE_STATE_TO_BASE_CF_EN_SHIFT 5
709316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_MASK                      0x1 /* cf16en */
710316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF16EN_SHIFT                     6
711316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_MASK                      0x1 /* cf_array_cf_en */
712316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF17EN_SHIFT                     7
713316485Sdavidcs	u8 flags10;
714316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_MASK                      0x1 /* cf18en */
715316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_CF18EN_SHIFT                     0
716316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_MASK                 0x1 /* cf19en */
717316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DQ_FLUSH_EN_SHIFT                1
718316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_MASK      0x1 /* cf20en */
719316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MST_XCM_Q0_FLUSH_CF_EN_SHIFT     2
720316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_MASK      0x1 /* cf21en */
721316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_UST_XCM_Q1_FLUSH_CF_EN_SHIFT     3
722316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_MASK                0x1 /* cf22en */
723316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SLOW_PATH_EN_SHIFT               4
724316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_MASK        0x1 /* cf23en */
725316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_EN_SHIFT       5
726316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK                     0x1 /* rule0en */
727316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT                    6
728316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_MASK    0x1 /* rule1en */
729316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_MORE_TO_SEND_DEC_RULE_EN_SHIFT   7
730316485Sdavidcs	u8 flags11;
731316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_MASK               0x1 /* rule2en */
732316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_TX_BLOCKED_EN_SHIFT              0
733316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK                     0x1 /* rule3en */
734316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT                    1
735316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_MASK                   0x1 /* rule4en */
736316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RESERVED3_SHIFT                  2
737316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK                     0x1 /* rule5en */
738316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT                    3
739316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK                     0x1 /* rule6en */
740316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT                    4
741316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK                     0x1 /* rule7en */
742316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT                    5
743316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_MASK                0x1 /* rule8en */
744316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED1_SHIFT               6
745316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_MASK                     0x1 /* rule9en */
746316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE9EN_SHIFT                    7
747316485Sdavidcs	u8 flags12;
748316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_MASK              0x1 /* rule10en */
749316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_SQ_DEC_RULE_EN_SHIFT             0
750316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_MASK                    0x1 /* rule11en */
751316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE11EN_SHIFT                   1
752316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_MASK                0x1 /* rule12en */
753316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED2_SHIFT               2
754316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_MASK                0x1 /* rule13en */
755316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED3_SHIFT               3
756316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_MASK                    0x1 /* rule14en */
757316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE14EN_SHIFT                   4
758316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_MASK                    0x1 /* rule15en */
759316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE15EN_SHIFT                   5
760316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_MASK                    0x1 /* rule16en */
761316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE16EN_SHIFT                   6
762316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_MASK                    0x1 /* rule17en */
763316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_RULE17EN_SHIFT                   7
764316485Sdavidcs	u8 flags13;
765316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_MASK            0x1 /* rule18en */
766316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_R2TQ_DEC_RULE_EN_SHIFT           0
767316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_MASK              0x1 /* rule19en */
768316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_HQ_DEC_RULE_EN_SHIFT             1
769316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_MASK                0x1 /* rule20en */
770316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED4_SHIFT               2
771316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_MASK                0x1 /* rule21en */
772316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED5_SHIFT               3
773316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_MASK                0x1 /* rule22en */
774316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED6_SHIFT               4
775316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_MASK                0x1 /* rule23en */
776316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED7_SHIFT               5
777316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_MASK                0x1 /* rule24en */
778316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED8_SHIFT               6
779316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_MASK                0x1 /* rule25en */
780316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_A0_RESERVED9_SHIFT               7
781316485Sdavidcs	u8 flags14;
782316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT16_MASK                       0x1 /* bit16 */
783316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT16_SHIFT                      0
784316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT17_MASK                       0x1 /* bit17 */
785316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT17_SHIFT                      1
786316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT18_MASK                       0x1 /* bit18 */
787316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT18_SHIFT                      2
788316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT19_MASK                       0x1 /* bit19 */
789316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT19_SHIFT                      3
790316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT20_MASK                       0x1 /* bit20 */
791316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_BIT20_SHIFT                      4
792316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_MASK             0x1 /* bit21 */
793316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_DUMMY_READ_DONE_SHIFT            5
794316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_MASK           0x3 /* cf23 */
795316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_PROC_ONLY_CLEANUP_SHIFT          6
796316485Sdavidcs	u8 byte2 /* byte2 */;
797316485Sdavidcs	__le16 physical_q0 /* physical_q0 */;
798316485Sdavidcs	__le16 physical_q1 /* physical_q1 */;
799316485Sdavidcs	__le16 dummy_dorq_var /* physical_q2 */;
800316485Sdavidcs	__le16 sq_cons /* word3 */;
801316485Sdavidcs	__le16 sq_prod /* word4 */;
802316485Sdavidcs	__le16 word5 /* word5 */;
803316485Sdavidcs	__le16 slow_io_total_data_tx_update /* conn_dpi */;
804316485Sdavidcs	u8 byte3 /* byte3 */;
805316485Sdavidcs	u8 byte4 /* byte4 */;
806316485Sdavidcs	u8 byte5 /* byte5 */;
807316485Sdavidcs	u8 byte6 /* byte6 */;
808316485Sdavidcs	__le32 reg0 /* reg0 */;
809316485Sdavidcs	__le32 reg1 /* reg1 */;
810316485Sdavidcs	__le32 reg2 /* reg2 */;
811316485Sdavidcs	__le32 more_to_send_seq /* reg3 */;
812316485Sdavidcs	__le32 reg4 /* reg4 */;
813316485Sdavidcs	__le32 reg5 /* cf_array0 */;
814316485Sdavidcs	__le32 hq_scan_next_relevant_ack /* cf_array1 */;
815316485Sdavidcs	u8 flags15;
816316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK                0x1 /* bit22 */
817316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT               0
818316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK                0x1 /* bit23 */
819316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT               1
820316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK                0x1 /* bit24 */
821316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT               2
822316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK                0x3 /* cf24 */
823316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT               3
824316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK                0x1 /* cf24en */
825316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT               5
826316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK                0x1 /* rule26en */
827316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT               6
828316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_MASK                0x1 /* rule27en */
829316485Sdavidcs#define E5_XSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_SHIFT               7
830316485Sdavidcs	u8 byte7 /* byte7 */;
831316485Sdavidcs	__le16 r2tq_prod /* word7 */;
832316485Sdavidcs	__le16 r2tq_cons /* word8 */;
833316485Sdavidcs	__le16 hq_prod /* word9 */;
834316485Sdavidcs	__le16 hq_cons /* word10 */;
835316485Sdavidcs	__le16 word11 /* word11 */;
836316485Sdavidcs	__le32 remain_seq /* reg7 */;
837316485Sdavidcs	__le32 bytes_to_next_pdu /* reg8 */;
838316485Sdavidcs	__le32 hq_tcp_seq /* reg9 */;
839316485Sdavidcs	u8 byte8 /* byte8 */;
840316485Sdavidcs	u8 byte9 /* byte9 */;
841316485Sdavidcs	u8 byte10 /* byte10 */;
842316485Sdavidcs	u8 byte11 /* byte11 */;
843316485Sdavidcs	u8 byte12 /* byte12 */;
844316485Sdavidcs	u8 byte13 /* byte13 */;
845316485Sdavidcs	u8 byte14 /* byte14 */;
846316485Sdavidcs	u8 byte15 /* byte15 */;
847316485Sdavidcs	__le32 reg10 /* reg10 */;
848316485Sdavidcs	__le32 reg11 /* reg11 */;
849316485Sdavidcs	__le32 reg12 /* reg12 */;
850316485Sdavidcs	__le32 ongoing_fast_rxmit_seq /* reg13 */;
851316485Sdavidcs	__le32 exp_stat_sn /* reg14 */;
852316485Sdavidcs	__le32 reg15 /* reg15 */;
853316485Sdavidcs	__le32 reg16 /* reg16 */;
854316485Sdavidcs	__le32 reg17 /* reg17 */;
855316485Sdavidcs};
856316485Sdavidcs
857320164Sdavidcsstruct e5_tstorm_iscsi_conn_ag_ctx
858320164Sdavidcs{
859320164Sdavidcs	u8 reserved0 /* cdu_validation */;
860320164Sdavidcs	u8 state_and_core_id /* state_and_core_id */;
861320164Sdavidcs	u8 flags0;
862320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_MASK       0x1 /* exist_in_qm0 */
863320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_EXIST_IN_QM0_SHIFT      0
864320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK               0x1 /* exist_in_qm1 */
865320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT              1
866320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_MASK               0x1 /* bit2 */
867320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT2_SHIFT              2
868320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_MASK               0x1 /* bit3 */
869320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT3_SHIFT              3
870320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_MASK               0x1 /* bit4 */
871320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT4_SHIFT              4
872320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_MASK               0x1 /* bit5 */
873320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_BIT5_SHIFT              5
874320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_MASK                0x3 /* timer0cf */
875320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT               6
876320164Sdavidcs	u8 flags1;
877320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_MASK       0x3 /* timer1cf */
878320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_SHIFT      0
879320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_MASK       0x3 /* timer2cf */
880320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_SHIFT      2
881320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_MASK     0x3 /* timer_stop_all */
882320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_SHIFT    4
883320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_MASK                0x3 /* cf4 */
884320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT               6
885320164Sdavidcs	u8 flags2;
886320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_MASK                0x3 /* cf5 */
887320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT               0
888320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_MASK                0x3 /* cf6 */
889320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT               2
890320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_MASK                0x3 /* cf7 */
891320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7_SHIFT               4
892320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_MASK                0x3 /* cf8 */
893320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8_SHIFT               6
894320164Sdavidcs	u8 flags3;
895320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_MASK           0x3 /* cf9 */
896320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_SHIFT          0
897320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_MASK               0x3 /* cf10 */
898320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10_SHIFT              2
899320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK              0x1 /* cf0en */
900320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT             4
901320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_MASK    0x1 /* cf1en */
902320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_P2T_FLUSH_CF_EN_SHIFT   5
903320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_MASK    0x1 /* cf2en */
904320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_M2T_FLUSH_CF_EN_SHIFT   6
905320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_MASK  0x1 /* cf3en */
906320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_TIMER_STOP_ALL_EN_SHIFT 7
907320164Sdavidcs	u8 flags4;
908320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK              0x1 /* cf4en */
909320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT             0
910320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK              0x1 /* cf5en */
911320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT             1
912320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK              0x1 /* cf6en */
913320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT             2
914320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_MASK              0x1 /* cf7en */
915320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF7EN_SHIFT             3
916320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_MASK              0x1 /* cf8en */
917320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF8EN_SHIFT             4
918320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_MASK        0x1 /* cf9en */
919320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT       5
920320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_MASK             0x1 /* cf10en */
921320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_CF10EN_SHIFT            6
922320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK            0x1 /* rule0en */
923320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT           7
924320164Sdavidcs	u8 flags5;
925320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK            0x1 /* rule1en */
926320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT           0
927320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK            0x1 /* rule2en */
928320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT           1
929320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK            0x1 /* rule3en */
930320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT           2
931320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK            0x1 /* rule4en */
932320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT           3
933320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK            0x1 /* rule5en */
934320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT           4
935320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK            0x1 /* rule6en */
936320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT           5
937320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK            0x1 /* rule7en */
938320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT           6
939320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK            0x1 /* rule8en */
940320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT           7
941320164Sdavidcs	u8 flags6;
942320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK       0x1 /* bit6 */
943320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT      0
944320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK       0x1 /* bit7 */
945320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT      1
946320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK       0x1 /* bit8 */
947320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT      2
948320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK       0x3 /* cf11 */
949320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT      3
950320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK       0x1 /* cf11en */
951320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT      5
952320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK       0x1 /* rule9en */
953320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT      6
954320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_MASK       0x1 /* rule10en */
955320164Sdavidcs#define E5_TSTORM_ISCSI_CONN_AG_CTX_E4_RESERVED7_SHIFT      7
956320164Sdavidcs	u8 cid_offload_cnt /* byte2 */;
957320164Sdavidcs	__le16 word0 /* word0 */;
958320164Sdavidcs	__le32 reg0 /* reg0 */;
959320164Sdavidcs	__le32 reg1 /* reg1 */;
960320164Sdavidcs	__le32 reg2 /* reg2 */;
961320164Sdavidcs	__le32 reg3 /* reg3 */;
962320164Sdavidcs	__le32 reg4 /* reg4 */;
963320164Sdavidcs	__le32 reg5 /* reg5 */;
964320164Sdavidcs	__le32 reg6 /* reg6 */;
965320164Sdavidcs	__le32 reg7 /* reg7 */;
966320164Sdavidcs	__le32 reg8 /* reg8 */;
967320164Sdavidcs};
968316485Sdavidcs
969320164Sdavidcsstruct e5_ustorm_iscsi_conn_ag_ctx
970320164Sdavidcs{
971320164Sdavidcs	u8 byte0 /* cdu_validation */;
972320164Sdavidcs	u8 byte1 /* state_and_core_id */;
973320164Sdavidcs	u8 flags0;
974320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_MASK          0x1 /* exist_in_qm0 */
975320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT         0
976320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_MASK          0x1 /* exist_in_qm1 */
977320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT         1
978320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_MASK           0x3 /* timer0cf */
979320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT          2
980320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_MASK           0x3 /* timer1cf */
981320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT          4
982320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_MASK           0x3 /* timer2cf */
983320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT          6
984320164Sdavidcs	u8 flags1;
985320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_MASK           0x3 /* timer_stop_all */
986320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3_SHIFT          0
987320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_MASK           0x3 /* cf4 */
988320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4_SHIFT          2
989320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_MASK           0x3 /* cf5 */
990320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5_SHIFT          4
991320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_MASK           0x3 /* cf6 */
992320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6_SHIFT          6
993320164Sdavidcs	u8 flags2;
994320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK         0x1 /* cf0en */
995320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT        0
996320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK         0x1 /* cf1en */
997320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT        1
998320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK         0x1 /* cf2en */
999320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT        2
1000320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_MASK         0x1 /* cf3en */
1001320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF3EN_SHIFT        3
1002320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_MASK         0x1 /* cf4en */
1003320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF4EN_SHIFT        4
1004320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_MASK         0x1 /* cf5en */
1005320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF5EN_SHIFT        5
1006320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_MASK         0x1 /* cf6en */
1007320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_CF6EN_SHIFT        6
1008320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK       0x1 /* rule0en */
1009320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT      7
1010320164Sdavidcs	u8 flags3;
1011320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK       0x1 /* rule1en */
1012320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT      0
1013320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK       0x1 /* rule2en */
1014320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT      1
1015320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK       0x1 /* rule3en */
1016320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT      2
1017320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK       0x1 /* rule4en */
1018320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT      3
1019320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_MASK       0x1 /* rule5en */
1020320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE5EN_SHIFT      4
1021320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_MASK       0x1 /* rule6en */
1022320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE6EN_SHIFT      5
1023320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_MASK       0x1 /* rule7en */
1024320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE7EN_SHIFT      6
1025320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_MASK       0x1 /* rule8en */
1026320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_RULE8EN_SHIFT      7
1027320164Sdavidcs	u8 flags4;
1028320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_MASK  0x1 /* bit2 */
1029320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
1030320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_MASK  0x1 /* bit3 */
1031320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
1032320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_MASK  0x3 /* cf7 */
1033320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
1034320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_MASK  0x3 /* cf8 */
1035320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED4_SHIFT 4
1036320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_MASK  0x1 /* cf7en */
1037320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED5_SHIFT 6
1038320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_MASK  0x1 /* cf8en */
1039320164Sdavidcs#define E5_USTORM_ISCSI_CONN_AG_CTX_E4_RESERVED6_SHIFT 7
1040320164Sdavidcs	u8 byte2 /* byte2 */;
1041320164Sdavidcs	__le16 word0 /* conn_dpi */;
1042320164Sdavidcs	__le16 word1 /* word1 */;
1043320164Sdavidcs	__le32 reg0 /* reg0 */;
1044320164Sdavidcs	__le32 reg1 /* reg1 */;
1045320164Sdavidcs	__le32 reg2 /* reg2 */;
1046320164Sdavidcs	__le32 reg3 /* reg3 */;
1047320164Sdavidcs	__le16 word2 /* word2 */;
1048320164Sdavidcs	__le16 word3 /* word3 */;
1049320164Sdavidcs};
1050320164Sdavidcs
1051320164Sdavidcsstruct e5_mstorm_iscsi_conn_ag_ctx
1052320164Sdavidcs{
1053320164Sdavidcs	u8 reserved /* cdu_validation */;
1054320164Sdavidcs	u8 state_and_core_id /* state_and_core_id */;
1055320164Sdavidcs	u8 flags0;
1056320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK     0x1 /* exist_in_qm0 */
1057320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT    0
1058320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK     0x1 /* exist_in_qm1 */
1059320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT    1
1060320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_MASK      0x3 /* cf0 */
1061320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT     2
1062320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_MASK      0x3 /* cf1 */
1063320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT     4
1064320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_MASK      0x3 /* cf2 */
1065320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT     6
1066320164Sdavidcs	u8 flags1;
1067320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK    0x1 /* cf0en */
1068320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT   0
1069320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK    0x1 /* cf1en */
1070320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT   1
1071320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK    0x1 /* cf2en */
1072320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT   2
1073320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK  0x1 /* rule0en */
1074320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
1075320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK  0x1 /* rule1en */
1076320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
1077320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK  0x1 /* rule2en */
1078320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
1079320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK  0x1 /* rule3en */
1080320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
1081320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK  0x1 /* rule4en */
1082320164Sdavidcs#define E5_MSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
1083320164Sdavidcs	__le16 word0 /* word0 */;
1084320164Sdavidcs	__le16 word1 /* word1 */;
1085320164Sdavidcs	__le32 reg0 /* reg0 */;
1086320164Sdavidcs	__le32 reg1 /* reg1 */;
1087320164Sdavidcs};
1088320164Sdavidcs
1089320164Sdavidcs/*
1090320164Sdavidcs * iscsi connection context
1091320164Sdavidcs */
1092320164Sdavidcsstruct e5_iscsi_conn_context
1093320164Sdavidcs{
1094320164Sdavidcs	struct ystorm_iscsi_conn_st_ctx ystorm_st_context /* ystorm storm context */;
1095320164Sdavidcs	struct regpair ystorm_st_padding[2] /* padding */;
1096320164Sdavidcs	struct pstorm_iscsi_tcp_conn_st_ctx pstorm_st_context /* pstorm storm context */;
1097320164Sdavidcs	struct regpair pstorm_st_padding[2] /* padding */;
1098320164Sdavidcs	struct pb_context xpb2_context /* xpb2 context */;
1099320164Sdavidcs	struct xstorm_iscsi_tcp_conn_st_ctx xstorm_st_context /* xstorm storm context */;
1100320164Sdavidcs	struct regpair xstorm_st_padding[2] /* padding */;
1101320164Sdavidcs	struct e5_xstorm_iscsi_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
1102320164Sdavidcs	struct e5_tstorm_iscsi_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
1103320164Sdavidcs	struct regpair tstorm_ag_padding[2] /* padding */;
1104320164Sdavidcs	struct timers_context timer_context /* timer context */;
1105320164Sdavidcs	struct e5_ustorm_iscsi_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
1106320164Sdavidcs	struct pb_context upb_context /* upb context */;
1107320164Sdavidcs	struct tstorm_iscsi_conn_st_ctx tstorm_st_context /* tstorm storm context */;
1108320164Sdavidcs	struct regpair tstorm_st_padding[2] /* padding */;
1109320164Sdavidcs	struct e5_mstorm_iscsi_conn_ag_ctx mstorm_ag_context /* mstorm aggregative context */;
1110320164Sdavidcs	struct mstorm_iscsi_tcp_conn_st_ctx mstorm_st_context /* mstorm storm context */;
1111320164Sdavidcs	struct ustorm_iscsi_conn_st_ctx ustorm_st_context /* ustorm storm context */;
1112320164Sdavidcs};
1113320164Sdavidcs
1114320164Sdavidcs
1115320164Sdavidcs/*
1116320164Sdavidcs * iSCSI init params passed by driver to FW in iSCSI init ramrod
1117320164Sdavidcs */
1118320164Sdavidcsstruct iscsi_init_ramrod_params
1119320164Sdavidcs{
1120320164Sdavidcs	struct iscsi_spe_func_init iscsi_init_spe /* parameters initialized by the miniport and handed to bus-driver */;
1121320164Sdavidcs	struct tcp_init_params tcp_init /* TCP parameters initialized by the bus-driver */;
1122320164Sdavidcs};
1123320164Sdavidcs
1124320164Sdavidcs
1125320164Sdavidcs
1126320164Sdavidcs
1127320164Sdavidcs
1128320164Sdavidcs
1129320164Sdavidcs
1130320164Sdavidcs
1131320164Sdavidcs
1132320164Sdavidcs
1133320164Sdavidcs
1134320164Sdavidcs
1135320164Sdavidcsstruct e4_ystorm_iscsi_conn_ag_ctx
1136320164Sdavidcs{
1137320164Sdavidcs	u8 byte0 /* cdu_validation */;
1138320164Sdavidcs	u8 byte1 /* state */;
1139320164Sdavidcs	u8 flags0;
1140320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK     0x1 /* exist_in_qm0 */
1141320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT    0
1142320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK     0x1 /* exist_in_qm1 */
1143320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT    1
1144320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK      0x3 /* cf0 */
1145320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT     2
1146320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK      0x3 /* cf1 */
1147320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT     4
1148320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK      0x3 /* cf2 */
1149320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT     6
1150320164Sdavidcs	u8 flags1;
1151320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK    0x1 /* cf0en */
1152320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT   0
1153320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK    0x1 /* cf1en */
1154320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT   1
1155320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK    0x1 /* cf2en */
1156320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT   2
1157320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK  0x1 /* rule0en */
1158320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
1159320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK  0x1 /* rule1en */
1160320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
1161320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK  0x1 /* rule2en */
1162320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
1163320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK  0x1 /* rule3en */
1164320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
1165320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK  0x1 /* rule4en */
1166320164Sdavidcs#define E4_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
1167320164Sdavidcs	u8 byte2 /* byte2 */;
1168320164Sdavidcs	u8 byte3 /* byte3 */;
1169320164Sdavidcs	__le16 word0 /* word0 */;
1170320164Sdavidcs	__le32 reg0 /* reg0 */;
1171320164Sdavidcs	__le32 reg1 /* reg1 */;
1172320164Sdavidcs	__le16 word1 /* word1 */;
1173320164Sdavidcs	__le16 word2 /* word2 */;
1174320164Sdavidcs	__le16 word3 /* word3 */;
1175320164Sdavidcs	__le16 word4 /* word4 */;
1176320164Sdavidcs	__le32 reg2 /* reg2 */;
1177320164Sdavidcs	__le32 reg3 /* reg3 */;
1178320164Sdavidcs};
1179320164Sdavidcs
1180320164Sdavidcs
1181320164Sdavidcs
1182320164Sdavidcs
1183320164Sdavidcs
1184320164Sdavidcs
1185316485Sdavidcsstruct e5_ystorm_iscsi_conn_ag_ctx
1186316485Sdavidcs{
1187316485Sdavidcs	u8 byte0 /* cdu_validation */;
1188316485Sdavidcs	u8 byte1 /* state_and_core_id */;
1189316485Sdavidcs	u8 flags0;
1190316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT0_MASK     0x1 /* exist_in_qm0 */
1191316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT0_SHIFT    0
1192316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT1_MASK     0x1 /* exist_in_qm1 */
1193316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_BIT1_SHIFT    1
1194316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0_MASK      0x3 /* cf0 */
1195316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0_SHIFT     2
1196316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1_MASK      0x3 /* cf1 */
1197316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1_SHIFT     4
1198316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2_MASK      0x3 /* cf2 */
1199316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2_SHIFT     6
1200316485Sdavidcs	u8 flags1;
1201316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_MASK    0x1 /* cf0en */
1202316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF0EN_SHIFT   0
1203316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_MASK    0x1 /* cf1en */
1204316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF1EN_SHIFT   1
1205316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_MASK    0x1 /* cf2en */
1206316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_CF2EN_SHIFT   2
1207316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_MASK  0x1 /* rule0en */
1208316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE0EN_SHIFT 3
1209316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_MASK  0x1 /* rule1en */
1210316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE1EN_SHIFT 4
1211316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_MASK  0x1 /* rule2en */
1212316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE2EN_SHIFT 5
1213316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_MASK  0x1 /* rule3en */
1214316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE3EN_SHIFT 6
1215316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_MASK  0x1 /* rule4en */
1216316485Sdavidcs#define E5_YSTORM_ISCSI_CONN_AG_CTX_RULE4EN_SHIFT 7
1217316485Sdavidcs	u8 byte2 /* byte2 */;
1218316485Sdavidcs	u8 byte3 /* byte3 */;
1219316485Sdavidcs	__le16 word0 /* word0 */;
1220316485Sdavidcs	__le32 reg0 /* reg0 */;
1221316485Sdavidcs	__le32 reg1 /* reg1 */;
1222316485Sdavidcs	__le16 word1 /* word1 */;
1223316485Sdavidcs	__le16 word2 /* word2 */;
1224316485Sdavidcs	__le16 word3 /* word3 */;
1225316485Sdavidcs	__le16 word4 /* word4 */;
1226316485Sdavidcs	__le32 reg2 /* reg2 */;
1227316485Sdavidcs	__le32 reg3 /* reg3 */;
1228316485Sdavidcs};
1229316485Sdavidcs
1230316485Sdavidcs#endif /* __ECORE_HSI_ISCSI__ */
1231