1*14b24e2bSVaishali Kulkarni /*
2*14b24e2bSVaishali Kulkarni * CDDL HEADER START
3*14b24e2bSVaishali Kulkarni *
4*14b24e2bSVaishali Kulkarni * The contents of this file are subject to the terms of the
5*14b24e2bSVaishali Kulkarni * Common Development and Distribution License, v.1,  (the "License").
6*14b24e2bSVaishali Kulkarni * You may not use this file except in compliance with the License.
7*14b24e2bSVaishali Kulkarni *
8*14b24e2bSVaishali Kulkarni * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*14b24e2bSVaishali Kulkarni * or http://opensource.org/licenses/CDDL-1.0.
10*14b24e2bSVaishali Kulkarni * See the License for the specific language governing permissions
11*14b24e2bSVaishali Kulkarni * and limitations under the License.
12*14b24e2bSVaishali Kulkarni *
13*14b24e2bSVaishali Kulkarni * When distributing Covered Code, include this CDDL HEADER in each
14*14b24e2bSVaishali Kulkarni * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*14b24e2bSVaishali Kulkarni * If applicable, add the following below this CDDL HEADER, with the
16*14b24e2bSVaishali Kulkarni * fields enclosed by brackets "[]" replaced with your own identifying
17*14b24e2bSVaishali Kulkarni * information: Portions Copyright [yyyy] [name of copyright owner]
18*14b24e2bSVaishali Kulkarni *
19*14b24e2bSVaishali Kulkarni * CDDL HEADER END
20*14b24e2bSVaishali Kulkarni */
21*14b24e2bSVaishali Kulkarni 
22*14b24e2bSVaishali Kulkarni /*
23*14b24e2bSVaishali Kulkarni * Copyright 2014-2017 Cavium, Inc.
24*14b24e2bSVaishali Kulkarni * The contents of this file are subject to the terms of the Common Development
25*14b24e2bSVaishali Kulkarni * and Distribution License, v.1,  (the "License").
26*14b24e2bSVaishali Kulkarni 
27*14b24e2bSVaishali Kulkarni * You may not use this file except in compliance with the License.
28*14b24e2bSVaishali Kulkarni 
29*14b24e2bSVaishali Kulkarni * You can obtain a copy of the License at available
30*14b24e2bSVaishali Kulkarni * at http://opensource.org/licenses/CDDL-1.0
31*14b24e2bSVaishali Kulkarni 
32*14b24e2bSVaishali Kulkarni * See the License for the specific language governing permissions and
33*14b24e2bSVaishali Kulkarni * limitations under the License.
34*14b24e2bSVaishali Kulkarni */
35*14b24e2bSVaishali Kulkarni 
36*14b24e2bSVaishali Kulkarni #ifndef __ECORE_HSI_ETH__
37*14b24e2bSVaishali Kulkarni #define __ECORE_HSI_ETH__
38*14b24e2bSVaishali Kulkarni /************************************************************************/
39*14b24e2bSVaishali Kulkarni /* Add include to common eth target for both eCore and protocol driver */
40*14b24e2bSVaishali Kulkarni /************************************************************************/
41*14b24e2bSVaishali Kulkarni #include "eth_common.h"
42*14b24e2bSVaishali Kulkarni 
43*14b24e2bSVaishali Kulkarni /*
44*14b24e2bSVaishali Kulkarni  * The eth storm context for the Tstorm
45*14b24e2bSVaishali Kulkarni  */
46*14b24e2bSVaishali Kulkarni struct tstorm_eth_conn_st_ctx
47*14b24e2bSVaishali Kulkarni {
48*14b24e2bSVaishali Kulkarni 	__le32 reserved[4];
49*14b24e2bSVaishali Kulkarni };
50*14b24e2bSVaishali Kulkarni 
51*14b24e2bSVaishali Kulkarni /*
52*14b24e2bSVaishali Kulkarni  * The eth storm context for the Pstorm
53*14b24e2bSVaishali Kulkarni  */
54*14b24e2bSVaishali Kulkarni struct pstorm_eth_conn_st_ctx
55*14b24e2bSVaishali Kulkarni {
56*14b24e2bSVaishali Kulkarni 	__le32 reserved[8];
57*14b24e2bSVaishali Kulkarni };
58*14b24e2bSVaishali Kulkarni 
59*14b24e2bSVaishali Kulkarni /*
60*14b24e2bSVaishali Kulkarni  * The eth storm context for the Xstorm
61*14b24e2bSVaishali Kulkarni  */
62*14b24e2bSVaishali Kulkarni struct xstorm_eth_conn_st_ctx
63*14b24e2bSVaishali Kulkarni {
64*14b24e2bSVaishali Kulkarni 	__le32 reserved[60];
65*14b24e2bSVaishali Kulkarni };
66*14b24e2bSVaishali Kulkarni 
67*14b24e2bSVaishali Kulkarni struct e4_xstorm_eth_conn_ag_ctx
68*14b24e2bSVaishali Kulkarni {
69*14b24e2bSVaishali Kulkarni 	u8 reserved0 /* cdu_validation */;
70*14b24e2bSVaishali Kulkarni 	u8 eth_state /* state */;
71*14b24e2bSVaishali Kulkarni 	u8 flags0;
72*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
73*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT           0
74*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED1_MASK               0x1 /* exist_in_qm1 */
75*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED1_SHIFT              1
76*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED2_MASK               0x1 /* exist_in_qm2 */
77*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED2_SHIFT              2
78*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
79*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_SHIFT           3
80*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED3_MASK               0x1 /* bit4 */
81*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED3_SHIFT              4
82*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED4_MASK               0x1 /* cf_array_active */
83*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED4_SHIFT              5
84*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED5_MASK               0x1 /* bit6 */
85*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED5_SHIFT              6
86*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED6_MASK               0x1 /* bit7 */
87*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED6_SHIFT              7
88*14b24e2bSVaishali Kulkarni 	u8 flags1;
89*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED7_MASK               0x1 /* bit8 */
90*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED7_SHIFT              0
91*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED8_MASK               0x1 /* bit9 */
92*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED8_SHIFT              1
93*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED9_MASK               0x1 /* bit10 */
94*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED9_SHIFT              2
95*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_BIT11_MASK                   0x1 /* bit11 */
96*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_BIT11_SHIFT                  3
97*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_BIT12_MASK                   0x1 /* bit12 */
98*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_BIT12_SHIFT                  4
99*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_BIT13_MASK                   0x1 /* bit13 */
100*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_BIT13_SHIFT                  5
101*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
102*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT         6
103*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
104*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT           7
105*14b24e2bSVaishali Kulkarni 	u8 flags2;
106*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF0_MASK                     0x3 /* timer0cf */
107*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF0_SHIFT                    0
108*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF1_MASK                     0x3 /* timer1cf */
109*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF1_SHIFT                    2
110*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
111*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF2_SHIFT                    4
112*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
113*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF3_SHIFT                    6
114*14b24e2bSVaishali Kulkarni 	u8 flags3;
115*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF4_MASK                     0x3 /* cf4 */
116*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF4_SHIFT                    0
117*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF5_MASK                     0x3 /* cf5 */
118*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF5_SHIFT                    2
119*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF6_MASK                     0x3 /* cf6 */
120*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF6_SHIFT                    4
121*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF7_MASK                     0x3 /* cf7 */
122*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF7_SHIFT                    6
123*14b24e2bSVaishali Kulkarni 	u8 flags4;
124*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF8_MASK                     0x3 /* cf8 */
125*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF8_SHIFT                    0
126*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF9_MASK                     0x3 /* cf9 */
127*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF9_SHIFT                    2
128*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF10_MASK                    0x3 /* cf10 */
129*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF10_SHIFT                   4
130*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF11_MASK                    0x3 /* cf11 */
131*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF11_SHIFT                   6
132*14b24e2bSVaishali Kulkarni 	u8 flags5;
133*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF12_MASK                    0x3 /* cf12 */
134*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF12_SHIFT                   0
135*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF13_MASK                    0x3 /* cf13 */
136*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF13_SHIFT                   2
137*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF14_MASK                    0x3 /* cf14 */
138*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF14_SHIFT                   4
139*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF15_MASK                    0x3 /* cf15 */
140*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF15_SHIFT                   6
141*14b24e2bSVaishali Kulkarni 	u8 flags6;
142*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
143*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT       0
144*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
145*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT       2
146*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_MASK                   0x3 /* cf18 */
147*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_SHIFT                  4
148*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_MASK            0x3 /* cf19 */
149*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_SHIFT           6
150*14b24e2bSVaishali Kulkarni 	u8 flags7;
151*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_MASK                0x3 /* cf20 */
152*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_SHIFT               0
153*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED10_MASK              0x3 /* cf21 */
154*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED10_SHIFT             2
155*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_MASK               0x3 /* cf22 */
156*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_SHIFT              4
157*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF0EN_MASK                   0x1 /* cf0en */
158*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT                  6
159*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF1EN_MASK                   0x1 /* cf1en */
160*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT                  7
161*14b24e2bSVaishali Kulkarni 	u8 flags8;
162*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
163*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                  0
164*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
165*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT                  1
166*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF4EN_MASK                   0x1 /* cf4en */
167*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT                  2
168*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF5EN_MASK                   0x1 /* cf5en */
169*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT                  3
170*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF6EN_MASK                   0x1 /* cf6en */
171*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT                  4
172*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF7EN_MASK                   0x1 /* cf7en */
173*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT                  5
174*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF8EN_MASK                   0x1 /* cf8en */
175*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT                  6
176*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF9EN_MASK                   0x1 /* cf9en */
177*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT                  7
178*14b24e2bSVaishali Kulkarni 	u8 flags9;
179*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF10EN_MASK                  0x1 /* cf10en */
180*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT                 0
181*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF11EN_MASK                  0x1 /* cf11en */
182*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF11EN_SHIFT                 1
183*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF12EN_MASK                  0x1 /* cf12en */
184*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF12EN_SHIFT                 2
185*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF13EN_MASK                  0x1 /* cf13en */
186*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF13EN_SHIFT                 3
187*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF14EN_MASK                  0x1 /* cf14en */
188*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF14EN_SHIFT                 4
189*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF15EN_MASK                  0x1 /* cf15en */
190*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_CF15EN_SHIFT                 5
191*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
192*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT    6
193*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
194*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT    7
195*14b24e2bSVaishali Kulkarni 	u8 flags10;
196*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_MASK                0x1 /* cf18en */
197*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_SHIFT               0
198*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
199*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT        1
200*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
201*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT            2
202*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED11_MASK              0x1 /* cf21en */
203*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED11_SHIFT             3
204*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_MASK            0x1 /* cf22en */
205*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_SHIFT           4
206*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
207*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 5
208*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED12_MASK              0x1 /* rule0en */
209*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED12_SHIFT             6
210*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED13_MASK              0x1 /* rule1en */
211*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED13_SHIFT             7
212*14b24e2bSVaishali Kulkarni 	u8 flags11;
213*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED14_MASK              0x1 /* rule2en */
214*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED14_SHIFT             0
215*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED15_MASK              0x1 /* rule3en */
216*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED15_SHIFT             1
217*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
218*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT         2
219*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
220*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT                3
221*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
222*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT                4
223*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
224*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT                5
225*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_MASK            0x1 /* rule8en */
226*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_SHIFT           6
227*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE9EN_MASK                 0x1 /* rule9en */
228*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE9EN_SHIFT                7
229*14b24e2bSVaishali Kulkarni 	u8 flags12;
230*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE10EN_MASK                0x1 /* rule10en */
231*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE10EN_SHIFT               0
232*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE11EN_MASK                0x1 /* rule11en */
233*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE11EN_SHIFT               1
234*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_MASK            0x1 /* rule12en */
235*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_SHIFT           2
236*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_MASK            0x1 /* rule13en */
237*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_SHIFT           3
238*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE14EN_MASK                0x1 /* rule14en */
239*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE14EN_SHIFT               4
240*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE15EN_MASK                0x1 /* rule15en */
241*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE15EN_SHIFT               5
242*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE16EN_MASK                0x1 /* rule16en */
243*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE16EN_SHIFT               6
244*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE17EN_MASK                0x1 /* rule17en */
245*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE17EN_SHIFT               7
246*14b24e2bSVaishali Kulkarni 	u8 flags13;
247*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE18EN_MASK                0x1 /* rule18en */
248*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE18EN_SHIFT               0
249*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE19EN_MASK                0x1 /* rule19en */
250*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_RULE19EN_SHIFT               1
251*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_MASK            0x1 /* rule20en */
252*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_SHIFT           2
253*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_MASK            0x1 /* rule21en */
254*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_SHIFT           3
255*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_MASK            0x1 /* rule22en */
256*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_SHIFT           4
257*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_MASK            0x1 /* rule23en */
258*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_SHIFT           5
259*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_MASK            0x1 /* rule24en */
260*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_SHIFT           6
261*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_MASK            0x1 /* rule25en */
262*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_SHIFT           7
263*14b24e2bSVaishali Kulkarni 	u8 flags14;
264*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
265*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT       0
266*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
267*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT     1
268*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
269*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT   2
270*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
271*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT   3
272*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
273*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT         4
274*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
275*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT       5
276*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_MASK              0x3 /* cf23 */
277*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_SHIFT             6
278*14b24e2bSVaishali Kulkarni 	u8 edpm_event_id /* byte2 */;
279*14b24e2bSVaishali Kulkarni 	__le16 physical_q0 /* physical_q0 */;
280*14b24e2bSVaishali Kulkarni 	__le16 e5_reserved1 /* physical_q1 */;
281*14b24e2bSVaishali Kulkarni 	__le16 edpm_num_bds /* physical_q2 */;
282*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_cons /* word3 */;
283*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_prod /* word4 */;
284*14b24e2bSVaishali Kulkarni 	__le16 tx_class /* word5 */;
285*14b24e2bSVaishali Kulkarni 	__le16 conn_dpi /* conn_dpi */;
286*14b24e2bSVaishali Kulkarni 	u8 byte3 /* byte3 */;
287*14b24e2bSVaishali Kulkarni 	u8 byte4 /* byte4 */;
288*14b24e2bSVaishali Kulkarni 	u8 byte5 /* byte5 */;
289*14b24e2bSVaishali Kulkarni 	u8 byte6 /* byte6 */;
290*14b24e2bSVaishali Kulkarni 	__le32 reg0 /* reg0 */;
291*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
292*14b24e2bSVaishali Kulkarni 	__le32 reg2 /* reg2 */;
293*14b24e2bSVaishali Kulkarni 	__le32 reg3 /* reg3 */;
294*14b24e2bSVaishali Kulkarni 	__le32 reg4 /* reg4 */;
295*14b24e2bSVaishali Kulkarni 	__le32 reg5 /* cf_array0 */;
296*14b24e2bSVaishali Kulkarni 	__le32 reg6 /* cf_array1 */;
297*14b24e2bSVaishali Kulkarni 	__le16 word7 /* word7 */;
298*14b24e2bSVaishali Kulkarni 	__le16 word8 /* word8 */;
299*14b24e2bSVaishali Kulkarni 	__le16 word9 /* word9 */;
300*14b24e2bSVaishali Kulkarni 	__le16 word10 /* word10 */;
301*14b24e2bSVaishali Kulkarni 	__le32 reg7 /* reg7 */;
302*14b24e2bSVaishali Kulkarni 	__le32 reg8 /* reg8 */;
303*14b24e2bSVaishali Kulkarni 	__le32 reg9 /* reg9 */;
304*14b24e2bSVaishali Kulkarni 	u8 byte7 /* byte7 */;
305*14b24e2bSVaishali Kulkarni 	u8 byte8 /* byte8 */;
306*14b24e2bSVaishali Kulkarni 	u8 byte9 /* byte9 */;
307*14b24e2bSVaishali Kulkarni 	u8 byte10 /* byte10 */;
308*14b24e2bSVaishali Kulkarni 	u8 byte11 /* byte11 */;
309*14b24e2bSVaishali Kulkarni 	u8 byte12 /* byte12 */;
310*14b24e2bSVaishali Kulkarni 	u8 byte13 /* byte13 */;
311*14b24e2bSVaishali Kulkarni 	u8 byte14 /* byte14 */;
312*14b24e2bSVaishali Kulkarni 	u8 byte15 /* byte15 */;
313*14b24e2bSVaishali Kulkarni 	u8 e5_reserved /* e5_reserved */;
314*14b24e2bSVaishali Kulkarni 	__le16 word11 /* word11 */;
315*14b24e2bSVaishali Kulkarni 	__le32 reg10 /* reg10 */;
316*14b24e2bSVaishali Kulkarni 	__le32 reg11 /* reg11 */;
317*14b24e2bSVaishali Kulkarni 	__le32 reg12 /* reg12 */;
318*14b24e2bSVaishali Kulkarni 	__le32 reg13 /* reg13 */;
319*14b24e2bSVaishali Kulkarni 	__le32 reg14 /* reg14 */;
320*14b24e2bSVaishali Kulkarni 	__le32 reg15 /* reg15 */;
321*14b24e2bSVaishali Kulkarni 	__le32 reg16 /* reg16 */;
322*14b24e2bSVaishali Kulkarni 	__le32 reg17 /* reg17 */;
323*14b24e2bSVaishali Kulkarni 	__le32 reg18 /* reg18 */;
324*14b24e2bSVaishali Kulkarni 	__le32 reg19 /* reg19 */;
325*14b24e2bSVaishali Kulkarni 	__le16 word12 /* word12 */;
326*14b24e2bSVaishali Kulkarni 	__le16 word13 /* word13 */;
327*14b24e2bSVaishali Kulkarni 	__le16 word14 /* word14 */;
328*14b24e2bSVaishali Kulkarni 	__le16 word15 /* word15 */;
329*14b24e2bSVaishali Kulkarni };
330*14b24e2bSVaishali Kulkarni 
331*14b24e2bSVaishali Kulkarni /*
332*14b24e2bSVaishali Kulkarni  * The eth storm context for the Ystorm
333*14b24e2bSVaishali Kulkarni  */
334*14b24e2bSVaishali Kulkarni struct ystorm_eth_conn_st_ctx
335*14b24e2bSVaishali Kulkarni {
336*14b24e2bSVaishali Kulkarni 	__le32 reserved[8];
337*14b24e2bSVaishali Kulkarni };
338*14b24e2bSVaishali Kulkarni 
339*14b24e2bSVaishali Kulkarni struct e4_ystorm_eth_conn_ag_ctx
340*14b24e2bSVaishali Kulkarni {
341*14b24e2bSVaishali Kulkarni 	u8 byte0 /* cdu_validation */;
342*14b24e2bSVaishali Kulkarni 	u8 state /* state */;
343*14b24e2bSVaishali Kulkarni 	u8 flags0;
344*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_BIT0_MASK                  0x1 /* exist_in_qm0 */
345*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT                 0
346*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_BIT1_MASK                  0x1 /* exist_in_qm1 */
347*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT                 1
348*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK     0x3 /* cf0 */
349*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT    2
350*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_MASK      0x3 /* cf1 */
351*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_SHIFT     4
352*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_CF2_MASK                   0x3 /* cf2 */
353*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_CF2_SHIFT                  6
354*14b24e2bSVaishali Kulkarni 	u8 flags1;
355*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK  0x1 /* cf0en */
356*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 0
357*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_MASK   0x1 /* cf1en */
358*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_SHIFT  1
359*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_CF2EN_MASK                 0x1 /* cf2en */
360*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                2
361*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK               0x1 /* rule0en */
362*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT              3
363*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK               0x1 /* rule1en */
364*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT              4
365*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK               0x1 /* rule2en */
366*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT              5
367*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK               0x1 /* rule3en */
368*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT              6
369*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK               0x1 /* rule4en */
370*14b24e2bSVaishali Kulkarni #define E4_YSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT              7
371*14b24e2bSVaishali Kulkarni 	u8 tx_q0_int_coallecing_timeset /* byte2 */;
372*14b24e2bSVaishali Kulkarni 	u8 byte3 /* byte3 */;
373*14b24e2bSVaishali Kulkarni 	__le16 word0 /* word0 */;
374*14b24e2bSVaishali Kulkarni 	__le32 terminate_spqe /* reg0 */;
375*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
376*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_cons_upd /* word1 */;
377*14b24e2bSVaishali Kulkarni 	__le16 word2 /* word2 */;
378*14b24e2bSVaishali Kulkarni 	__le16 word3 /* word3 */;
379*14b24e2bSVaishali Kulkarni 	__le16 word4 /* word4 */;
380*14b24e2bSVaishali Kulkarni 	__le32 reg2 /* reg2 */;
381*14b24e2bSVaishali Kulkarni 	__le32 reg3 /* reg3 */;
382*14b24e2bSVaishali Kulkarni };
383*14b24e2bSVaishali Kulkarni 
384*14b24e2bSVaishali Kulkarni struct e4_tstorm_eth_conn_ag_ctx
385*14b24e2bSVaishali Kulkarni {
386*14b24e2bSVaishali Kulkarni 	u8 byte0 /* cdu_validation */;
387*14b24e2bSVaishali Kulkarni 	u8 byte1 /* state */;
388*14b24e2bSVaishali Kulkarni 	u8 flags0;
389*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT0_MASK      0x1 /* exist_in_qm0 */
390*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT     0
391*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT1_MASK      0x1 /* exist_in_qm1 */
392*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT     1
393*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT2_MASK      0x1 /* bit2 */
394*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT2_SHIFT     2
395*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT3_MASK      0x1 /* bit3 */
396*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT3_SHIFT     3
397*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT4_MASK      0x1 /* bit4 */
398*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT4_SHIFT     4
399*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT5_MASK      0x1 /* bit5 */
400*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_BIT5_SHIFT     5
401*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF0_MASK       0x3 /* timer0cf */
402*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF0_SHIFT      6
403*14b24e2bSVaishali Kulkarni 	u8 flags1;
404*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF1_MASK       0x3 /* timer1cf */
405*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF1_SHIFT      0
406*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF2_MASK       0x3 /* timer2cf */
407*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF2_SHIFT      2
408*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF3_MASK       0x3 /* timer_stop_all */
409*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF3_SHIFT      4
410*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF4_MASK       0x3 /* cf4 */
411*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF4_SHIFT      6
412*14b24e2bSVaishali Kulkarni 	u8 flags2;
413*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF5_MASK       0x3 /* cf5 */
414*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF5_SHIFT      0
415*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF6_MASK       0x3 /* cf6 */
416*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF6_SHIFT      2
417*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF7_MASK       0x3 /* cf7 */
418*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF7_SHIFT      4
419*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF8_MASK       0x3 /* cf8 */
420*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF8_SHIFT      6
421*14b24e2bSVaishali Kulkarni 	u8 flags3;
422*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF9_MASK       0x3 /* cf9 */
423*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF9_SHIFT      0
424*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF10_MASK      0x3 /* cf10 */
425*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF10_SHIFT     2
426*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF0EN_MASK     0x1 /* cf0en */
427*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT    4
428*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF1EN_MASK     0x1 /* cf1en */
429*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT    5
430*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF2EN_MASK     0x1 /* cf2en */
431*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT    6
432*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF3EN_MASK     0x1 /* cf3en */
433*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT    7
434*14b24e2bSVaishali Kulkarni 	u8 flags4;
435*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF4EN_MASK     0x1 /* cf4en */
436*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT    0
437*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF5EN_MASK     0x1 /* cf5en */
438*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT    1
439*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF6EN_MASK     0x1 /* cf6en */
440*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT    2
441*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF7EN_MASK     0x1 /* cf7en */
442*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT    3
443*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF8EN_MASK     0x1 /* cf8en */
444*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT    4
445*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF9EN_MASK     0x1 /* cf9en */
446*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT    5
447*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF10EN_MASK    0x1 /* cf10en */
448*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT   6
449*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK   0x1 /* rule0en */
450*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT  7
451*14b24e2bSVaishali Kulkarni 	u8 flags5;
452*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK   0x1 /* rule1en */
453*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT  0
454*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK   0x1 /* rule2en */
455*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT  1
456*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK   0x1 /* rule3en */
457*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT  2
458*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK   0x1 /* rule4en */
459*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT  3
460*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK   0x1 /* rule5en */
461*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT  4
462*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_MASK  0x1 /* rule6en */
463*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_SHIFT 5
464*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK   0x1 /* rule7en */
465*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT  6
466*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE8EN_MASK   0x1 /* rule8en */
467*14b24e2bSVaishali Kulkarni #define E4_TSTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT  7
468*14b24e2bSVaishali Kulkarni 	__le32 reg0 /* reg0 */;
469*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
470*14b24e2bSVaishali Kulkarni 	__le32 reg2 /* reg2 */;
471*14b24e2bSVaishali Kulkarni 	__le32 reg3 /* reg3 */;
472*14b24e2bSVaishali Kulkarni 	__le32 reg4 /* reg4 */;
473*14b24e2bSVaishali Kulkarni 	__le32 reg5 /* reg5 */;
474*14b24e2bSVaishali Kulkarni 	__le32 reg6 /* reg6 */;
475*14b24e2bSVaishali Kulkarni 	__le32 reg7 /* reg7 */;
476*14b24e2bSVaishali Kulkarni 	__le32 reg8 /* reg8 */;
477*14b24e2bSVaishali Kulkarni 	u8 byte2 /* byte2 */;
478*14b24e2bSVaishali Kulkarni 	u8 byte3 /* byte3 */;
479*14b24e2bSVaishali Kulkarni 	__le16 rx_bd_cons /* word0 */;
480*14b24e2bSVaishali Kulkarni 	u8 byte4 /* byte4 */;
481*14b24e2bSVaishali Kulkarni 	u8 byte5 /* byte5 */;
482*14b24e2bSVaishali Kulkarni 	__le16 rx_bd_prod /* word1 */;
483*14b24e2bSVaishali Kulkarni 	__le16 word2 /* conn_dpi */;
484*14b24e2bSVaishali Kulkarni 	__le16 word3 /* word3 */;
485*14b24e2bSVaishali Kulkarni 	__le32 reg9 /* reg9 */;
486*14b24e2bSVaishali Kulkarni 	__le32 reg10 /* reg10 */;
487*14b24e2bSVaishali Kulkarni };
488*14b24e2bSVaishali Kulkarni 
489*14b24e2bSVaishali Kulkarni struct e4_ustorm_eth_conn_ag_ctx
490*14b24e2bSVaishali Kulkarni {
491*14b24e2bSVaishali Kulkarni 	u8 byte0 /* cdu_validation */;
492*14b24e2bSVaishali Kulkarni 	u8 byte1 /* state */;
493*14b24e2bSVaishali Kulkarni 	u8 flags0;
494*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_BIT0_MASK                    0x1 /* exist_in_qm0 */
495*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_BIT0_SHIFT                   0
496*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_BIT1_MASK                    0x1 /* exist_in_qm1 */
497*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_BIT1_SHIFT                   1
498*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_MASK     0x3 /* timer0cf */
499*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_SHIFT    2
500*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_MASK     0x3 /* timer1cf */
501*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_SHIFT    4
502*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
503*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_CF2_SHIFT                    6
504*14b24e2bSVaishali Kulkarni 	u8 flags1;
505*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
506*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_CF3_SHIFT                    0
507*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_MASK               0x3 /* cf4 */
508*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_SHIFT              2
509*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_MASK               0x3 /* cf5 */
510*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_SHIFT              4
511*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK       0x3 /* cf6 */
512*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT      6
513*14b24e2bSVaishali Kulkarni 	u8 flags2;
514*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_MASK  0x1 /* cf0en */
515*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_SHIFT 0
516*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_MASK  0x1 /* cf1en */
517*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_SHIFT 1
518*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
519*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                  2
520*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
521*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT                  3
522*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_MASK            0x1 /* cf4en */
523*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_SHIFT           4
524*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_MASK            0x1 /* cf5en */
525*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_SHIFT           5
526*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK    0x1 /* cf6en */
527*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT   6
528*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE0EN_MASK                 0x1 /* rule0en */
529*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT                7
530*14b24e2bSVaishali Kulkarni 	u8 flags3;
531*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE1EN_MASK                 0x1 /* rule1en */
532*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT                0
533*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE2EN_MASK                 0x1 /* rule2en */
534*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT                1
535*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE3EN_MASK                 0x1 /* rule3en */
536*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT                2
537*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE4EN_MASK                 0x1 /* rule4en */
538*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT                3
539*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
540*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT                4
541*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
542*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT                5
543*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
544*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT                6
545*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE8EN_MASK                 0x1 /* rule8en */
546*14b24e2bSVaishali Kulkarni #define E4_USTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT                7
547*14b24e2bSVaishali Kulkarni 	u8 byte2 /* byte2 */;
548*14b24e2bSVaishali Kulkarni 	u8 byte3 /* byte3 */;
549*14b24e2bSVaishali Kulkarni 	__le16 word0 /* conn_dpi */;
550*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_cons /* word1 */;
551*14b24e2bSVaishali Kulkarni 	__le32 reg0 /* reg0 */;
552*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
553*14b24e2bSVaishali Kulkarni 	__le32 reg2 /* reg2 */;
554*14b24e2bSVaishali Kulkarni 	__le32 tx_int_coallecing_timeset /* reg3 */;
555*14b24e2bSVaishali Kulkarni 	__le16 tx_drv_bd_cons /* word2 */;
556*14b24e2bSVaishali Kulkarni 	__le16 rx_drv_cqe_cons /* word3 */;
557*14b24e2bSVaishali Kulkarni };
558*14b24e2bSVaishali Kulkarni 
559*14b24e2bSVaishali Kulkarni /*
560*14b24e2bSVaishali Kulkarni  * The eth storm context for the Ustorm
561*14b24e2bSVaishali Kulkarni  */
562*14b24e2bSVaishali Kulkarni struct ustorm_eth_conn_st_ctx
563*14b24e2bSVaishali Kulkarni {
564*14b24e2bSVaishali Kulkarni 	__le32 reserved[40];
565*14b24e2bSVaishali Kulkarni };
566*14b24e2bSVaishali Kulkarni 
567*14b24e2bSVaishali Kulkarni /*
568*14b24e2bSVaishali Kulkarni  * The eth storm context for the Mstorm
569*14b24e2bSVaishali Kulkarni  */
570*14b24e2bSVaishali Kulkarni struct mstorm_eth_conn_st_ctx
571*14b24e2bSVaishali Kulkarni {
572*14b24e2bSVaishali Kulkarni 	__le32 reserved[8];
573*14b24e2bSVaishali Kulkarni };
574*14b24e2bSVaishali Kulkarni 
575*14b24e2bSVaishali Kulkarni /*
576*14b24e2bSVaishali Kulkarni  * eth connection context
577*14b24e2bSVaishali Kulkarni  */
578*14b24e2bSVaishali Kulkarni struct eth_conn_context
579*14b24e2bSVaishali Kulkarni {
580*14b24e2bSVaishali Kulkarni 	struct tstorm_eth_conn_st_ctx tstorm_st_context /* tstorm storm context */;
581*14b24e2bSVaishali Kulkarni 	struct regpair tstorm_st_padding[2] /* padding */;
582*14b24e2bSVaishali Kulkarni 	struct pstorm_eth_conn_st_ctx pstorm_st_context /* pstorm storm context */;
583*14b24e2bSVaishali Kulkarni 	struct xstorm_eth_conn_st_ctx xstorm_st_context /* xstorm storm context */;
584*14b24e2bSVaishali Kulkarni 	struct e4_xstorm_eth_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
585*14b24e2bSVaishali Kulkarni 	struct ystorm_eth_conn_st_ctx ystorm_st_context /* ystorm storm context */;
586*14b24e2bSVaishali Kulkarni 	struct e4_ystorm_eth_conn_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
587*14b24e2bSVaishali Kulkarni 	struct e4_tstorm_eth_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
588*14b24e2bSVaishali Kulkarni 	struct e4_ustorm_eth_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
589*14b24e2bSVaishali Kulkarni 	struct ustorm_eth_conn_st_ctx ustorm_st_context /* ustorm storm context */;
590*14b24e2bSVaishali Kulkarni 	struct mstorm_eth_conn_st_ctx mstorm_st_context /* mstorm storm context */;
591*14b24e2bSVaishali Kulkarni };
592*14b24e2bSVaishali Kulkarni 
593*14b24e2bSVaishali Kulkarni 
594*14b24e2bSVaishali Kulkarni /*
595*14b24e2bSVaishali Kulkarni  * Ethernet filter types: mac/vlan/pair
596*14b24e2bSVaishali Kulkarni  */
597*14b24e2bSVaishali Kulkarni enum eth_error_code
598*14b24e2bSVaishali Kulkarni {
599*14b24e2bSVaishali Kulkarni 	ETH_OK=0x00 /* command succeeded */,
600*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_MAC_ADD_FAIL_FULL /* mac add filters command failed due to cam full state */,
601*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_MAC_ADD_FAIL_FULL_MTT2 /* mac add filters command failed due to mtt2 full state */,
602*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_MAC_ADD_FAIL_DUP_MTT2 /* mac add filters command failed due to duplicate mac address */,
603*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_MAC_ADD_FAIL_DUP_STT2 /* mac add filters command failed due to duplicate mac address */,
604*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_MAC_DEL_FAIL_NOF /* mac delete filters command failed due to not found state */,
605*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_MAC_DEL_FAIL_NOF_MTT2 /* mac delete filters command failed due to not found state */,
606*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_MAC_DEL_FAIL_NOF_STT2 /* mac delete filters command failed due to not found state */,
607*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_MAC_ADD_FAIL_ZERO_MAC /* mac add filters command failed due to MAC Address of 00:00:00:00:00:00 */,
608*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_VLAN_ADD_FAIL_FULL /* vlan add filters command failed due to cam full state */,
609*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_VLAN_ADD_FAIL_DUP /* vlan add filters command failed due to duplicate VLAN filter */,
610*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_VLAN_DEL_FAIL_NOF /* vlan delete filters command failed due to not found state */,
611*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_VLAN_DEL_FAIL_NOF_TT1 /* vlan delete filters command failed due to not found state */,
612*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_PAIR_ADD_FAIL_DUP /* pair add filters command failed due to duplicate request */,
613*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_PAIR_ADD_FAIL_FULL /* pair add filters command failed due to full state */,
614*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_PAIR_ADD_FAIL_FULL_MAC /* pair add filters command failed due to full state */,
615*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_PAIR_DEL_FAIL_NOF /* pair add filters command failed due not found state */,
616*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_PAIR_DEL_FAIL_NOF_TT1 /* pair add filters command failed due not found state */,
617*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_PAIR_ADD_FAIL_ZERO_MAC /* pair add filters command failed due to MAC Address of 00:00:00:00:00:00 */,
618*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_VNI_ADD_FAIL_FULL /* vni add filters command failed due to cam full state */,
619*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_VNI_ADD_FAIL_DUP /* vni add filters command failed due to duplicate VNI filter */,
620*14b24e2bSVaishali Kulkarni 	ETH_FILTERS_GFT_UPDATE_FAIL /* Fail update GFT filter. */,
621*14b24e2bSVaishali Kulkarni 	MAX_ETH_ERROR_CODE
622*14b24e2bSVaishali Kulkarni };
623*14b24e2bSVaishali Kulkarni 
624*14b24e2bSVaishali Kulkarni 
625*14b24e2bSVaishali Kulkarni /*
626*14b24e2bSVaishali Kulkarni  * opcodes for the event ring
627*14b24e2bSVaishali Kulkarni  */
628*14b24e2bSVaishali Kulkarni enum eth_event_opcode
629*14b24e2bSVaishali Kulkarni {
630*14b24e2bSVaishali Kulkarni 	ETH_EVENT_UNUSED,
631*14b24e2bSVaishali Kulkarni 	ETH_EVENT_VPORT_START,
632*14b24e2bSVaishali Kulkarni 	ETH_EVENT_VPORT_UPDATE,
633*14b24e2bSVaishali Kulkarni 	ETH_EVENT_VPORT_STOP,
634*14b24e2bSVaishali Kulkarni 	ETH_EVENT_TX_QUEUE_START,
635*14b24e2bSVaishali Kulkarni 	ETH_EVENT_TX_QUEUE_STOP,
636*14b24e2bSVaishali Kulkarni 	ETH_EVENT_RX_QUEUE_START,
637*14b24e2bSVaishali Kulkarni 	ETH_EVENT_RX_QUEUE_UPDATE,
638*14b24e2bSVaishali Kulkarni 	ETH_EVENT_RX_QUEUE_STOP,
639*14b24e2bSVaishali Kulkarni 	ETH_EVENT_FILTERS_UPDATE,
640*14b24e2bSVaishali Kulkarni 	ETH_EVENT_RX_ADD_OPENFLOW_FILTER,
641*14b24e2bSVaishali Kulkarni 	ETH_EVENT_RX_DELETE_OPENFLOW_FILTER,
642*14b24e2bSVaishali Kulkarni 	ETH_EVENT_RX_CREATE_OPENFLOW_ACTION,
643*14b24e2bSVaishali Kulkarni 	ETH_EVENT_RX_ADD_UDP_FILTER,
644*14b24e2bSVaishali Kulkarni 	ETH_EVENT_RX_DELETE_UDP_FILTER,
645*14b24e2bSVaishali Kulkarni 	ETH_EVENT_RX_CREATE_GFT_ACTION,
646*14b24e2bSVaishali Kulkarni 	ETH_EVENT_RX_GFT_UPDATE_FILTER,
647*14b24e2bSVaishali Kulkarni 	MAX_ETH_EVENT_OPCODE
648*14b24e2bSVaishali Kulkarni };
649*14b24e2bSVaishali Kulkarni 
650*14b24e2bSVaishali Kulkarni 
651*14b24e2bSVaishali Kulkarni /*
652*14b24e2bSVaishali Kulkarni  * Classify rule types in E2/E3
653*14b24e2bSVaishali Kulkarni  */
654*14b24e2bSVaishali Kulkarni enum eth_filter_action
655*14b24e2bSVaishali Kulkarni {
656*14b24e2bSVaishali Kulkarni 	ETH_FILTER_ACTION_UNUSED,
657*14b24e2bSVaishali Kulkarni 	ETH_FILTER_ACTION_REMOVE,
658*14b24e2bSVaishali Kulkarni 	ETH_FILTER_ACTION_ADD,
659*14b24e2bSVaishali Kulkarni 	ETH_FILTER_ACTION_REMOVE_ALL /* Remove all filters of given type and vport ID. */,
660*14b24e2bSVaishali Kulkarni 	MAX_ETH_FILTER_ACTION
661*14b24e2bSVaishali Kulkarni };
662*14b24e2bSVaishali Kulkarni 
663*14b24e2bSVaishali Kulkarni 
664*14b24e2bSVaishali Kulkarni /*
665*14b24e2bSVaishali Kulkarni  * Command for adding/removing a classification rule $$KEEP_ENDIANNESS$$
666*14b24e2bSVaishali Kulkarni  */
667*14b24e2bSVaishali Kulkarni struct eth_filter_cmd
668*14b24e2bSVaishali Kulkarni {
669*14b24e2bSVaishali Kulkarni 	u8 type /* Filter Type (MAC/VLAN/Pair/VNI) */;
670*14b24e2bSVaishali Kulkarni 	u8 vport_id /* the vport id */;
671*14b24e2bSVaishali Kulkarni 	u8 action /* filter command action: add/remove/replace */;
672*14b24e2bSVaishali Kulkarni 	u8 reserved0;
673*14b24e2bSVaishali Kulkarni 	__le32 vni;
674*14b24e2bSVaishali Kulkarni 	__le16 mac_lsb;
675*14b24e2bSVaishali Kulkarni 	__le16 mac_mid;
676*14b24e2bSVaishali Kulkarni 	__le16 mac_msb;
677*14b24e2bSVaishali Kulkarni 	__le16 vlan_id;
678*14b24e2bSVaishali Kulkarni };
679*14b24e2bSVaishali Kulkarni 
680*14b24e2bSVaishali Kulkarni 
681*14b24e2bSVaishali Kulkarni /*
682*14b24e2bSVaishali Kulkarni  *  $$KEEP_ENDIANNESS$$
683*14b24e2bSVaishali Kulkarni  */
684*14b24e2bSVaishali Kulkarni struct eth_filter_cmd_header
685*14b24e2bSVaishali Kulkarni {
686*14b24e2bSVaishali Kulkarni 	u8 rx /* If set, apply these commands to the RX path */;
687*14b24e2bSVaishali Kulkarni 	u8 tx /* If set, apply these commands to the TX path */;
688*14b24e2bSVaishali Kulkarni 	u8 cmd_cnt /* Number of filter commands */;
689*14b24e2bSVaishali Kulkarni 	u8 assert_on_error /* 0 - dont assert in case of filter configuration error. Just return an error code. 1 - assert in case of filter configuration error. */;
690*14b24e2bSVaishali Kulkarni 	u8 reserved1[4];
691*14b24e2bSVaishali Kulkarni };
692*14b24e2bSVaishali Kulkarni 
693*14b24e2bSVaishali Kulkarni 
694*14b24e2bSVaishali Kulkarni /*
695*14b24e2bSVaishali Kulkarni  * Ethernet filter types: mac/vlan/pair
696*14b24e2bSVaishali Kulkarni  */
697*14b24e2bSVaishali Kulkarni enum eth_filter_type
698*14b24e2bSVaishali Kulkarni {
699*14b24e2bSVaishali Kulkarni 	ETH_FILTER_TYPE_UNUSED,
700*14b24e2bSVaishali Kulkarni 	ETH_FILTER_TYPE_MAC /* Add/remove a MAC address */,
701*14b24e2bSVaishali Kulkarni 	ETH_FILTER_TYPE_VLAN /* Add/remove a VLAN */,
702*14b24e2bSVaishali Kulkarni 	ETH_FILTER_TYPE_PAIR /* Add/remove a MAC-VLAN pair */,
703*14b24e2bSVaishali Kulkarni 	ETH_FILTER_TYPE_INNER_MAC /* Add/remove a inner MAC address */,
704*14b24e2bSVaishali Kulkarni 	ETH_FILTER_TYPE_INNER_VLAN /* Add/remove a inner VLAN */,
705*14b24e2bSVaishali Kulkarni 	ETH_FILTER_TYPE_INNER_PAIR /* Add/remove a inner MAC-VLAN pair */,
706*14b24e2bSVaishali Kulkarni 	ETH_FILTER_TYPE_INNER_MAC_VNI_PAIR /* Add/remove a inner MAC-VNI pair */,
707*14b24e2bSVaishali Kulkarni 	ETH_FILTER_TYPE_MAC_VNI_PAIR /* Add/remove a MAC-VNI pair */,
708*14b24e2bSVaishali Kulkarni 	ETH_FILTER_TYPE_VNI /* Add/remove a VNI */,
709*14b24e2bSVaishali Kulkarni 	MAX_ETH_FILTER_TYPE
710*14b24e2bSVaishali Kulkarni };
711*14b24e2bSVaishali Kulkarni 
712*14b24e2bSVaishali Kulkarni 
713*14b24e2bSVaishali Kulkarni /*
714*14b24e2bSVaishali Kulkarni  * eth IPv4 Fragment Type
715*14b24e2bSVaishali Kulkarni  */
716*14b24e2bSVaishali Kulkarni enum eth_ipv4_frag_type
717*14b24e2bSVaishali Kulkarni {
718*14b24e2bSVaishali Kulkarni 	ETH_IPV4_NOT_FRAG /* IPV4 Packet Not Fragmented */,
719*14b24e2bSVaishali Kulkarni 	ETH_IPV4_FIRST_FRAG /* First Fragment of IPv4 Packet (contains headers) */,
720*14b24e2bSVaishali Kulkarni 	ETH_IPV4_NON_FIRST_FRAG /* Non-First Fragment of IPv4 Packet (does not contain headers) */,
721*14b24e2bSVaishali Kulkarni 	MAX_ETH_IPV4_FRAG_TYPE
722*14b24e2bSVaishali Kulkarni };
723*14b24e2bSVaishali Kulkarni 
724*14b24e2bSVaishali Kulkarni 
725*14b24e2bSVaishali Kulkarni /*
726*14b24e2bSVaishali Kulkarni  * eth IPv4 Fragment Type
727*14b24e2bSVaishali Kulkarni  */
728*14b24e2bSVaishali Kulkarni enum eth_ip_type
729*14b24e2bSVaishali Kulkarni {
730*14b24e2bSVaishali Kulkarni 	ETH_IPV4 /* IPv4 */,
731*14b24e2bSVaishali Kulkarni 	ETH_IPV6 /* IPv6 */,
732*14b24e2bSVaishali Kulkarni 	MAX_ETH_IP_TYPE
733*14b24e2bSVaishali Kulkarni };
734*14b24e2bSVaishali Kulkarni 
735*14b24e2bSVaishali Kulkarni 
736*14b24e2bSVaishali Kulkarni /*
737*14b24e2bSVaishali Kulkarni  * Ethernet Ramrod Command IDs
738*14b24e2bSVaishali Kulkarni  */
739*14b24e2bSVaishali Kulkarni enum eth_ramrod_cmd_id
740*14b24e2bSVaishali Kulkarni {
741*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_UNUSED,
742*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_VPORT_START /* VPort Start Ramrod */,
743*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_VPORT_UPDATE /* VPort Update Ramrod */,
744*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_VPORT_STOP /* VPort Stop Ramrod */,
745*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_RX_QUEUE_START /* RX Queue Start Ramrod */,
746*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_RX_QUEUE_STOP /* RX Queue Stop Ramrod */,
747*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_TX_QUEUE_START /* TX Queue Start Ramrod */,
748*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_TX_QUEUE_STOP /* TX Queue Stop Ramrod */,
749*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_FILTERS_UPDATE /* Add or Remove Mac/Vlan/Pair filters */,
750*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_RX_QUEUE_UPDATE /* RX Queue Update Ramrod */,
751*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_RX_CREATE_OPENFLOW_ACTION /* RX - Create an Openflow Action */,
752*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_RX_ADD_OPENFLOW_FILTER /* RX - Add an Openflow Filter to the Searcher */,
753*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_RX_DELETE_OPENFLOW_FILTER /* RX - Delete an Openflow Filter to the Searcher */,
754*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_RX_ADD_UDP_FILTER /* RX - Add a UDP Filter to the Searcher */,
755*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_RX_DELETE_UDP_FILTER /* RX - Delete a UDP Filter to the Searcher */,
756*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_RX_CREATE_GFT_ACTION /* RX - Create a Gft Action */,
757*14b24e2bSVaishali Kulkarni 	ETH_RAMROD_GFT_UPDATE_FILTER /* RX - Add/Delete a GFT Filter to the Searcher */,
758*14b24e2bSVaishali Kulkarni 	MAX_ETH_RAMROD_CMD_ID
759*14b24e2bSVaishali Kulkarni };
760*14b24e2bSVaishali Kulkarni 
761*14b24e2bSVaishali Kulkarni 
762*14b24e2bSVaishali Kulkarni /*
763*14b24e2bSVaishali Kulkarni  * return code from eth sp ramrods
764*14b24e2bSVaishali Kulkarni  */
765*14b24e2bSVaishali Kulkarni struct eth_return_code
766*14b24e2bSVaishali Kulkarni {
767*14b24e2bSVaishali Kulkarni 	u8 value;
768*14b24e2bSVaishali Kulkarni #define ETH_RETURN_CODE_ERR_CODE_MASK  0x1F /* error code (use enum eth_error_code) */
769*14b24e2bSVaishali Kulkarni #define ETH_RETURN_CODE_ERR_CODE_SHIFT 0
770*14b24e2bSVaishali Kulkarni #define ETH_RETURN_CODE_RESERVED_MASK  0x3
771*14b24e2bSVaishali Kulkarni #define ETH_RETURN_CODE_RESERVED_SHIFT 5
772*14b24e2bSVaishali Kulkarni #define ETH_RETURN_CODE_RX_TX_MASK     0x1 /* rx path - 0, tx path - 1 */
773*14b24e2bSVaishali Kulkarni #define ETH_RETURN_CODE_RX_TX_SHIFT    7
774*14b24e2bSVaishali Kulkarni };
775*14b24e2bSVaishali Kulkarni 
776*14b24e2bSVaishali Kulkarni 
777*14b24e2bSVaishali Kulkarni /*
778*14b24e2bSVaishali Kulkarni  * What to do in case an error occurs
779*14b24e2bSVaishali Kulkarni  */
780*14b24e2bSVaishali Kulkarni enum eth_tx_err
781*14b24e2bSVaishali Kulkarni {
782*14b24e2bSVaishali Kulkarni 	ETH_TX_ERR_DROP /* Drop erroneous packet. */,
783*14b24e2bSVaishali Kulkarni 	ETH_TX_ERR_ASSERT_MALICIOUS /* Assert an interrupt for PF, declare as malicious for VF */,
784*14b24e2bSVaishali Kulkarni 	MAX_ETH_TX_ERR
785*14b24e2bSVaishali Kulkarni };
786*14b24e2bSVaishali Kulkarni 
787*14b24e2bSVaishali Kulkarni 
788*14b24e2bSVaishali Kulkarni /*
789*14b24e2bSVaishali Kulkarni  * Array of the different error type behaviors
790*14b24e2bSVaishali Kulkarni  */
791*14b24e2bSVaishali Kulkarni struct eth_tx_err_vals
792*14b24e2bSVaishali Kulkarni {
793*14b24e2bSVaishali Kulkarni 	__le16 values;
794*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_ILLEGAL_VLAN_MODE_MASK            0x1 /* Wrong VLAN insertion mode (use enum eth_tx_err) */
795*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_ILLEGAL_VLAN_MODE_SHIFT           0
796*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_PACKET_TOO_SMALL_MASK             0x1 /* Packet is below minimal size (use enum eth_tx_err) */
797*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_PACKET_TOO_SMALL_SHIFT            1
798*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_ANTI_SPOOFING_ERR_MASK            0x1 /* Vport has sent spoofed packet (use enum eth_tx_err) */
799*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_ANTI_SPOOFING_ERR_SHIFT           2
800*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_ILLEGAL_INBAND_TAGS_MASK          0x1 /* Packet with illegal type of inband tag (use enum eth_tx_err) */
801*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_ILLEGAL_INBAND_TAGS_SHIFT         3
802*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_VLAN_INSERTION_W_INBAND_TAG_MASK  0x1 /* Packet marked for VLAN insertion when inband tag is present (use enum eth_tx_err) */
803*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_VLAN_INSERTION_W_INBAND_TAG_SHIFT 4
804*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_MTU_VIOLATION_MASK                0x1 /* Non LSO packet larger than MTU (use enum eth_tx_err) */
805*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_MTU_VIOLATION_SHIFT               5
806*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_ILLEGAL_CONTROL_FRAME_MASK        0x1 /* VF/PF has sent LLDP/PFC or any other type of control packet which is not allowed to (use enum eth_tx_err) */
807*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_ILLEGAL_CONTROL_FRAME_SHIFT       6
808*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_RESERVED_MASK                     0x1FF
809*14b24e2bSVaishali Kulkarni #define ETH_TX_ERR_VALS_RESERVED_SHIFT                    7
810*14b24e2bSVaishali Kulkarni };
811*14b24e2bSVaishali Kulkarni 
812*14b24e2bSVaishali Kulkarni 
813*14b24e2bSVaishali Kulkarni /*
814*14b24e2bSVaishali Kulkarni  * vport rss configuration data
815*14b24e2bSVaishali Kulkarni  */
816*14b24e2bSVaishali Kulkarni struct eth_vport_rss_config
817*14b24e2bSVaishali Kulkarni {
818*14b24e2bSVaishali Kulkarni 	__le16 capabilities;
819*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV4_CAPABILITY_MASK        0x1 /* configuration of the IpV4 2-tuple capability */
820*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV4_CAPABILITY_SHIFT       0
821*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV6_CAPABILITY_MASK        0x1 /* configuration of the IpV6 2-tuple capability */
822*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV6_CAPABILITY_SHIFT       1
823*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV4_TCP_CAPABILITY_MASK    0x1 /* configuration of the IpV4 4-tuple capability for TCP */
824*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV4_TCP_CAPABILITY_SHIFT   2
825*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV6_TCP_CAPABILITY_MASK    0x1 /* configuration of the IpV6 4-tuple capability for TCP */
826*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV6_TCP_CAPABILITY_SHIFT   3
827*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV4_UDP_CAPABILITY_MASK    0x1 /* configuration of the IpV4 4-tuple capability for UDP */
828*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV4_UDP_CAPABILITY_SHIFT   4
829*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV6_UDP_CAPABILITY_MASK    0x1 /* configuration of the IpV6 4-tuple capability for UDP */
830*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_IPV6_UDP_CAPABILITY_SHIFT   5
831*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_EN_5_TUPLE_CAPABILITY_MASK  0x1 /* configuration of the 5-tuple capability */
832*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_EN_5_TUPLE_CAPABILITY_SHIFT 6
833*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_RESERVED0_MASK              0x1FF /* if set update the rss keys */
834*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RSS_CONFIG_RESERVED0_SHIFT             7
835*14b24e2bSVaishali Kulkarni 	u8 rss_id /* The RSS engine ID. Must be allocated to each vport with RSS enabled. Total number of RSS engines is ETH_RSS_ENGINE_NUM_ , according to chip type. */;
836*14b24e2bSVaishali Kulkarni 	u8 rss_mode /* The RSS mode for this function */;
837*14b24e2bSVaishali Kulkarni 	u8 update_rss_key /* if set update the rss key */;
838*14b24e2bSVaishali Kulkarni 	u8 update_rss_ind_table /* if set update the indirection table values */;
839*14b24e2bSVaishali Kulkarni 	u8 update_rss_capabilities /* if set update the capabilities and indirection table size. */;
840*14b24e2bSVaishali Kulkarni 	u8 tbl_size /* rss mask (Tbl size) */;
841*14b24e2bSVaishali Kulkarni 	__le32 reserved2[2];
842*14b24e2bSVaishali Kulkarni 	__le16 indirection_table[ETH_RSS_IND_TABLE_ENTRIES_NUM] /* RSS indirection table */;
843*14b24e2bSVaishali Kulkarni 	__le32 rss_key[ETH_RSS_KEY_SIZE_REGS] /* RSS key supplied to us by OS */;
844*14b24e2bSVaishali Kulkarni 	__le32 reserved3[2];
845*14b24e2bSVaishali Kulkarni };
846*14b24e2bSVaishali Kulkarni 
847*14b24e2bSVaishali Kulkarni 
848*14b24e2bSVaishali Kulkarni /*
849*14b24e2bSVaishali Kulkarni  * eth vport RSS mode
850*14b24e2bSVaishali Kulkarni  */
851*14b24e2bSVaishali Kulkarni enum eth_vport_rss_mode
852*14b24e2bSVaishali Kulkarni {
853*14b24e2bSVaishali Kulkarni 	ETH_VPORT_RSS_MODE_DISABLED /* RSS Disabled */,
854*14b24e2bSVaishali Kulkarni 	ETH_VPORT_RSS_MODE_REGULAR /* Regular (ndis-like) RSS */,
855*14b24e2bSVaishali Kulkarni 	MAX_ETH_VPORT_RSS_MODE
856*14b24e2bSVaishali Kulkarni };
857*14b24e2bSVaishali Kulkarni 
858*14b24e2bSVaishali Kulkarni 
859*14b24e2bSVaishali Kulkarni /*
860*14b24e2bSVaishali Kulkarni  * Command for setting classification flags for a vport $$KEEP_ENDIANNESS$$
861*14b24e2bSVaishali Kulkarni  */
862*14b24e2bSVaishali Kulkarni struct eth_vport_rx_mode
863*14b24e2bSVaishali Kulkarni {
864*14b24e2bSVaishali Kulkarni 	__le16 state;
865*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_UCAST_DROP_ALL_MASK          0x1 /* drop all unicast packets */
866*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_UCAST_DROP_ALL_SHIFT         0
867*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_ALL_MASK        0x1 /* accept all unicast packets (subject to vlan) */
868*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_ALL_SHIFT       1
869*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_UNMATCHED_MASK  0x1 /* accept all unmatched unicast packets */
870*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_UNMATCHED_SHIFT 2
871*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_MCAST_DROP_ALL_MASK          0x1 /* drop all multicast packets */
872*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_MCAST_DROP_ALL_SHIFT         3
873*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_MCAST_ACCEPT_ALL_MASK        0x1 /* accept all multicast packets (subject to vlan) */
874*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_MCAST_ACCEPT_ALL_SHIFT       4
875*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_BCAST_ACCEPT_ALL_MASK        0x1 /* accept all broadcast packets (subject to vlan) */
876*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_BCAST_ACCEPT_ALL_SHIFT       5
877*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_RESERVED1_MASK               0x3FF
878*14b24e2bSVaishali Kulkarni #define ETH_VPORT_RX_MODE_RESERVED1_SHIFT              6
879*14b24e2bSVaishali Kulkarni 	__le16 reserved2[3];
880*14b24e2bSVaishali Kulkarni };
881*14b24e2bSVaishali Kulkarni 
882*14b24e2bSVaishali Kulkarni 
883*14b24e2bSVaishali Kulkarni /*
884*14b24e2bSVaishali Kulkarni  * Command for setting tpa parameters
885*14b24e2bSVaishali Kulkarni  */
886*14b24e2bSVaishali Kulkarni struct eth_vport_tpa_param
887*14b24e2bSVaishali Kulkarni {
888*14b24e2bSVaishali Kulkarni 	u8 tpa_ipv4_en_flg /* Enable TPA for IPv4 packets */;
889*14b24e2bSVaishali Kulkarni 	u8 tpa_ipv6_en_flg /* Enable TPA for IPv6 packets */;
890*14b24e2bSVaishali Kulkarni 	u8 tpa_ipv4_tunn_en_flg /* Enable TPA for IPv4 over tunnel */;
891*14b24e2bSVaishali Kulkarni 	u8 tpa_ipv6_tunn_en_flg /* Enable TPA for IPv6 over tunnel */;
892*14b24e2bSVaishali Kulkarni 	u8 tpa_pkt_split_flg /* If set, start each tpa segment on new SGE (GRO mode). One SGE per segment allowed */;
893*14b24e2bSVaishali Kulkarni 	u8 tpa_hdr_data_split_flg /* If set, put header of first TPA segment on bd and data on SGE */;
894*14b24e2bSVaishali Kulkarni 	u8 tpa_gro_consistent_flg /* If set, GRO data consistent will checked for TPA continue */;
895*14b24e2bSVaishali Kulkarni 	u8 tpa_max_aggs_num /* maximum number of opened aggregations per v-port  */;
896*14b24e2bSVaishali Kulkarni 	__le16 tpa_max_size /* maximal size for the aggregated TPA packets */;
897*14b24e2bSVaishali Kulkarni 	__le16 tpa_min_size_to_start /* minimum TCP payload size for a packet to start aggregation */;
898*14b24e2bSVaishali Kulkarni 	__le16 tpa_min_size_to_cont /* minimum TCP payload size for a packet to continue aggregation */;
899*14b24e2bSVaishali Kulkarni 	u8 max_buff_num /* maximal number of buffers that can be used for one aggregation */;
900*14b24e2bSVaishali Kulkarni 	u8 reserved;
901*14b24e2bSVaishali Kulkarni };
902*14b24e2bSVaishali Kulkarni 
903*14b24e2bSVaishali Kulkarni 
904*14b24e2bSVaishali Kulkarni /*
905*14b24e2bSVaishali Kulkarni  * Command for setting classification flags for a vport $$KEEP_ENDIANNESS$$
906*14b24e2bSVaishali Kulkarni  */
907*14b24e2bSVaishali Kulkarni struct eth_vport_tx_mode
908*14b24e2bSVaishali Kulkarni {
909*14b24e2bSVaishali Kulkarni 	__le16 state;
910*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_UCAST_DROP_ALL_MASK    0x1 /* drop all unicast packets */
911*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_UCAST_DROP_ALL_SHIFT   0
912*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_UCAST_ACCEPT_ALL_MASK  0x1 /* accept all unicast packets (subject to vlan) */
913*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_UCAST_ACCEPT_ALL_SHIFT 1
914*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_MCAST_DROP_ALL_MASK    0x1 /* drop all multicast packets */
915*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_MCAST_DROP_ALL_SHIFT   2
916*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_MCAST_ACCEPT_ALL_MASK  0x1 /* accept all multicast packets (subject to vlan) */
917*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_MCAST_ACCEPT_ALL_SHIFT 3
918*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_BCAST_ACCEPT_ALL_MASK  0x1 /* accept all broadcast packets (subject to vlan) */
919*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_BCAST_ACCEPT_ALL_SHIFT 4
920*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_RESERVED1_MASK         0x7FF
921*14b24e2bSVaishali Kulkarni #define ETH_VPORT_TX_MODE_RESERVED1_SHIFT        5
922*14b24e2bSVaishali Kulkarni 	__le16 reserved2[3];
923*14b24e2bSVaishali Kulkarni };
924*14b24e2bSVaishali Kulkarni 
925*14b24e2bSVaishali Kulkarni 
926*14b24e2bSVaishali Kulkarni /*
927*14b24e2bSVaishali Kulkarni  * Ramrod data for rx create gft action
928*14b24e2bSVaishali Kulkarni  */
929*14b24e2bSVaishali Kulkarni enum gft_filter_update_action
930*14b24e2bSVaishali Kulkarni {
931*14b24e2bSVaishali Kulkarni 	GFT_ADD_FILTER,
932*14b24e2bSVaishali Kulkarni 	GFT_DELETE_FILTER,
933*14b24e2bSVaishali Kulkarni 	MAX_GFT_FILTER_UPDATE_ACTION
934*14b24e2bSVaishali Kulkarni };
935*14b24e2bSVaishali Kulkarni 
936*14b24e2bSVaishali Kulkarni 
937*14b24e2bSVaishali Kulkarni /*
938*14b24e2bSVaishali Kulkarni  * Ramrod data for rx create gft action
939*14b24e2bSVaishali Kulkarni  */
940*14b24e2bSVaishali Kulkarni enum gft_logic_filter_type
941*14b24e2bSVaishali Kulkarni {
942*14b24e2bSVaishali Kulkarni 	GFT_FILTER_TYPE /* flow FW is GFT-logic as well */,
943*14b24e2bSVaishali Kulkarni 	RFS_FILTER_TYPE /* flow FW is A-RFS-logic */,
944*14b24e2bSVaishali Kulkarni 	MAX_GFT_LOGIC_FILTER_TYPE
945*14b24e2bSVaishali Kulkarni };
946*14b24e2bSVaishali Kulkarni 
947*14b24e2bSVaishali Kulkarni 
948*14b24e2bSVaishali Kulkarni 
949*14b24e2bSVaishali Kulkarni 
950*14b24e2bSVaishali Kulkarni /*
951*14b24e2bSVaishali Kulkarni  * Ramrod data for rx add openflow filter
952*14b24e2bSVaishali Kulkarni  */
953*14b24e2bSVaishali Kulkarni struct rx_add_openflow_filter_data
954*14b24e2bSVaishali Kulkarni {
955*14b24e2bSVaishali Kulkarni 	__le16 action_icid /* CID of Action to run for this filter */;
956*14b24e2bSVaishali Kulkarni 	u8 priority /* Searcher String - Packet priority */;
957*14b24e2bSVaishali Kulkarni 	u8 reserved0;
958*14b24e2bSVaishali Kulkarni 	__le32 tenant_id /* Searcher String - Tenant ID */;
959*14b24e2bSVaishali Kulkarni 	__le16 dst_mac_hi /* Searcher String - Destination Mac Bytes 0 to 1 */;
960*14b24e2bSVaishali Kulkarni 	__le16 dst_mac_mid /* Searcher String - Destination Mac Bytes 2 to 3 */;
961*14b24e2bSVaishali Kulkarni 	__le16 dst_mac_lo /* Searcher String - Destination Mac Bytes 4 to 5 */;
962*14b24e2bSVaishali Kulkarni 	__le16 src_mac_hi /* Searcher String - Source Mac 0 to 1 */;
963*14b24e2bSVaishali Kulkarni 	__le16 src_mac_mid /* Searcher String - Source Mac 2 to 3 */;
964*14b24e2bSVaishali Kulkarni 	__le16 src_mac_lo /* Searcher String - Source Mac 4 to 5 */;
965*14b24e2bSVaishali Kulkarni 	__le16 vlan_id /* Searcher String - Vlan ID */;
966*14b24e2bSVaishali Kulkarni 	__le16 l2_eth_type /* Searcher String - Last L2 Ethertype */;
967*14b24e2bSVaishali Kulkarni 	u8 ipv4_dscp /* Searcher String - IPv4 6 MSBs of the TOS Field */;
968*14b24e2bSVaishali Kulkarni 	u8 ipv4_frag_type /* Searcher String - IPv4 Fragmentation Type */;
969*14b24e2bSVaishali Kulkarni 	u8 ipv4_over_ip /* Searcher String - IPv4 Over IP Type */;
970*14b24e2bSVaishali Kulkarni 	u8 tenant_id_exists /* Searcher String - Tenant ID Exists */;
971*14b24e2bSVaishali Kulkarni 	__le32 ipv4_dst_addr /* Searcher String - IPv4 Destination Address */;
972*14b24e2bSVaishali Kulkarni 	__le32 ipv4_src_addr /* Searcher String - IPv4 Source Address */;
973*14b24e2bSVaishali Kulkarni 	__le16 l4_dst_port /* Searcher String - TCP/UDP Destination Port */;
974*14b24e2bSVaishali Kulkarni 	__le16 l4_src_port /* Searcher String - TCP/UDP Source Port */;
975*14b24e2bSVaishali Kulkarni };
976*14b24e2bSVaishali Kulkarni 
977*14b24e2bSVaishali Kulkarni 
978*14b24e2bSVaishali Kulkarni /*
979*14b24e2bSVaishali Kulkarni  * Ramrod data for rx create gft action
980*14b24e2bSVaishali Kulkarni  */
981*14b24e2bSVaishali Kulkarni struct rx_create_gft_action_data
982*14b24e2bSVaishali Kulkarni {
983*14b24e2bSVaishali Kulkarni 	u8 vport_id /* Vport Id of GFT Action  */;
984*14b24e2bSVaishali Kulkarni 	u8 reserved[7];
985*14b24e2bSVaishali Kulkarni };
986*14b24e2bSVaishali Kulkarni 
987*14b24e2bSVaishali Kulkarni 
988*14b24e2bSVaishali Kulkarni /*
989*14b24e2bSVaishali Kulkarni  * Ramrod data for rx create openflow action
990*14b24e2bSVaishali Kulkarni  */
991*14b24e2bSVaishali Kulkarni struct rx_create_openflow_action_data
992*14b24e2bSVaishali Kulkarni {
993*14b24e2bSVaishali Kulkarni 	u8 vport_id /* ID of RX queue */;
994*14b24e2bSVaishali Kulkarni 	u8 reserved[7];
995*14b24e2bSVaishali Kulkarni };
996*14b24e2bSVaishali Kulkarni 
997*14b24e2bSVaishali Kulkarni 
998*14b24e2bSVaishali Kulkarni /*
999*14b24e2bSVaishali Kulkarni  * Ramrod data for rx queue start ramrod
1000*14b24e2bSVaishali Kulkarni  */
1001*14b24e2bSVaishali Kulkarni struct rx_queue_start_ramrod_data
1002*14b24e2bSVaishali Kulkarni {
1003*14b24e2bSVaishali Kulkarni 	__le16 rx_queue_id /* ID of RX queue */;
1004*14b24e2bSVaishali Kulkarni 	__le16 num_of_pbl_pages /* Num of pages in CQE PBL */;
1005*14b24e2bSVaishali Kulkarni 	__le16 bd_max_bytes /* maximal bytes that can be places on the bd */;
1006*14b24e2bSVaishali Kulkarni 	__le16 sb_id /* Status block ID */;
1007*14b24e2bSVaishali Kulkarni 	u8 sb_index /* index of the protocol index */;
1008*14b24e2bSVaishali Kulkarni 	u8 vport_id /* ID of virtual port */;
1009*14b24e2bSVaishali Kulkarni 	u8 default_rss_queue_flg /* set queue as default rss queue if set */;
1010*14b24e2bSVaishali Kulkarni 	u8 complete_cqe_flg /* post completion to the CQE ring if set */;
1011*14b24e2bSVaishali Kulkarni 	u8 complete_event_flg /* post completion to the event ring if set */;
1012*14b24e2bSVaishali Kulkarni 	u8 stats_counter_id /* Statistics counter ID */;
1013*14b24e2bSVaishali Kulkarni 	u8 pin_context /* Pin context in CCFC to improve performance */;
1014*14b24e2bSVaishali Kulkarni 	u8 pxp_tph_valid_bd /* PXP command TPH Valid - for BD/SGE fetch */;
1015*14b24e2bSVaishali Kulkarni 	u8 pxp_tph_valid_pkt /* PXP command TPH Valid - for packet placement */;
1016*14b24e2bSVaishali Kulkarni 	u8 pxp_st_hint /* PXP command Steering tag hint. Use enum pxp_tph_st_hint */;
1017*14b24e2bSVaishali Kulkarni 	__le16 pxp_st_index /* PXP command Steering tag index */;
1018*14b24e2bSVaishali Kulkarni 	u8 pmd_mode /* Indicates that current queue belongs to poll-mode driver */;
1019*14b24e2bSVaishali Kulkarni 	u8 notify_en /* Indicates that the current queue is using the TX notification queue mechanism - should be set only for PMD queue */;
1020*14b24e2bSVaishali Kulkarni 	u8 toggle_val /* Initial value for the toggle valid bit - used in PMD mode */;
1021*14b24e2bSVaishali Kulkarni 	u8 vf_rx_prod_index /* Index of RX producers in VF zone. Used for VF only. */;
1022*14b24e2bSVaishali Kulkarni 	u8 vf_rx_prod_use_zone_a /* Backward compatibility mode. If set, unprotected mStorm queue zone will used for VF RX producers instead of VF zone. */;
1023*14b24e2bSVaishali Kulkarni 	u8 reserved[5];
1024*14b24e2bSVaishali Kulkarni 	__le16 reserved1 /* FW reserved. */;
1025*14b24e2bSVaishali Kulkarni 	struct regpair cqe_pbl_addr /* Base address on host of CQE PBL */;
1026*14b24e2bSVaishali Kulkarni 	struct regpair bd_base /* bd address of the first bd page */;
1027*14b24e2bSVaishali Kulkarni 	struct regpair reserved2 /* FW reserved. */;
1028*14b24e2bSVaishali Kulkarni };
1029*14b24e2bSVaishali Kulkarni 
1030*14b24e2bSVaishali Kulkarni 
1031*14b24e2bSVaishali Kulkarni /*
1032*14b24e2bSVaishali Kulkarni  * Ramrod data for rx queue stop ramrod
1033*14b24e2bSVaishali Kulkarni  */
1034*14b24e2bSVaishali Kulkarni struct rx_queue_stop_ramrod_data
1035*14b24e2bSVaishali Kulkarni {
1036*14b24e2bSVaishali Kulkarni 	__le16 rx_queue_id /* ID of RX queue */;
1037*14b24e2bSVaishali Kulkarni 	u8 complete_cqe_flg /* post completion to the CQE ring if set */;
1038*14b24e2bSVaishali Kulkarni 	u8 complete_event_flg /* post completion to the event ring if set */;
1039*14b24e2bSVaishali Kulkarni 	u8 vport_id /* ID of virtual port */;
1040*14b24e2bSVaishali Kulkarni 	u8 reserved[3];
1041*14b24e2bSVaishali Kulkarni };
1042*14b24e2bSVaishali Kulkarni 
1043*14b24e2bSVaishali Kulkarni 
1044*14b24e2bSVaishali Kulkarni /*
1045*14b24e2bSVaishali Kulkarni  * Ramrod data for rx queue update ramrod
1046*14b24e2bSVaishali Kulkarni  */
1047*14b24e2bSVaishali Kulkarni struct rx_queue_update_ramrod_data
1048*14b24e2bSVaishali Kulkarni {
1049*14b24e2bSVaishali Kulkarni 	__le16 rx_queue_id /* ID of RX queue */;
1050*14b24e2bSVaishali Kulkarni 	u8 complete_cqe_flg /* post completion to the CQE ring if set */;
1051*14b24e2bSVaishali Kulkarni 	u8 complete_event_flg /* post completion to the event ring if set */;
1052*14b24e2bSVaishali Kulkarni 	u8 vport_id /* ID of virtual port */;
1053*14b24e2bSVaishali Kulkarni 	u8 reserved[4];
1054*14b24e2bSVaishali Kulkarni 	u8 reserved1 /* FW reserved. */;
1055*14b24e2bSVaishali Kulkarni 	u8 reserved2 /* FW reserved. */;
1056*14b24e2bSVaishali Kulkarni 	u8 reserved3 /* FW reserved. */;
1057*14b24e2bSVaishali Kulkarni 	__le16 reserved4 /* FW reserved. */;
1058*14b24e2bSVaishali Kulkarni 	__le16 reserved5 /* FW reserved. */;
1059*14b24e2bSVaishali Kulkarni 	struct regpair reserved6 /* FW reserved. */;
1060*14b24e2bSVaishali Kulkarni };
1061*14b24e2bSVaishali Kulkarni 
1062*14b24e2bSVaishali Kulkarni 
1063*14b24e2bSVaishali Kulkarni /*
1064*14b24e2bSVaishali Kulkarni  * Ramrod data for rx Add UDP Filter
1065*14b24e2bSVaishali Kulkarni  */
1066*14b24e2bSVaishali Kulkarni struct rx_udp_filter_data
1067*14b24e2bSVaishali Kulkarni {
1068*14b24e2bSVaishali Kulkarni 	__le16 action_icid /* CID of Action to run for this filter */;
1069*14b24e2bSVaishali Kulkarni 	__le16 vlan_id /* Searcher String - Vlan ID */;
1070*14b24e2bSVaishali Kulkarni 	u8 ip_type /* Searcher String - IP Type */;
1071*14b24e2bSVaishali Kulkarni 	u8 tenant_id_exists /* Searcher String - Tenant ID Exists */;
1072*14b24e2bSVaishali Kulkarni 	__le16 reserved1;
1073*14b24e2bSVaishali Kulkarni 	__le32 ip_dst_addr[4] /* Searcher String - IP Destination Address, for IPv4 use ip_dst_addr[0] only */;
1074*14b24e2bSVaishali Kulkarni 	__le32 ip_src_addr[4] /* Searcher String - IP Source Address, for IPv4 use ip_dst_addr[0] only */;
1075*14b24e2bSVaishali Kulkarni 	__le16 udp_dst_port /* Searcher String - UDP Destination Port */;
1076*14b24e2bSVaishali Kulkarni 	__le16 udp_src_port /* Searcher String - UDP Source Port */;
1077*14b24e2bSVaishali Kulkarni 	__le32 tenant_id /* Searcher String - Tenant ID */;
1078*14b24e2bSVaishali Kulkarni };
1079*14b24e2bSVaishali Kulkarni 
1080*14b24e2bSVaishali Kulkarni 
1081*14b24e2bSVaishali Kulkarni /*
1082*14b24e2bSVaishali Kulkarni  * Ramrod to add filter - filter is packet headr of type of packet wished to pass certin FW flow
1083*14b24e2bSVaishali Kulkarni  */
1084*14b24e2bSVaishali Kulkarni struct rx_update_gft_filter_data
1085*14b24e2bSVaishali Kulkarni {
1086*14b24e2bSVaishali Kulkarni 	struct regpair pkt_hdr_addr /* Pointer to Packet Header That Defines GFT Filter */;
1087*14b24e2bSVaishali Kulkarni 	__le16 pkt_hdr_length /* Packet Header Length */;
1088*14b24e2bSVaishali Kulkarni 	__le16 rx_qid_or_action_icid /* If is_rfs flag is set: Queue Id to associate filter with else: action icid */;
1089*14b24e2bSVaishali Kulkarni 	u8 vport_id /* Field is used if is_rfs flag is set: vport Id of which to associate filter with */;
1090*14b24e2bSVaishali Kulkarni 	u8 filter_type /* Use enum to set type of flow using gft HW logic blocks */;
1091*14b24e2bSVaishali Kulkarni 	u8 filter_action /* Use to set type of action on filter */;
1092*14b24e2bSVaishali Kulkarni 	u8 assert_on_error /* 0 - dont assert in case of error. Just return an error code. 1 - assert in case of error. */;
1093*14b24e2bSVaishali Kulkarni };
1094*14b24e2bSVaishali Kulkarni 
1095*14b24e2bSVaishali Kulkarni 
1096*14b24e2bSVaishali Kulkarni 
1097*14b24e2bSVaishali Kulkarni /*
1098*14b24e2bSVaishali Kulkarni  * Ramrod data for tx queue start ramrod
1099*14b24e2bSVaishali Kulkarni  */
1100*14b24e2bSVaishali Kulkarni struct tx_queue_start_ramrod_data
1101*14b24e2bSVaishali Kulkarni {
1102*14b24e2bSVaishali Kulkarni 	__le16 sb_id /* Status block ID */;
1103*14b24e2bSVaishali Kulkarni 	u8 sb_index /* Status block protocol index */;
1104*14b24e2bSVaishali Kulkarni 	u8 vport_id /* VPort ID */;
1105*14b24e2bSVaishali Kulkarni 	u8 reserved0 /* FW reserved. (qcn_rl_en) */;
1106*14b24e2bSVaishali Kulkarni 	u8 stats_counter_id /* Statistics counter ID to use */;
1107*14b24e2bSVaishali Kulkarni 	__le16 qm_pq_id /* QM PQ ID */;
1108*14b24e2bSVaishali Kulkarni 	u8 flags;
1109*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_DISABLE_OPPORTUNISTIC_MASK  0x1 /* 0: Enable QM opportunistic flow. 1: Disable QM opportunistic flow */
1110*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_DISABLE_OPPORTUNISTIC_SHIFT 0
1111*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_PKT_DUP_MASK      0x1 /* If set, Test Mode - packets will be duplicated by Xstorm handler */
1112*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_PKT_DUP_SHIFT     1
1113*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_TX_DEST_MASK      0x1 /* If set, Test Mode - packets destination will be determined by dest_port_mode field from Tx BD */
1114*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_TX_DEST_SHIFT     2
1115*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_PMD_MODE_MASK               0x1 /* Indicates that current queue belongs to poll-mode driver */
1116*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_PMD_MODE_SHIFT              3
1117*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_NOTIFY_EN_MASK              0x1 /* Indicates that the current queue is using the TX notification queue mechanism - should be set only for PMD queue */
1118*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_NOTIFY_EN_SHIFT             4
1119*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_PIN_CONTEXT_MASK            0x1 /* Pin context in CCFC to improve performance */
1120*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_PIN_CONTEXT_SHIFT           5
1121*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_RESERVED1_MASK              0x3
1122*14b24e2bSVaishali Kulkarni #define TX_QUEUE_START_RAMROD_DATA_RESERVED1_SHIFT             6
1123*14b24e2bSVaishali Kulkarni 	u8 pxp_st_hint /* PXP command Steering tag hint */;
1124*14b24e2bSVaishali Kulkarni 	u8 pxp_tph_valid_bd /* PXP command TPH Valid - for BD fetch */;
1125*14b24e2bSVaishali Kulkarni 	u8 pxp_tph_valid_pkt /* PXP command TPH Valid - for packet fetch */;
1126*14b24e2bSVaishali Kulkarni 	__le16 pxp_st_index /* PXP command Steering tag index */;
1127*14b24e2bSVaishali Kulkarni 	__le16 comp_agg_size /* TX completion min agg size - for PMD queues */;
1128*14b24e2bSVaishali Kulkarni 	__le16 queue_zone_id /* queue zone ID to use */;
1129*14b24e2bSVaishali Kulkarni 	__le16 reserved2 /* FW reserved. (test_dup_count) */;
1130*14b24e2bSVaishali Kulkarni 	__le16 pbl_size /* Number of BD pages pointed by PBL */;
1131*14b24e2bSVaishali Kulkarni 	__le16 tx_queue_id /* unique Queue ID - currently used only by PMD flow */;
1132*14b24e2bSVaishali Kulkarni 	__le16 same_as_last_id /* Unique Same-As-Last Resource ID - improves performance for same-as-last packets per connection (range 0..ETH_TX_NUM_SAME_AS_LAST_ENTRIES-1 IDs available) */;
1133*14b24e2bSVaishali Kulkarni 	__le16 reserved[3];
1134*14b24e2bSVaishali Kulkarni 	struct regpair pbl_base_addr /* address of the pbl page */;
1135*14b24e2bSVaishali Kulkarni 	struct regpair bd_cons_address /* BD consumer address in host - for PMD queues */;
1136*14b24e2bSVaishali Kulkarni };
1137*14b24e2bSVaishali Kulkarni 
1138*14b24e2bSVaishali Kulkarni 
1139*14b24e2bSVaishali Kulkarni /*
1140*14b24e2bSVaishali Kulkarni  * Ramrod data for tx queue stop ramrod
1141*14b24e2bSVaishali Kulkarni  */
1142*14b24e2bSVaishali Kulkarni struct tx_queue_stop_ramrod_data
1143*14b24e2bSVaishali Kulkarni {
1144*14b24e2bSVaishali Kulkarni 	__le16 reserved[4];
1145*14b24e2bSVaishali Kulkarni };
1146*14b24e2bSVaishali Kulkarni 
1147*14b24e2bSVaishali Kulkarni 
1148*14b24e2bSVaishali Kulkarni 
1149*14b24e2bSVaishali Kulkarni /*
1150*14b24e2bSVaishali Kulkarni  * Ramrod data for vport update ramrod
1151*14b24e2bSVaishali Kulkarni  */
1152*14b24e2bSVaishali Kulkarni struct vport_filter_update_ramrod_data
1153*14b24e2bSVaishali Kulkarni {
1154*14b24e2bSVaishali Kulkarni 	struct eth_filter_cmd_header filter_cmd_hdr /* Header for Filter Commands (RX/TX, Add/Remove/Replace, etc) */;
1155*14b24e2bSVaishali Kulkarni 	struct eth_filter_cmd filter_cmds[ETH_FILTER_RULES_COUNT] /* Filter Commands */;
1156*14b24e2bSVaishali Kulkarni };
1157*14b24e2bSVaishali Kulkarni 
1158*14b24e2bSVaishali Kulkarni 
1159*14b24e2bSVaishali Kulkarni /*
1160*14b24e2bSVaishali Kulkarni  * Ramrod data for vport start ramrod
1161*14b24e2bSVaishali Kulkarni  */
1162*14b24e2bSVaishali Kulkarni struct vport_start_ramrod_data
1163*14b24e2bSVaishali Kulkarni {
1164*14b24e2bSVaishali Kulkarni 	u8 vport_id;
1165*14b24e2bSVaishali Kulkarni 	u8 sw_fid;
1166*14b24e2bSVaishali Kulkarni 	__le16 mtu;
1167*14b24e2bSVaishali Kulkarni 	u8 drop_ttl0_en /* if set, drop packet with ttl=0 */;
1168*14b24e2bSVaishali Kulkarni 	u8 inner_vlan_removal_en;
1169*14b24e2bSVaishali Kulkarni 	struct eth_vport_rx_mode rx_mode /* Rx filter data */;
1170*14b24e2bSVaishali Kulkarni 	struct eth_vport_tx_mode tx_mode /* Tx filter data */;
1171*14b24e2bSVaishali Kulkarni 	struct eth_vport_tpa_param tpa_param /* TPA configuration parameters */;
1172*14b24e2bSVaishali Kulkarni 	__le16 default_vlan /* Default Vlan value to be forced by FW */;
1173*14b24e2bSVaishali Kulkarni 	u8 tx_switching_en /* Tx switching is enabled for current Vport */;
1174*14b24e2bSVaishali Kulkarni 	u8 anti_spoofing_en /* Anti-spoofing verification is set for current Vport */;
1175*14b24e2bSVaishali Kulkarni 	u8 default_vlan_en /* If set, the default Vlan value is forced by the FW */;
1176*14b24e2bSVaishali Kulkarni 	u8 handle_ptp_pkts /* If set, the vport handles PTP Timesync Packets */;
1177*14b24e2bSVaishali Kulkarni 	u8 silent_vlan_removal_en /* If enable then innerVlan will be striped and not written to cqe */;
1178*14b24e2bSVaishali Kulkarni 	u8 untagged /* If set untagged filter (vlan0) is added to current Vport, otherwise port is marked as any-vlan */;
1179*14b24e2bSVaishali Kulkarni 	struct eth_tx_err_vals tx_err_behav /* Desired behavior per TX error type */;
1180*14b24e2bSVaishali Kulkarni 	u8 zero_placement_offset /* If set, ETH header padding will not inserted. placement_offset will be zero. */;
1181*14b24e2bSVaishali Kulkarni 	u8 ctl_frame_mac_check_en /* If set, Contorl frames will be filtered according to MAC check. */;
1182*14b24e2bSVaishali Kulkarni 	u8 ctl_frame_ethtype_check_en /* If set, Contorl frames will be filtered according to ethtype check. */;
1183*14b24e2bSVaishali Kulkarni 	u8 reserved[5];
1184*14b24e2bSVaishali Kulkarni };
1185*14b24e2bSVaishali Kulkarni 
1186*14b24e2bSVaishali Kulkarni 
1187*14b24e2bSVaishali Kulkarni /*
1188*14b24e2bSVaishali Kulkarni  * Ramrod data for vport stop ramrod
1189*14b24e2bSVaishali Kulkarni  */
1190*14b24e2bSVaishali Kulkarni struct vport_stop_ramrod_data
1191*14b24e2bSVaishali Kulkarni {
1192*14b24e2bSVaishali Kulkarni 	u8 vport_id;
1193*14b24e2bSVaishali Kulkarni 	u8 reserved[7];
1194*14b24e2bSVaishali Kulkarni };
1195*14b24e2bSVaishali Kulkarni 
1196*14b24e2bSVaishali Kulkarni 
1197*14b24e2bSVaishali Kulkarni /*
1198*14b24e2bSVaishali Kulkarni  * Ramrod data for vport update ramrod
1199*14b24e2bSVaishali Kulkarni  */
1200*14b24e2bSVaishali Kulkarni struct vport_update_ramrod_data_cmn
1201*14b24e2bSVaishali Kulkarni {
1202*14b24e2bSVaishali Kulkarni 	u8 vport_id;
1203*14b24e2bSVaishali Kulkarni 	u8 update_rx_active_flg /* set if rx active flag should be handled */;
1204*14b24e2bSVaishali Kulkarni 	u8 rx_active_flg /* rx active flag value */;
1205*14b24e2bSVaishali Kulkarni 	u8 update_tx_active_flg /* set if tx active flag should be handled */;
1206*14b24e2bSVaishali Kulkarni 	u8 tx_active_flg /* tx active flag value */;
1207*14b24e2bSVaishali Kulkarni 	u8 update_rx_mode_flg /* set if rx state data should be handled */;
1208*14b24e2bSVaishali Kulkarni 	u8 update_tx_mode_flg /* set if tx state data should be handled */;
1209*14b24e2bSVaishali Kulkarni 	u8 update_approx_mcast_flg /* set if approx. mcast data should be handled */;
1210*14b24e2bSVaishali Kulkarni 	u8 update_rss_flg /* set if rss data should be handled  */;
1211*14b24e2bSVaishali Kulkarni 	u8 update_inner_vlan_removal_en_flg /* set if inner_vlan_removal_en should be handled */;
1212*14b24e2bSVaishali Kulkarni 	u8 inner_vlan_removal_en;
1213*14b24e2bSVaishali Kulkarni 	u8 update_tpa_param_flg /* set if tpa parameters should be handled, TPA must be disable before */;
1214*14b24e2bSVaishali Kulkarni 	u8 update_tpa_en_flg /* set if tpa enable changes */;
1215*14b24e2bSVaishali Kulkarni 	u8 update_tx_switching_en_flg /* set if tx switching en flag should be handled */;
1216*14b24e2bSVaishali Kulkarni 	u8 tx_switching_en /* tx switching en value */;
1217*14b24e2bSVaishali Kulkarni 	u8 update_anti_spoofing_en_flg /* set if anti spoofing flag should be handled */;
1218*14b24e2bSVaishali Kulkarni 	u8 anti_spoofing_en /* Anti-spoofing verification en value */;
1219*14b24e2bSVaishali Kulkarni 	u8 update_handle_ptp_pkts /* set if handle_ptp_pkts should be handled. */;
1220*14b24e2bSVaishali Kulkarni 	u8 handle_ptp_pkts /* If set, the vport handles PTP Timesync Packets */;
1221*14b24e2bSVaishali Kulkarni 	u8 update_default_vlan_en_flg /* If set, the default Vlan enable flag is updated */;
1222*14b24e2bSVaishali Kulkarni 	u8 default_vlan_en /* If set, the default Vlan value is forced by the FW */;
1223*14b24e2bSVaishali Kulkarni 	u8 update_default_vlan_flg /* If set, the default Vlan value is updated */;
1224*14b24e2bSVaishali Kulkarni 	__le16 default_vlan /* Default Vlan value to be forced by FW */;
1225*14b24e2bSVaishali Kulkarni 	u8 update_accept_any_vlan_flg /* set if accept_any_vlan should be handled */;
1226*14b24e2bSVaishali Kulkarni 	u8 accept_any_vlan /* accept_any_vlan updated value */;
1227*14b24e2bSVaishali Kulkarni 	u8 silent_vlan_removal_en /* Set to remove vlan silently, update_inner_vlan_removal_en_flg must be enabled as well. If Rx is in noSgl mode send rx_queue_update_ramrod_data */;
1228*14b24e2bSVaishali Kulkarni 	u8 update_mtu_flg /* If set, MTU will be updated. Vport must be not active. */;
1229*14b24e2bSVaishali Kulkarni 	__le16 mtu /* New MTU value. Used if update_mtu_flg are set */;
1230*14b24e2bSVaishali Kulkarni 	u8 update_ctl_frame_checks_en_flg /* If set, ctl_frame_mac_check_en and ctl_frame_ethtype_check_en will be updated */;
1231*14b24e2bSVaishali Kulkarni 	u8 ctl_frame_mac_check_en /* If set, Contorl frames will be filtered according to MAC check. */;
1232*14b24e2bSVaishali Kulkarni 	u8 ctl_frame_ethtype_check_en /* If set, Contorl frames will be filtered according to ethtype check. */;
1233*14b24e2bSVaishali Kulkarni 	u8 reserved[15];
1234*14b24e2bSVaishali Kulkarni };
1235*14b24e2bSVaishali Kulkarni 
1236*14b24e2bSVaishali Kulkarni struct vport_update_ramrod_mcast
1237*14b24e2bSVaishali Kulkarni {
1238*14b24e2bSVaishali Kulkarni 	__le32 bins[ETH_MULTICAST_MAC_BINS_IN_REGS] /* multicast bins */;
1239*14b24e2bSVaishali Kulkarni };
1240*14b24e2bSVaishali Kulkarni 
1241*14b24e2bSVaishali Kulkarni /*
1242*14b24e2bSVaishali Kulkarni  * Ramrod data for vport update ramrod
1243*14b24e2bSVaishali Kulkarni  */
1244*14b24e2bSVaishali Kulkarni struct vport_update_ramrod_data
1245*14b24e2bSVaishali Kulkarni {
1246*14b24e2bSVaishali Kulkarni 	struct vport_update_ramrod_data_cmn common /* Common data for all vport update ramrods */;
1247*14b24e2bSVaishali Kulkarni 	struct eth_vport_rx_mode rx_mode /* vport rx mode bitmap */;
1248*14b24e2bSVaishali Kulkarni 	struct eth_vport_tx_mode tx_mode /* vport tx mode bitmap */;
1249*14b24e2bSVaishali Kulkarni 	struct eth_vport_tpa_param tpa_param /* TPA configuration parameters */;
1250*14b24e2bSVaishali Kulkarni 	struct vport_update_ramrod_mcast approx_mcast;
1251*14b24e2bSVaishali Kulkarni 	struct eth_vport_rss_config rss_config /* rss config data */;
1252*14b24e2bSVaishali Kulkarni };
1253*14b24e2bSVaishali Kulkarni 
1254*14b24e2bSVaishali Kulkarni 
1255*14b24e2bSVaishali Kulkarni 
1256*14b24e2bSVaishali Kulkarni 
1257*14b24e2bSVaishali Kulkarni 
1258*14b24e2bSVaishali Kulkarni 
1259*14b24e2bSVaishali Kulkarni struct E4XstormEthConnAgCtxDqExtLdPart
1260*14b24e2bSVaishali Kulkarni {
1261*14b24e2bSVaishali Kulkarni 	u8 reserved0 /* cdu_validation */;
1262*14b24e2bSVaishali Kulkarni 	u8 eth_state /* state */;
1263*14b24e2bSVaishali Kulkarni 	u8 flags0;
1264*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
1265*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM0_SHIFT           0
1266*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED1_MASK               0x1 /* exist_in_qm1 */
1267*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED1_SHIFT              1
1268*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED2_MASK               0x1 /* exist_in_qm2 */
1269*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED2_SHIFT              2
1270*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
1271*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM3_SHIFT           3
1272*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED3_MASK               0x1 /* bit4 */
1273*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED3_SHIFT              4
1274*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED4_MASK               0x1 /* cf_array_active */
1275*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED4_SHIFT              5
1276*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED5_MASK               0x1 /* bit6 */
1277*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED5_SHIFT              6
1278*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED6_MASK               0x1 /* bit7 */
1279*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED6_SHIFT              7
1280*14b24e2bSVaishali Kulkarni 	u8 flags1;
1281*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED7_MASK               0x1 /* bit8 */
1282*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED7_SHIFT              0
1283*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED8_MASK               0x1 /* bit9 */
1284*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED8_SHIFT              1
1285*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_MASK               0x1 /* bit10 */
1286*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_SHIFT              2
1287*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_MASK                   0x1 /* bit11 */
1288*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_SHIFT                  3
1289*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT12_MASK                   0x1 /* bit12 */
1290*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT12_SHIFT                  4
1291*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT13_MASK                   0x1 /* bit13 */
1292*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT13_SHIFT                  5
1293*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
1294*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_SHIFT         6
1295*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
1296*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_SHIFT           7
1297*14b24e2bSVaishali Kulkarni 	u8 flags2;
1298*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0_MASK                     0x3 /* timer0cf */
1299*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0_SHIFT                    0
1300*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1_MASK                     0x3 /* timer1cf */
1301*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1_SHIFT                    2
1302*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2_MASK                     0x3 /* timer2cf */
1303*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2_SHIFT                    4
1304*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3_MASK                     0x3 /* timer_stop_all */
1305*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3_SHIFT                    6
1306*14b24e2bSVaishali Kulkarni 	u8 flags3;
1307*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4_MASK                     0x3 /* cf4 */
1308*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4_SHIFT                    0
1309*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5_MASK                     0x3 /* cf5 */
1310*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5_SHIFT                    2
1311*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6_MASK                     0x3 /* cf6 */
1312*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6_SHIFT                    4
1313*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7_MASK                     0x3 /* cf7 */
1314*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7_SHIFT                    6
1315*14b24e2bSVaishali Kulkarni 	u8 flags4;
1316*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8_MASK                     0x3 /* cf8 */
1317*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8_SHIFT                    0
1318*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9_MASK                     0x3 /* cf9 */
1319*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9_SHIFT                    2
1320*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10_MASK                    0x3 /* cf10 */
1321*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10_SHIFT                   4
1322*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11_MASK                    0x3 /* cf11 */
1323*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11_SHIFT                   6
1324*14b24e2bSVaishali Kulkarni 	u8 flags5;
1325*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12_MASK                    0x3 /* cf12 */
1326*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12_SHIFT                   0
1327*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13_MASK                    0x3 /* cf13 */
1328*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13_SHIFT                   2
1329*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14_MASK                    0x3 /* cf14 */
1330*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14_SHIFT                   4
1331*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15_MASK                    0x3 /* cf15 */
1332*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15_SHIFT                   6
1333*14b24e2bSVaishali Kulkarni 	u8 flags6;
1334*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
1335*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_SHIFT       0
1336*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
1337*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_SHIFT       2
1338*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_MASK                   0x3 /* cf18 */
1339*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_SHIFT                  4
1340*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_MASK            0x3 /* cf19 */
1341*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_SHIFT           6
1342*14b24e2bSVaishali Kulkarni 	u8 flags7;
1343*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_MASK                0x3 /* cf20 */
1344*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_SHIFT               0
1345*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED10_MASK              0x3 /* cf21 */
1346*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED10_SHIFT             2
1347*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_MASK               0x3 /* cf22 */
1348*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_SHIFT              4
1349*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0EN_MASK                   0x1 /* cf0en */
1350*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0EN_SHIFT                  6
1351*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1EN_MASK                   0x1 /* cf1en */
1352*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1EN_SHIFT                  7
1353*14b24e2bSVaishali Kulkarni 	u8 flags8;
1354*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2EN_MASK                   0x1 /* cf2en */
1355*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2EN_SHIFT                  0
1356*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3EN_MASK                   0x1 /* cf3en */
1357*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3EN_SHIFT                  1
1358*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4EN_MASK                   0x1 /* cf4en */
1359*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4EN_SHIFT                  2
1360*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5EN_MASK                   0x1 /* cf5en */
1361*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5EN_SHIFT                  3
1362*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6EN_MASK                   0x1 /* cf6en */
1363*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6EN_SHIFT                  4
1364*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7EN_MASK                   0x1 /* cf7en */
1365*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7EN_SHIFT                  5
1366*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8EN_MASK                   0x1 /* cf8en */
1367*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8EN_SHIFT                  6
1368*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9EN_MASK                   0x1 /* cf9en */
1369*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9EN_SHIFT                  7
1370*14b24e2bSVaishali Kulkarni 	u8 flags9;
1371*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10EN_MASK                  0x1 /* cf10en */
1372*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10EN_SHIFT                 0
1373*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11EN_MASK                  0x1 /* cf11en */
1374*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11EN_SHIFT                 1
1375*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12EN_MASK                  0x1 /* cf12en */
1376*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12EN_SHIFT                 2
1377*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13EN_MASK                  0x1 /* cf13en */
1378*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13EN_SHIFT                 3
1379*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14EN_MASK                  0x1 /* cf14en */
1380*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14EN_SHIFT                 4
1381*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15EN_MASK                  0x1 /* cf15en */
1382*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15EN_SHIFT                 5
1383*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
1384*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_EN_SHIFT    6
1385*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
1386*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_EN_SHIFT    7
1387*14b24e2bSVaishali Kulkarni 	u8 flags10;
1388*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_EN_MASK                0x1 /* cf18en */
1389*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_EN_SHIFT               0
1390*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
1391*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_EN_SHIFT        1
1392*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
1393*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_EN_SHIFT            2
1394*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED11_MASK              0x1 /* cf21en */
1395*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED11_SHIFT             3
1396*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_EN_MASK            0x1 /* cf22en */
1397*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_EN_SHIFT           4
1398*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
1399*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_EN_RESERVED_SHIFT 5
1400*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED12_MASK              0x1 /* rule0en */
1401*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED12_SHIFT             6
1402*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED13_MASK              0x1 /* rule1en */
1403*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED13_SHIFT             7
1404*14b24e2bSVaishali Kulkarni 	u8 flags11;
1405*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED14_MASK              0x1 /* rule2en */
1406*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED14_SHIFT             0
1407*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED15_MASK              0x1 /* rule3en */
1408*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED15_SHIFT             1
1409*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
1410*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_DEC_RULE_EN_SHIFT         2
1411*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE5EN_MASK                 0x1 /* rule5en */
1412*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE5EN_SHIFT                3
1413*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE6EN_MASK                 0x1 /* rule6en */
1414*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE6EN_SHIFT                4
1415*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE7EN_MASK                 0x1 /* rule7en */
1416*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE7EN_SHIFT                5
1417*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED1_MASK            0x1 /* rule8en */
1418*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED1_SHIFT           6
1419*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE9EN_MASK                 0x1 /* rule9en */
1420*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE9EN_SHIFT                7
1421*14b24e2bSVaishali Kulkarni 	u8 flags12;
1422*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE10EN_MASK                0x1 /* rule10en */
1423*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE10EN_SHIFT               0
1424*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE11EN_MASK                0x1 /* rule11en */
1425*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE11EN_SHIFT               1
1426*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED2_MASK            0x1 /* rule12en */
1427*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED2_SHIFT           2
1428*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED3_MASK            0x1 /* rule13en */
1429*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED3_SHIFT           3
1430*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE14EN_MASK                0x1 /* rule14en */
1431*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE14EN_SHIFT               4
1432*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE15EN_MASK                0x1 /* rule15en */
1433*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE15EN_SHIFT               5
1434*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE16EN_MASK                0x1 /* rule16en */
1435*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE16EN_SHIFT               6
1436*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE17EN_MASK                0x1 /* rule17en */
1437*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE17EN_SHIFT               7
1438*14b24e2bSVaishali Kulkarni 	u8 flags13;
1439*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE18EN_MASK                0x1 /* rule18en */
1440*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE18EN_SHIFT               0
1441*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE19EN_MASK                0x1 /* rule19en */
1442*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE19EN_SHIFT               1
1443*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED4_MASK            0x1 /* rule20en */
1444*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED4_SHIFT           2
1445*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED5_MASK            0x1 /* rule21en */
1446*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED5_SHIFT           3
1447*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED6_MASK            0x1 /* rule22en */
1448*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED6_SHIFT           4
1449*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED7_MASK            0x1 /* rule23en */
1450*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED7_SHIFT           5
1451*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED8_MASK            0x1 /* rule24en */
1452*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED8_SHIFT           6
1453*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED9_MASK            0x1 /* rule25en */
1454*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED9_SHIFT           7
1455*14b24e2bSVaishali Kulkarni 	u8 flags14;
1456*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
1457*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_USE_EXT_HDR_SHIFT       0
1458*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
1459*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_RAW_L3L4_SHIFT     1
1460*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
1461*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_INBAND_PROP_HDR_SHIFT   2
1462*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
1463*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_EXT_TUNNEL_SHIFT   3
1464*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
1465*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_L2_EDPM_ENABLE_SHIFT         4
1466*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
1467*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_SHIFT       5
1468*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_MASK              0x3 /* cf23 */
1469*14b24e2bSVaishali Kulkarni #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_SHIFT             6
1470*14b24e2bSVaishali Kulkarni 	u8 edpm_event_id /* byte2 */;
1471*14b24e2bSVaishali Kulkarni 	__le16 physical_q0 /* physical_q0 */;
1472*14b24e2bSVaishali Kulkarni 	__le16 e5_reserved1 /* physical_q1 */;
1473*14b24e2bSVaishali Kulkarni 	__le16 edpm_num_bds /* physical_q2 */;
1474*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_cons /* word3 */;
1475*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_prod /* word4 */;
1476*14b24e2bSVaishali Kulkarni 	__le16 tx_class /* word5 */;
1477*14b24e2bSVaishali Kulkarni 	__le16 conn_dpi /* conn_dpi */;
1478*14b24e2bSVaishali Kulkarni 	u8 byte3 /* byte3 */;
1479*14b24e2bSVaishali Kulkarni 	u8 byte4 /* byte4 */;
1480*14b24e2bSVaishali Kulkarni 	u8 byte5 /* byte5 */;
1481*14b24e2bSVaishali Kulkarni 	u8 byte6 /* byte6 */;
1482*14b24e2bSVaishali Kulkarni 	__le32 reg0 /* reg0 */;
1483*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
1484*14b24e2bSVaishali Kulkarni 	__le32 reg2 /* reg2 */;
1485*14b24e2bSVaishali Kulkarni 	__le32 reg3 /* reg3 */;
1486*14b24e2bSVaishali Kulkarni 	__le32 reg4 /* reg4 */;
1487*14b24e2bSVaishali Kulkarni };
1488*14b24e2bSVaishali Kulkarni 
1489*14b24e2bSVaishali Kulkarni 
1490*14b24e2bSVaishali Kulkarni struct e4_mstorm_eth_conn_ag_ctx
1491*14b24e2bSVaishali Kulkarni {
1492*14b24e2bSVaishali Kulkarni 	u8 byte0 /* cdu_validation */;
1493*14b24e2bSVaishali Kulkarni 	u8 byte1 /* state */;
1494*14b24e2bSVaishali Kulkarni 	u8 flags0;
1495*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK  0x1 /* exist_in_qm0 */
1496*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
1497*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_BIT1_MASK          0x1 /* exist_in_qm1 */
1498*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT         1
1499*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF0_MASK           0x3 /* cf0 */
1500*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF0_SHIFT          2
1501*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF1_MASK           0x3 /* cf1 */
1502*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF1_SHIFT          4
1503*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF2_MASK           0x3 /* cf2 */
1504*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF2_SHIFT          6
1505*14b24e2bSVaishali Kulkarni 	u8 flags1;
1506*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF0EN_MASK         0x1 /* cf0en */
1507*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT        0
1508*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF1EN_MASK         0x1 /* cf1en */
1509*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT        1
1510*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF2EN_MASK         0x1 /* cf2en */
1511*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT        2
1512*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK       0x1 /* rule0en */
1513*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT      3
1514*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK       0x1 /* rule1en */
1515*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT      4
1516*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK       0x1 /* rule2en */
1517*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT      5
1518*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK       0x1 /* rule3en */
1519*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT      6
1520*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK       0x1 /* rule4en */
1521*14b24e2bSVaishali Kulkarni #define E4_MSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT      7
1522*14b24e2bSVaishali Kulkarni 	__le16 word0 /* word0 */;
1523*14b24e2bSVaishali Kulkarni 	__le16 word1 /* word1 */;
1524*14b24e2bSVaishali Kulkarni 	__le32 reg0 /* reg0 */;
1525*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
1526*14b24e2bSVaishali Kulkarni };
1527*14b24e2bSVaishali Kulkarni 
1528*14b24e2bSVaishali Kulkarni 
1529*14b24e2bSVaishali Kulkarni 
1530*14b24e2bSVaishali Kulkarni 
1531*14b24e2bSVaishali Kulkarni 
1532*14b24e2bSVaishali Kulkarni struct e4_xstorm_eth_hw_conn_ag_ctx
1533*14b24e2bSVaishali Kulkarni {
1534*14b24e2bSVaishali Kulkarni 	u8 reserved0 /* cdu_validation */;
1535*14b24e2bSVaishali Kulkarni 	u8 eth_state /* state */;
1536*14b24e2bSVaishali Kulkarni 	u8 flags0;
1537*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
1538*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM0_SHIFT           0
1539*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED1_MASK               0x1 /* exist_in_qm1 */
1540*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED1_SHIFT              1
1541*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED2_MASK               0x1 /* exist_in_qm2 */
1542*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED2_SHIFT              2
1543*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
1544*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM3_SHIFT           3
1545*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED3_MASK               0x1 /* bit4 */
1546*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED3_SHIFT              4
1547*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED4_MASK               0x1 /* cf_array_active */
1548*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED4_SHIFT              5
1549*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED5_MASK               0x1 /* bit6 */
1550*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED5_SHIFT              6
1551*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED6_MASK               0x1 /* bit7 */
1552*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED6_SHIFT              7
1553*14b24e2bSVaishali Kulkarni 	u8 flags1;
1554*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED7_MASK               0x1 /* bit8 */
1555*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED7_SHIFT              0
1556*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED8_MASK               0x1 /* bit9 */
1557*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED8_SHIFT              1
1558*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_MASK               0x1 /* bit10 */
1559*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_SHIFT              2
1560*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_MASK                   0x1 /* bit11 */
1561*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_SHIFT                  3
1562*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT12_MASK                   0x1 /* bit12 */
1563*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT12_SHIFT                  4
1564*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT13_MASK                   0x1 /* bit13 */
1565*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT13_SHIFT                  5
1566*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
1567*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT         6
1568*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
1569*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT           7
1570*14b24e2bSVaishali Kulkarni 	u8 flags2;
1571*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF0_MASK                     0x3 /* timer0cf */
1572*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF0_SHIFT                    0
1573*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF1_MASK                     0x3 /* timer1cf */
1574*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF1_SHIFT                    2
1575*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
1576*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF2_SHIFT                    4
1577*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
1578*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF3_SHIFT                    6
1579*14b24e2bSVaishali Kulkarni 	u8 flags3;
1580*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF4_MASK                     0x3 /* cf4 */
1581*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF4_SHIFT                    0
1582*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF5_MASK                     0x3 /* cf5 */
1583*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF5_SHIFT                    2
1584*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF6_MASK                     0x3 /* cf6 */
1585*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF6_SHIFT                    4
1586*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF7_MASK                     0x3 /* cf7 */
1587*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF7_SHIFT                    6
1588*14b24e2bSVaishali Kulkarni 	u8 flags4;
1589*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF8_MASK                     0x3 /* cf8 */
1590*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF8_SHIFT                    0
1591*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF9_MASK                     0x3 /* cf9 */
1592*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF9_SHIFT                    2
1593*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF10_MASK                    0x3 /* cf10 */
1594*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF10_SHIFT                   4
1595*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF11_MASK                    0x3 /* cf11 */
1596*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF11_SHIFT                   6
1597*14b24e2bSVaishali Kulkarni 	u8 flags5;
1598*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF12_MASK                    0x3 /* cf12 */
1599*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF12_SHIFT                   0
1600*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF13_MASK                    0x3 /* cf13 */
1601*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF13_SHIFT                   2
1602*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF14_MASK                    0x3 /* cf14 */
1603*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF14_SHIFT                   4
1604*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF15_MASK                    0x3 /* cf15 */
1605*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF15_SHIFT                   6
1606*14b24e2bSVaishali Kulkarni 	u8 flags6;
1607*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
1608*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT       0
1609*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
1610*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT       2
1611*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_MASK                   0x3 /* cf18 */
1612*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_SHIFT                  4
1613*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_MASK            0x3 /* cf19 */
1614*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_SHIFT           6
1615*14b24e2bSVaishali Kulkarni 	u8 flags7;
1616*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_MASK                0x3 /* cf20 */
1617*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_SHIFT               0
1618*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED10_MASK              0x3 /* cf21 */
1619*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED10_SHIFT             2
1620*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_MASK               0x3 /* cf22 */
1621*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_SHIFT              4
1622*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF0EN_MASK                   0x1 /* cf0en */
1623*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF0EN_SHIFT                  6
1624*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF1EN_MASK                   0x1 /* cf1en */
1625*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF1EN_SHIFT                  7
1626*14b24e2bSVaishali Kulkarni 	u8 flags8;
1627*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
1628*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF2EN_SHIFT                  0
1629*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
1630*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF3EN_SHIFT                  1
1631*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF4EN_MASK                   0x1 /* cf4en */
1632*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF4EN_SHIFT                  2
1633*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF5EN_MASK                   0x1 /* cf5en */
1634*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF5EN_SHIFT                  3
1635*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF6EN_MASK                   0x1 /* cf6en */
1636*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF6EN_SHIFT                  4
1637*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF7EN_MASK                   0x1 /* cf7en */
1638*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF7EN_SHIFT                  5
1639*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF8EN_MASK                   0x1 /* cf8en */
1640*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF8EN_SHIFT                  6
1641*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF9EN_MASK                   0x1 /* cf9en */
1642*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF9EN_SHIFT                  7
1643*14b24e2bSVaishali Kulkarni 	u8 flags9;
1644*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF10EN_MASK                  0x1 /* cf10en */
1645*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF10EN_SHIFT                 0
1646*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF11EN_MASK                  0x1 /* cf11en */
1647*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF11EN_SHIFT                 1
1648*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF12EN_MASK                  0x1 /* cf12en */
1649*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF12EN_SHIFT                 2
1650*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF13EN_MASK                  0x1 /* cf13en */
1651*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF13EN_SHIFT                 3
1652*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF14EN_MASK                  0x1 /* cf14en */
1653*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF14EN_SHIFT                 4
1654*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF15EN_MASK                  0x1 /* cf15en */
1655*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF15EN_SHIFT                 5
1656*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
1657*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT    6
1658*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
1659*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT    7
1660*14b24e2bSVaishali Kulkarni 	u8 flags10;
1661*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_EN_MASK                0x1 /* cf18en */
1662*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_EN_SHIFT               0
1663*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
1664*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT        1
1665*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
1666*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT            2
1667*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED11_MASK              0x1 /* cf21en */
1668*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED11_SHIFT             3
1669*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_EN_MASK            0x1 /* cf22en */
1670*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_EN_SHIFT           4
1671*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
1672*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 5
1673*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED12_MASK              0x1 /* rule0en */
1674*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED12_SHIFT             6
1675*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED13_MASK              0x1 /* rule1en */
1676*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED13_SHIFT             7
1677*14b24e2bSVaishali Kulkarni 	u8 flags11;
1678*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED14_MASK              0x1 /* rule2en */
1679*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED14_SHIFT             0
1680*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED15_MASK              0x1 /* rule3en */
1681*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED15_SHIFT             1
1682*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
1683*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT         2
1684*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
1685*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE5EN_SHIFT                3
1686*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
1687*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE6EN_SHIFT                4
1688*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
1689*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE7EN_SHIFT                5
1690*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED1_MASK            0x1 /* rule8en */
1691*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED1_SHIFT           6
1692*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE9EN_MASK                 0x1 /* rule9en */
1693*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE9EN_SHIFT                7
1694*14b24e2bSVaishali Kulkarni 	u8 flags12;
1695*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE10EN_MASK                0x1 /* rule10en */
1696*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE10EN_SHIFT               0
1697*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE11EN_MASK                0x1 /* rule11en */
1698*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE11EN_SHIFT               1
1699*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED2_MASK            0x1 /* rule12en */
1700*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED2_SHIFT           2
1701*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED3_MASK            0x1 /* rule13en */
1702*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED3_SHIFT           3
1703*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE14EN_MASK                0x1 /* rule14en */
1704*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE14EN_SHIFT               4
1705*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE15EN_MASK                0x1 /* rule15en */
1706*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE15EN_SHIFT               5
1707*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE16EN_MASK                0x1 /* rule16en */
1708*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE16EN_SHIFT               6
1709*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE17EN_MASK                0x1 /* rule17en */
1710*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE17EN_SHIFT               7
1711*14b24e2bSVaishali Kulkarni 	u8 flags13;
1712*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE18EN_MASK                0x1 /* rule18en */
1713*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE18EN_SHIFT               0
1714*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE19EN_MASK                0x1 /* rule19en */
1715*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE19EN_SHIFT               1
1716*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED4_MASK            0x1 /* rule20en */
1717*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED4_SHIFT           2
1718*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED5_MASK            0x1 /* rule21en */
1719*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED5_SHIFT           3
1720*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED6_MASK            0x1 /* rule22en */
1721*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED6_SHIFT           4
1722*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED7_MASK            0x1 /* rule23en */
1723*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED7_SHIFT           5
1724*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED8_MASK            0x1 /* rule24en */
1725*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED8_SHIFT           6
1726*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED9_MASK            0x1 /* rule25en */
1727*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED9_SHIFT           7
1728*14b24e2bSVaishali Kulkarni 	u8 flags14;
1729*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
1730*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT       0
1731*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
1732*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT     1
1733*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
1734*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT   2
1735*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
1736*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT   3
1737*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
1738*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT         4
1739*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
1740*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT       5
1741*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_MASK              0x3 /* cf23 */
1742*14b24e2bSVaishali Kulkarni #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_SHIFT             6
1743*14b24e2bSVaishali Kulkarni 	u8 edpm_event_id /* byte2 */;
1744*14b24e2bSVaishali Kulkarni 	__le16 physical_q0 /* physical_q0 */;
1745*14b24e2bSVaishali Kulkarni 	__le16 e5_reserved1 /* physical_q1 */;
1746*14b24e2bSVaishali Kulkarni 	__le16 edpm_num_bds /* physical_q2 */;
1747*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_cons /* word3 */;
1748*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_prod /* word4 */;
1749*14b24e2bSVaishali Kulkarni 	__le16 tx_class /* word5 */;
1750*14b24e2bSVaishali Kulkarni 	__le16 conn_dpi /* conn_dpi */;
1751*14b24e2bSVaishali Kulkarni };
1752*14b24e2bSVaishali Kulkarni 
1753*14b24e2bSVaishali Kulkarni 
1754*14b24e2bSVaishali Kulkarni 
1755*14b24e2bSVaishali Kulkarni struct E5XstormEthConnAgCtxDqExtLdPart
1756*14b24e2bSVaishali Kulkarni {
1757*14b24e2bSVaishali Kulkarni 	u8 reserved0 /* cdu_validation */;
1758*14b24e2bSVaishali Kulkarni 	u8 state_and_core_id /* state_and_core_id */;
1759*14b24e2bSVaishali Kulkarni 	u8 flags0;
1760*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
1761*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM0_SHIFT           0
1762*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED1_MASK               0x1 /* exist_in_qm1 */
1763*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED1_SHIFT              1
1764*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED2_MASK               0x1 /* exist_in_qm2 */
1765*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED2_SHIFT              2
1766*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
1767*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM3_SHIFT           3
1768*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED3_MASK               0x1 /* bit4 */
1769*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED3_SHIFT              4
1770*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED4_MASK               0x1 /* cf_array_active */
1771*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED4_SHIFT              5
1772*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED5_MASK               0x1 /* bit6 */
1773*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED5_SHIFT              6
1774*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED6_MASK               0x1 /* bit7 */
1775*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED6_SHIFT              7
1776*14b24e2bSVaishali Kulkarni 	u8 flags1;
1777*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED7_MASK               0x1 /* bit8 */
1778*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED7_SHIFT              0
1779*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED8_MASK               0x1 /* bit9 */
1780*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED8_SHIFT              1
1781*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_MASK               0x1 /* bit10 */
1782*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_SHIFT              2
1783*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_MASK                   0x1 /* bit11 */
1784*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_SHIFT                  3
1785*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT12_MASK                   0x1 /* bit12 */
1786*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT12_SHIFT                  4
1787*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT13_MASK                   0x1 /* bit13 */
1788*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT13_SHIFT                  5
1789*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
1790*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_SHIFT         6
1791*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
1792*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_SHIFT           7
1793*14b24e2bSVaishali Kulkarni 	u8 flags2;
1794*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF0_MASK                     0x3 /* timer0cf */
1795*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF0_SHIFT                    0
1796*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF1_MASK                     0x3 /* timer1cf */
1797*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF1_SHIFT                    2
1798*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF2_MASK                     0x3 /* timer2cf */
1799*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF2_SHIFT                    4
1800*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF3_MASK                     0x3 /* timer_stop_all */
1801*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF3_SHIFT                    6
1802*14b24e2bSVaishali Kulkarni 	u8 flags3;
1803*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF4_MASK                     0x3 /* cf4 */
1804*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF4_SHIFT                    0
1805*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF5_MASK                     0x3 /* cf5 */
1806*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF5_SHIFT                    2
1807*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF6_MASK                     0x3 /* cf6 */
1808*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF6_SHIFT                    4
1809*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF7_MASK                     0x3 /* cf7 */
1810*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF7_SHIFT                    6
1811*14b24e2bSVaishali Kulkarni 	u8 flags4;
1812*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF8_MASK                     0x3 /* cf8 */
1813*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF8_SHIFT                    0
1814*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF9_MASK                     0x3 /* cf9 */
1815*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF9_SHIFT                    2
1816*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF10_MASK                    0x3 /* cf10 */
1817*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF10_SHIFT                   4
1818*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF11_MASK                    0x3 /* cf11 */
1819*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF11_SHIFT                   6
1820*14b24e2bSVaishali Kulkarni 	u8 flags5;
1821*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF12_MASK                    0x3 /* cf12 */
1822*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF12_SHIFT                   0
1823*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF13_MASK                    0x3 /* cf13 */
1824*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF13_SHIFT                   2
1825*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF14_MASK                    0x3 /* cf14 */
1826*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF14_SHIFT                   4
1827*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF15_MASK                    0x3 /* cf15 */
1828*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF15_SHIFT                   6
1829*14b24e2bSVaishali Kulkarni 	u8 flags6;
1830*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
1831*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_SHIFT       0
1832*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
1833*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_SHIFT       2
1834*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_MASK                   0x3 /* cf18 */
1835*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_SHIFT                  4
1836*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_MASK            0x3 /* cf19 */
1837*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_SHIFT           6
1838*14b24e2bSVaishali Kulkarni 	u8 flags7;
1839*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_MASK                0x3 /* cf20 */
1840*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_SHIFT               0
1841*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED10_MASK              0x3 /* cf21 */
1842*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED10_SHIFT             2
1843*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_MASK               0x3 /* cf22 */
1844*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_SHIFT              4
1845*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF0EN_MASK                   0x1 /* cf0en */
1846*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF0EN_SHIFT                  6
1847*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF1EN_MASK                   0x1 /* cf1en */
1848*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF1EN_SHIFT                  7
1849*14b24e2bSVaishali Kulkarni 	u8 flags8;
1850*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF2EN_MASK                   0x1 /* cf2en */
1851*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF2EN_SHIFT                  0
1852*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF3EN_MASK                   0x1 /* cf3en */
1853*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF3EN_SHIFT                  1
1854*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF4EN_MASK                   0x1 /* cf4en */
1855*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF4EN_SHIFT                  2
1856*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF5EN_MASK                   0x1 /* cf5en */
1857*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF5EN_SHIFT                  3
1858*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF6EN_MASK                   0x1 /* cf6en */
1859*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF6EN_SHIFT                  4
1860*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF7EN_MASK                   0x1 /* cf7en */
1861*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF7EN_SHIFT                  5
1862*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF8EN_MASK                   0x1 /* cf8en */
1863*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF8EN_SHIFT                  6
1864*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF9EN_MASK                   0x1 /* cf9en */
1865*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF9EN_SHIFT                  7
1866*14b24e2bSVaishali Kulkarni 	u8 flags9;
1867*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF10EN_MASK                  0x1 /* cf10en */
1868*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF10EN_SHIFT                 0
1869*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF11EN_MASK                  0x1 /* cf11en */
1870*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF11EN_SHIFT                 1
1871*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF12EN_MASK                  0x1 /* cf12en */
1872*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF12EN_SHIFT                 2
1873*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF13EN_MASK                  0x1 /* cf13en */
1874*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF13EN_SHIFT                 3
1875*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF14EN_MASK                  0x1 /* cf14en */
1876*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF14EN_SHIFT                 4
1877*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF15EN_MASK                  0x1 /* cf15en */
1878*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF15EN_SHIFT                 5
1879*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
1880*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_EN_SHIFT    6
1881*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
1882*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_EN_SHIFT    7
1883*14b24e2bSVaishali Kulkarni 	u8 flags10;
1884*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_EN_MASK                0x1 /* cf18en */
1885*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_EN_SHIFT               0
1886*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
1887*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_EN_SHIFT        1
1888*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
1889*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_EN_SHIFT            2
1890*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED11_MASK              0x1 /* cf21en */
1891*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED11_SHIFT             3
1892*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_EN_MASK            0x1 /* cf22en */
1893*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_EN_SHIFT           4
1894*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
1895*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_EN_RESERVED_SHIFT 5
1896*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED12_MASK              0x1 /* rule0en */
1897*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED12_SHIFT             6
1898*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED13_MASK              0x1 /* rule1en */
1899*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED13_SHIFT             7
1900*14b24e2bSVaishali Kulkarni 	u8 flags11;
1901*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED14_MASK              0x1 /* rule2en */
1902*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED14_SHIFT             0
1903*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED15_MASK              0x1 /* rule3en */
1904*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED15_SHIFT             1
1905*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
1906*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TX_DEC_RULE_EN_SHIFT         2
1907*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE5EN_MASK                 0x1 /* rule5en */
1908*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE5EN_SHIFT                3
1909*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE6EN_MASK                 0x1 /* rule6en */
1910*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE6EN_SHIFT                4
1911*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE7EN_MASK                 0x1 /* rule7en */
1912*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE7EN_SHIFT                5
1913*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED1_MASK            0x1 /* rule8en */
1914*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED1_SHIFT           6
1915*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE9EN_MASK                 0x1 /* rule9en */
1916*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE9EN_SHIFT                7
1917*14b24e2bSVaishali Kulkarni 	u8 flags12;
1918*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE10EN_MASK                0x1 /* rule10en */
1919*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE10EN_SHIFT               0
1920*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE11EN_MASK                0x1 /* rule11en */
1921*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE11EN_SHIFT               1
1922*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED2_MASK            0x1 /* rule12en */
1923*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED2_SHIFT           2
1924*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED3_MASK            0x1 /* rule13en */
1925*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED3_SHIFT           3
1926*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE14EN_MASK                0x1 /* rule14en */
1927*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE14EN_SHIFT               4
1928*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE15EN_MASK                0x1 /* rule15en */
1929*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE15EN_SHIFT               5
1930*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE16EN_MASK                0x1 /* rule16en */
1931*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE16EN_SHIFT               6
1932*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE17EN_MASK                0x1 /* rule17en */
1933*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE17EN_SHIFT               7
1934*14b24e2bSVaishali Kulkarni 	u8 flags13;
1935*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE18EN_MASK                0x1 /* rule18en */
1936*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE18EN_SHIFT               0
1937*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE19EN_MASK                0x1 /* rule19en */
1938*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE19EN_SHIFT               1
1939*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED4_MASK            0x1 /* rule20en */
1940*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED4_SHIFT           2
1941*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED5_MASK            0x1 /* rule21en */
1942*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED5_SHIFT           3
1943*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED6_MASK            0x1 /* rule22en */
1944*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED6_SHIFT           4
1945*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED7_MASK            0x1 /* rule23en */
1946*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED7_SHIFT           5
1947*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED8_MASK            0x1 /* rule24en */
1948*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED8_SHIFT           6
1949*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED9_MASK            0x1 /* rule25en */
1950*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED9_SHIFT           7
1951*14b24e2bSVaishali Kulkarni 	u8 flags14;
1952*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
1953*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_USE_EXT_HDR_SHIFT       0
1954*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
1955*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_RAW_L3L4_SHIFT     1
1956*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
1957*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_INBAND_PROP_HDR_SHIFT   2
1958*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
1959*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_EXT_TUNNEL_SHIFT   3
1960*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
1961*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_L2_EDPM_ENABLE_SHIFT         4
1962*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
1963*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_SHIFT       5
1964*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_MASK              0x3 /* cf23 */
1965*14b24e2bSVaishali Kulkarni #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_SHIFT             6
1966*14b24e2bSVaishali Kulkarni 	u8 byte2 /* byte2 */;
1967*14b24e2bSVaishali Kulkarni 	__le16 physical_q0 /* physical_q0 */;
1968*14b24e2bSVaishali Kulkarni 	__le16 tx_l2_edpm_usg_cnt /* physical_q1 */;
1969*14b24e2bSVaishali Kulkarni 	__le16 edpm_num_bds /* physical_q2 */;
1970*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_cons /* word3 */;
1971*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_prod /* word4 */;
1972*14b24e2bSVaishali Kulkarni 	__le16 tx_class /* word5 */;
1973*14b24e2bSVaishali Kulkarni 	__le16 conn_dpi /* conn_dpi */;
1974*14b24e2bSVaishali Kulkarni 	u8 byte3 /* byte3 */;
1975*14b24e2bSVaishali Kulkarni 	u8 byte4 /* byte4 */;
1976*14b24e2bSVaishali Kulkarni 	u8 byte5 /* byte5 */;
1977*14b24e2bSVaishali Kulkarni 	u8 byte6 /* byte6 */;
1978*14b24e2bSVaishali Kulkarni 	__le32 reg0 /* reg0 */;
1979*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
1980*14b24e2bSVaishali Kulkarni 	__le32 reg2 /* reg2 */;
1981*14b24e2bSVaishali Kulkarni 	__le32 reg3 /* reg3 */;
1982*14b24e2bSVaishali Kulkarni 	__le32 reg4 /* reg4 */;
1983*14b24e2bSVaishali Kulkarni };
1984*14b24e2bSVaishali Kulkarni 
1985*14b24e2bSVaishali Kulkarni 
1986*14b24e2bSVaishali Kulkarni struct e5_mstorm_eth_conn_ag_ctx
1987*14b24e2bSVaishali Kulkarni {
1988*14b24e2bSVaishali Kulkarni 	u8 byte0 /* cdu_validation */;
1989*14b24e2bSVaishali Kulkarni 	u8 byte1 /* state_and_core_id */;
1990*14b24e2bSVaishali Kulkarni 	u8 flags0;
1991*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK  0x1 /* exist_in_qm0 */
1992*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
1993*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_BIT1_MASK          0x1 /* exist_in_qm1 */
1994*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT         1
1995*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF0_MASK           0x3 /* cf0 */
1996*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF0_SHIFT          2
1997*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF1_MASK           0x3 /* cf1 */
1998*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF1_SHIFT          4
1999*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF2_MASK           0x3 /* cf2 */
2000*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF2_SHIFT          6
2001*14b24e2bSVaishali Kulkarni 	u8 flags1;
2002*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF0EN_MASK         0x1 /* cf0en */
2003*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT        0
2004*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF1EN_MASK         0x1 /* cf1en */
2005*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT        1
2006*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF2EN_MASK         0x1 /* cf2en */
2007*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT        2
2008*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK       0x1 /* rule0en */
2009*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT      3
2010*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK       0x1 /* rule1en */
2011*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT      4
2012*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK       0x1 /* rule2en */
2013*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT      5
2014*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK       0x1 /* rule3en */
2015*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT      6
2016*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK       0x1 /* rule4en */
2017*14b24e2bSVaishali Kulkarni #define E5_MSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT      7
2018*14b24e2bSVaishali Kulkarni 	__le16 word0 /* word0 */;
2019*14b24e2bSVaishali Kulkarni 	__le16 word1 /* word1 */;
2020*14b24e2bSVaishali Kulkarni 	__le32 reg0 /* reg0 */;
2021*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
2022*14b24e2bSVaishali Kulkarni };
2023*14b24e2bSVaishali Kulkarni 
2024*14b24e2bSVaishali Kulkarni 
2025*14b24e2bSVaishali Kulkarni struct e5_tstorm_eth_conn_ag_ctx
2026*14b24e2bSVaishali Kulkarni {
2027*14b24e2bSVaishali Kulkarni 	u8 byte0 /* cdu_validation */;
2028*14b24e2bSVaishali Kulkarni 	u8 byte1 /* state_and_core_id */;
2029*14b24e2bSVaishali Kulkarni 	u8 flags0;
2030*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT0_MASK          0x1 /* exist_in_qm0 */
2031*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT         0
2032*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT1_MASK          0x1 /* exist_in_qm1 */
2033*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT         1
2034*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT2_MASK          0x1 /* bit2 */
2035*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT2_SHIFT         2
2036*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT3_MASK          0x1 /* bit3 */
2037*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT3_SHIFT         3
2038*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT4_MASK          0x1 /* bit4 */
2039*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT4_SHIFT         4
2040*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT5_MASK          0x1 /* bit5 */
2041*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_BIT5_SHIFT         5
2042*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF0_MASK           0x3 /* timer0cf */
2043*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF0_SHIFT          6
2044*14b24e2bSVaishali Kulkarni 	u8 flags1;
2045*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF1_MASK           0x3 /* timer1cf */
2046*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF1_SHIFT          0
2047*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF2_MASK           0x3 /* timer2cf */
2048*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF2_SHIFT          2
2049*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF3_MASK           0x3 /* timer_stop_all */
2050*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF3_SHIFT          4
2051*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF4_MASK           0x3 /* cf4 */
2052*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF4_SHIFT          6
2053*14b24e2bSVaishali Kulkarni 	u8 flags2;
2054*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF5_MASK           0x3 /* cf5 */
2055*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF5_SHIFT          0
2056*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF6_MASK           0x3 /* cf6 */
2057*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF6_SHIFT          2
2058*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF7_MASK           0x3 /* cf7 */
2059*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF7_SHIFT          4
2060*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF8_MASK           0x3 /* cf8 */
2061*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF8_SHIFT          6
2062*14b24e2bSVaishali Kulkarni 	u8 flags3;
2063*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF9_MASK           0x3 /* cf9 */
2064*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF9_SHIFT          0
2065*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF10_MASK          0x3 /* cf10 */
2066*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF10_SHIFT         2
2067*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF0EN_MASK         0x1 /* cf0en */
2068*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT        4
2069*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF1EN_MASK         0x1 /* cf1en */
2070*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT        5
2071*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF2EN_MASK         0x1 /* cf2en */
2072*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT        6
2073*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF3EN_MASK         0x1 /* cf3en */
2074*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT        7
2075*14b24e2bSVaishali Kulkarni 	u8 flags4;
2076*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF4EN_MASK         0x1 /* cf4en */
2077*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT        0
2078*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF5EN_MASK         0x1 /* cf5en */
2079*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT        1
2080*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF6EN_MASK         0x1 /* cf6en */
2081*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT        2
2082*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF7EN_MASK         0x1 /* cf7en */
2083*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT        3
2084*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF8EN_MASK         0x1 /* cf8en */
2085*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT        4
2086*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF9EN_MASK         0x1 /* cf9en */
2087*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT        5
2088*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF10EN_MASK        0x1 /* cf10en */
2089*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT       6
2090*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK       0x1 /* rule0en */
2091*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT      7
2092*14b24e2bSVaishali Kulkarni 	u8 flags5;
2093*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK       0x1 /* rule1en */
2094*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT      0
2095*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK       0x1 /* rule2en */
2096*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT      1
2097*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK       0x1 /* rule3en */
2098*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT      2
2099*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK       0x1 /* rule4en */
2100*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT      3
2101*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK       0x1 /* rule5en */
2102*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT      4
2103*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_MASK      0x1 /* rule6en */
2104*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_SHIFT     5
2105*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK       0x1 /* rule7en */
2106*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT      6
2107*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE8EN_MASK       0x1 /* rule8en */
2108*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT      7
2109*14b24e2bSVaishali Kulkarni 	u8 flags6;
2110*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_MASK  0x1 /* bit6 */
2111*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
2112*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_MASK  0x1 /* bit7 */
2113*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
2114*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK  0x1 /* bit8 */
2115*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
2116*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK  0x3 /* cf11 */
2117*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
2118*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK  0x1 /* cf11en */
2119*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
2120*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK  0x1 /* rule9en */
2121*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
2122*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_MASK  0x1 /* rule10en */
2123*14b24e2bSVaishali Kulkarni #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
2124*14b24e2bSVaishali Kulkarni 	u8 byte2 /* byte2 */;
2125*14b24e2bSVaishali Kulkarni 	__le16 rx_bd_cons /* word0 */;
2126*14b24e2bSVaishali Kulkarni 	__le32 reg0 /* reg0 */;
2127*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
2128*14b24e2bSVaishali Kulkarni 	__le32 reg2 /* reg2 */;
2129*14b24e2bSVaishali Kulkarni 	__le32 reg3 /* reg3 */;
2130*14b24e2bSVaishali Kulkarni 	__le32 reg4 /* reg4 */;
2131*14b24e2bSVaishali Kulkarni 	__le32 reg5 /* reg5 */;
2132*14b24e2bSVaishali Kulkarni 	__le32 reg6 /* reg6 */;
2133*14b24e2bSVaishali Kulkarni 	__le32 reg7 /* reg7 */;
2134*14b24e2bSVaishali Kulkarni 	__le32 reg8 /* reg8 */;
2135*14b24e2bSVaishali Kulkarni 	u8 byte3 /* byte3 */;
2136*14b24e2bSVaishali Kulkarni 	u8 byte4 /* byte4 */;
2137*14b24e2bSVaishali Kulkarni 	u8 byte5 /* byte5 */;
2138*14b24e2bSVaishali Kulkarni 	u8 e4_reserved8 /* byte6 */;
2139*14b24e2bSVaishali Kulkarni 	__le16 rx_bd_prod /* word1 */;
2140*14b24e2bSVaishali Kulkarni 	__le16 word2 /* conn_dpi */;
2141*14b24e2bSVaishali Kulkarni 	__le32 reg9 /* reg9 */;
2142*14b24e2bSVaishali Kulkarni 	__le16 word3 /* word3 */;
2143*14b24e2bSVaishali Kulkarni 	__le16 e4_reserved9 /* word4 */;
2144*14b24e2bSVaishali Kulkarni };
2145*14b24e2bSVaishali Kulkarni 
2146*14b24e2bSVaishali Kulkarni 
2147*14b24e2bSVaishali Kulkarni struct e5_ustorm_eth_conn_ag_ctx
2148*14b24e2bSVaishali Kulkarni {
2149*14b24e2bSVaishali Kulkarni 	u8 byte0 /* cdu_validation */;
2150*14b24e2bSVaishali Kulkarni 	u8 byte1 /* state_and_core_id */;
2151*14b24e2bSVaishali Kulkarni 	u8 flags0;
2152*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_BIT0_MASK                    0x1 /* exist_in_qm0 */
2153*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_BIT0_SHIFT                   0
2154*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_BIT1_MASK                    0x1 /* exist_in_qm1 */
2155*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_BIT1_SHIFT                   1
2156*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_MASK     0x3 /* timer0cf */
2157*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_SHIFT    2
2158*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_MASK     0x3 /* timer1cf */
2159*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_SHIFT    4
2160*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
2161*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_CF2_SHIFT                    6
2162*14b24e2bSVaishali Kulkarni 	u8 flags1;
2163*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
2164*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_CF3_SHIFT                    0
2165*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_MASK               0x3 /* cf4 */
2166*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_SHIFT              2
2167*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_MASK               0x3 /* cf5 */
2168*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_SHIFT              4
2169*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK       0x3 /* cf6 */
2170*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT      6
2171*14b24e2bSVaishali Kulkarni 	u8 flags2;
2172*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_MASK  0x1 /* cf0en */
2173*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_SHIFT 0
2174*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_MASK  0x1 /* cf1en */
2175*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_SHIFT 1
2176*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
2177*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                  2
2178*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
2179*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT                  3
2180*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_MASK            0x1 /* cf4en */
2181*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_SHIFT           4
2182*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_MASK            0x1 /* cf5en */
2183*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_SHIFT           5
2184*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK    0x1 /* cf6en */
2185*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT   6
2186*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE0EN_MASK                 0x1 /* rule0en */
2187*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT                7
2188*14b24e2bSVaishali Kulkarni 	u8 flags3;
2189*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE1EN_MASK                 0x1 /* rule1en */
2190*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT                0
2191*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE2EN_MASK                 0x1 /* rule2en */
2192*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT                1
2193*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE3EN_MASK                 0x1 /* rule3en */
2194*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT                2
2195*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE4EN_MASK                 0x1 /* rule4en */
2196*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT                3
2197*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
2198*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT                4
2199*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
2200*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT                5
2201*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
2202*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT                6
2203*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE8EN_MASK                 0x1 /* rule8en */
2204*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT                7
2205*14b24e2bSVaishali Kulkarni 	u8 flags4;
2206*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED1_MASK            0x1 /* bit2 */
2207*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED1_SHIFT           0
2208*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED2_MASK            0x1 /* bit3 */
2209*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED2_SHIFT           1
2210*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK            0x3 /* cf7 */
2211*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT           2
2212*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK            0x3 /* cf8 */
2213*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT           4
2214*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK            0x1 /* cf7en */
2215*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT           6
2216*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK            0x1 /* cf8en */
2217*14b24e2bSVaishali Kulkarni #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT           7
2218*14b24e2bSVaishali Kulkarni 	u8 byte2 /* byte2 */;
2219*14b24e2bSVaishali Kulkarni 	__le16 word0 /* conn_dpi */;
2220*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_cons /* word1 */;
2221*14b24e2bSVaishali Kulkarni 	__le32 reg0 /* reg0 */;
2222*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
2223*14b24e2bSVaishali Kulkarni 	__le32 reg2 /* reg2 */;
2224*14b24e2bSVaishali Kulkarni 	__le32 tx_int_coallecing_timeset /* reg3 */;
2225*14b24e2bSVaishali Kulkarni 	__le16 tx_drv_bd_cons /* word2 */;
2226*14b24e2bSVaishali Kulkarni 	__le16 rx_drv_cqe_cons /* word3 */;
2227*14b24e2bSVaishali Kulkarni };
2228*14b24e2bSVaishali Kulkarni 
2229*14b24e2bSVaishali Kulkarni 
2230*14b24e2bSVaishali Kulkarni struct e5_xstorm_eth_conn_ag_ctx
2231*14b24e2bSVaishali Kulkarni {
2232*14b24e2bSVaishali Kulkarni 	u8 reserved0 /* cdu_validation */;
2233*14b24e2bSVaishali Kulkarni 	u8 state_and_core_id /* state_and_core_id */;
2234*14b24e2bSVaishali Kulkarni 	u8 flags0;
2235*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
2236*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT           0
2237*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED1_MASK               0x1 /* exist_in_qm1 */
2238*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED1_SHIFT              1
2239*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED2_MASK               0x1 /* exist_in_qm2 */
2240*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED2_SHIFT              2
2241*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
2242*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_SHIFT           3
2243*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED3_MASK               0x1 /* bit4 */
2244*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED3_SHIFT              4
2245*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED4_MASK               0x1 /* cf_array_active */
2246*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED4_SHIFT              5
2247*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED5_MASK               0x1 /* bit6 */
2248*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED5_SHIFT              6
2249*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED6_MASK               0x1 /* bit7 */
2250*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED6_SHIFT              7
2251*14b24e2bSVaishali Kulkarni 	u8 flags1;
2252*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED7_MASK               0x1 /* bit8 */
2253*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED7_SHIFT              0
2254*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED8_MASK               0x1 /* bit9 */
2255*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED8_SHIFT              1
2256*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED9_MASK               0x1 /* bit10 */
2257*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED9_SHIFT              2
2258*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_BIT11_MASK                   0x1 /* bit11 */
2259*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_BIT11_SHIFT                  3
2260*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_BIT12_MASK                   0x1 /* bit12 */
2261*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_BIT12_SHIFT                  4
2262*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_BIT13_MASK                   0x1 /* bit13 */
2263*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_BIT13_SHIFT                  5
2264*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
2265*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT         6
2266*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
2267*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT           7
2268*14b24e2bSVaishali Kulkarni 	u8 flags2;
2269*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF0_MASK                     0x3 /* timer0cf */
2270*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF0_SHIFT                    0
2271*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF1_MASK                     0x3 /* timer1cf */
2272*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF1_SHIFT                    2
2273*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
2274*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF2_SHIFT                    4
2275*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
2276*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF3_SHIFT                    6
2277*14b24e2bSVaishali Kulkarni 	u8 flags3;
2278*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF4_MASK                     0x3 /* cf4 */
2279*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF4_SHIFT                    0
2280*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF5_MASK                     0x3 /* cf5 */
2281*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF5_SHIFT                    2
2282*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF6_MASK                     0x3 /* cf6 */
2283*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF6_SHIFT                    4
2284*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF7_MASK                     0x3 /* cf7 */
2285*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF7_SHIFT                    6
2286*14b24e2bSVaishali Kulkarni 	u8 flags4;
2287*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF8_MASK                     0x3 /* cf8 */
2288*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF8_SHIFT                    0
2289*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF9_MASK                     0x3 /* cf9 */
2290*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF9_SHIFT                    2
2291*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF10_MASK                    0x3 /* cf10 */
2292*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF10_SHIFT                   4
2293*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF11_MASK                    0x3 /* cf11 */
2294*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF11_SHIFT                   6
2295*14b24e2bSVaishali Kulkarni 	u8 flags5;
2296*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF12_MASK                    0x3 /* cf12 */
2297*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF12_SHIFT                   0
2298*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF13_MASK                    0x3 /* cf13 */
2299*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF13_SHIFT                   2
2300*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF14_MASK                    0x3 /* cf14 */
2301*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF14_SHIFT                   4
2302*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF15_MASK                    0x3 /* cf15 */
2303*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF15_SHIFT                   6
2304*14b24e2bSVaishali Kulkarni 	u8 flags6;
2305*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
2306*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT       0
2307*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
2308*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT       2
2309*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_MASK                   0x3 /* cf18 */
2310*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_SHIFT                  4
2311*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_MASK            0x3 /* cf19 */
2312*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_SHIFT           6
2313*14b24e2bSVaishali Kulkarni 	u8 flags7;
2314*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_MASK                0x3 /* cf20 */
2315*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_SHIFT               0
2316*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED10_MASK              0x3 /* cf21 */
2317*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED10_SHIFT             2
2318*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_MASK               0x3 /* cf22 */
2319*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_SHIFT              4
2320*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF0EN_MASK                   0x1 /* cf0en */
2321*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT                  6
2322*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF1EN_MASK                   0x1 /* cf1en */
2323*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT                  7
2324*14b24e2bSVaishali Kulkarni 	u8 flags8;
2325*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
2326*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                  0
2327*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
2328*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT                  1
2329*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF4EN_MASK                   0x1 /* cf4en */
2330*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT                  2
2331*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF5EN_MASK                   0x1 /* cf5en */
2332*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT                  3
2333*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF6EN_MASK                   0x1 /* cf6en */
2334*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT                  4
2335*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF7EN_MASK                   0x1 /* cf7en */
2336*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT                  5
2337*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF8EN_MASK                   0x1 /* cf8en */
2338*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT                  6
2339*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF9EN_MASK                   0x1 /* cf9en */
2340*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT                  7
2341*14b24e2bSVaishali Kulkarni 	u8 flags9;
2342*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF10EN_MASK                  0x1 /* cf10en */
2343*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT                 0
2344*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF11EN_MASK                  0x1 /* cf11en */
2345*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF11EN_SHIFT                 1
2346*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF12EN_MASK                  0x1 /* cf12en */
2347*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF12EN_SHIFT                 2
2348*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF13EN_MASK                  0x1 /* cf13en */
2349*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF13EN_SHIFT                 3
2350*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF14EN_MASK                  0x1 /* cf14en */
2351*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF14EN_SHIFT                 4
2352*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF15EN_MASK                  0x1 /* cf15en */
2353*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_CF15EN_SHIFT                 5
2354*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
2355*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT    6
2356*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
2357*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT    7
2358*14b24e2bSVaishali Kulkarni 	u8 flags10;
2359*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_MASK                0x1 /* cf18en */
2360*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_SHIFT               0
2361*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
2362*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT        1
2363*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
2364*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT            2
2365*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED11_MASK              0x1 /* cf21en */
2366*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED11_SHIFT             3
2367*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_MASK            0x1 /* cf22en */
2368*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_SHIFT           4
2369*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
2370*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 5
2371*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED12_MASK              0x1 /* rule0en */
2372*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED12_SHIFT             6
2373*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED13_MASK              0x1 /* rule1en */
2374*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED13_SHIFT             7
2375*14b24e2bSVaishali Kulkarni 	u8 flags11;
2376*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED14_MASK              0x1 /* rule2en */
2377*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED14_SHIFT             0
2378*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED15_MASK              0x1 /* rule3en */
2379*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED15_SHIFT             1
2380*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
2381*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT         2
2382*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
2383*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT                3
2384*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
2385*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT                4
2386*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
2387*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT                5
2388*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_MASK            0x1 /* rule8en */
2389*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_SHIFT           6
2390*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE9EN_MASK                 0x1 /* rule9en */
2391*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE9EN_SHIFT                7
2392*14b24e2bSVaishali Kulkarni 	u8 flags12;
2393*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE10EN_MASK                0x1 /* rule10en */
2394*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE10EN_SHIFT               0
2395*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE11EN_MASK                0x1 /* rule11en */
2396*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE11EN_SHIFT               1
2397*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_MASK            0x1 /* rule12en */
2398*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_SHIFT           2
2399*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_MASK            0x1 /* rule13en */
2400*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_SHIFT           3
2401*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE14EN_MASK                0x1 /* rule14en */
2402*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE14EN_SHIFT               4
2403*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE15EN_MASK                0x1 /* rule15en */
2404*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE15EN_SHIFT               5
2405*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE16EN_MASK                0x1 /* rule16en */
2406*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE16EN_SHIFT               6
2407*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE17EN_MASK                0x1 /* rule17en */
2408*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE17EN_SHIFT               7
2409*14b24e2bSVaishali Kulkarni 	u8 flags13;
2410*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE18EN_MASK                0x1 /* rule18en */
2411*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE18EN_SHIFT               0
2412*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE19EN_MASK                0x1 /* rule19en */
2413*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_RULE19EN_SHIFT               1
2414*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_MASK            0x1 /* rule20en */
2415*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_SHIFT           2
2416*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_MASK            0x1 /* rule21en */
2417*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_SHIFT           3
2418*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_MASK            0x1 /* rule22en */
2419*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_SHIFT           4
2420*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_MASK            0x1 /* rule23en */
2421*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_SHIFT           5
2422*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_MASK            0x1 /* rule24en */
2423*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_SHIFT           6
2424*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_MASK            0x1 /* rule25en */
2425*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_SHIFT           7
2426*14b24e2bSVaishali Kulkarni 	u8 flags14;
2427*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
2428*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT       0
2429*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
2430*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT     1
2431*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
2432*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT   2
2433*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
2434*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT   3
2435*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
2436*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT         4
2437*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
2438*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT       5
2439*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_MASK              0x3 /* cf23 */
2440*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_SHIFT             6
2441*14b24e2bSVaishali Kulkarni 	u8 byte2 /* byte2 */;
2442*14b24e2bSVaishali Kulkarni 	__le16 physical_q0 /* physical_q0 */;
2443*14b24e2bSVaishali Kulkarni 	__le16 tx_l2_edpm_usg_cnt /* physical_q1 */;
2444*14b24e2bSVaishali Kulkarni 	__le16 edpm_num_bds /* physical_q2 */;
2445*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_cons /* word3 */;
2446*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_prod /* word4 */;
2447*14b24e2bSVaishali Kulkarni 	__le16 tx_class /* word5 */;
2448*14b24e2bSVaishali Kulkarni 	__le16 conn_dpi /* conn_dpi */;
2449*14b24e2bSVaishali Kulkarni 	u8 byte3 /* byte3 */;
2450*14b24e2bSVaishali Kulkarni 	u8 byte4 /* byte4 */;
2451*14b24e2bSVaishali Kulkarni 	u8 byte5 /* byte5 */;
2452*14b24e2bSVaishali Kulkarni 	u8 byte6 /* byte6 */;
2453*14b24e2bSVaishali Kulkarni 	__le32 reg0 /* reg0 */;
2454*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
2455*14b24e2bSVaishali Kulkarni 	__le32 reg2 /* reg2 */;
2456*14b24e2bSVaishali Kulkarni 	__le32 reg3 /* reg3 */;
2457*14b24e2bSVaishali Kulkarni 	__le32 reg4 /* reg4 */;
2458*14b24e2bSVaishali Kulkarni 	__le32 reg5 /* cf_array0 */;
2459*14b24e2bSVaishali Kulkarni 	__le32 reg6 /* cf_array1 */;
2460*14b24e2bSVaishali Kulkarni 	u8 flags15;
2461*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_MASK            0x1 /* bit22 */
2462*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_SHIFT           0
2463*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_MASK            0x1 /* bit23 */
2464*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_SHIFT           1
2465*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK            0x1 /* bit24 */
2466*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT           2
2467*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK            0x3 /* cf24 */
2468*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT           3
2469*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK            0x1 /* cf24en */
2470*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT           5
2471*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK            0x1 /* rule26en */
2472*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT           6
2473*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_MASK            0x1 /* rule27en */
2474*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_SHIFT           7
2475*14b24e2bSVaishali Kulkarni 	u8 byte7 /* byte7 */;
2476*14b24e2bSVaishali Kulkarni 	__le16 word7 /* word7 */;
2477*14b24e2bSVaishali Kulkarni 	__le16 word8 /* word8 */;
2478*14b24e2bSVaishali Kulkarni 	__le16 word9 /* word9 */;
2479*14b24e2bSVaishali Kulkarni 	__le16 word10 /* word10 */;
2480*14b24e2bSVaishali Kulkarni 	__le16 word11 /* word11 */;
2481*14b24e2bSVaishali Kulkarni 	__le32 reg7 /* reg7 */;
2482*14b24e2bSVaishali Kulkarni 	__le32 reg8 /* reg8 */;
2483*14b24e2bSVaishali Kulkarni 	__le32 reg9 /* reg9 */;
2484*14b24e2bSVaishali Kulkarni 	u8 byte8 /* byte8 */;
2485*14b24e2bSVaishali Kulkarni 	u8 byte9 /* byte9 */;
2486*14b24e2bSVaishali Kulkarni 	u8 byte10 /* byte10 */;
2487*14b24e2bSVaishali Kulkarni 	u8 byte11 /* byte11 */;
2488*14b24e2bSVaishali Kulkarni 	u8 byte12 /* byte12 */;
2489*14b24e2bSVaishali Kulkarni 	u8 byte13 /* byte13 */;
2490*14b24e2bSVaishali Kulkarni 	u8 byte14 /* byte14 */;
2491*14b24e2bSVaishali Kulkarni 	u8 byte15 /* byte15 */;
2492*14b24e2bSVaishali Kulkarni 	__le32 reg10 /* reg10 */;
2493*14b24e2bSVaishali Kulkarni 	__le32 reg11 /* reg11 */;
2494*14b24e2bSVaishali Kulkarni 	__le32 reg12 /* reg12 */;
2495*14b24e2bSVaishali Kulkarni 	__le32 reg13 /* reg13 */;
2496*14b24e2bSVaishali Kulkarni 	__le32 reg14 /* reg14 */;
2497*14b24e2bSVaishali Kulkarni 	__le32 reg15 /* reg15 */;
2498*14b24e2bSVaishali Kulkarni 	__le32 reg16 /* reg16 */;
2499*14b24e2bSVaishali Kulkarni 	__le32 reg17 /* reg17 */;
2500*14b24e2bSVaishali Kulkarni 	__le32 reg18 /* reg18 */;
2501*14b24e2bSVaishali Kulkarni 	__le32 reg19 /* reg19 */;
2502*14b24e2bSVaishali Kulkarni 	__le16 word12 /* word12 */;
2503*14b24e2bSVaishali Kulkarni 	__le16 word13 /* word13 */;
2504*14b24e2bSVaishali Kulkarni 	__le16 word14 /* word14 */;
2505*14b24e2bSVaishali Kulkarni 	__le16 word15 /* word15 */;
2506*14b24e2bSVaishali Kulkarni };
2507*14b24e2bSVaishali Kulkarni 
2508*14b24e2bSVaishali Kulkarni 
2509*14b24e2bSVaishali Kulkarni struct e5_xstorm_eth_hw_conn_ag_ctx
2510*14b24e2bSVaishali Kulkarni {
2511*14b24e2bSVaishali Kulkarni 	u8 reserved0 /* cdu_validation */;
2512*14b24e2bSVaishali Kulkarni 	u8 state_and_core_id /* state_and_core_id */;
2513*14b24e2bSVaishali Kulkarni 	u8 flags0;
2514*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
2515*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM0_SHIFT           0
2516*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED1_MASK               0x1 /* exist_in_qm1 */
2517*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED1_SHIFT              1
2518*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED2_MASK               0x1 /* exist_in_qm2 */
2519*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED2_SHIFT              2
2520*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
2521*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM3_SHIFT           3
2522*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED3_MASK               0x1 /* bit4 */
2523*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED3_SHIFT              4
2524*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED4_MASK               0x1 /* cf_array_active */
2525*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED4_SHIFT              5
2526*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED5_MASK               0x1 /* bit6 */
2527*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED5_SHIFT              6
2528*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED6_MASK               0x1 /* bit7 */
2529*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED6_SHIFT              7
2530*14b24e2bSVaishali Kulkarni 	u8 flags1;
2531*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED7_MASK               0x1 /* bit8 */
2532*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED7_SHIFT              0
2533*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED8_MASK               0x1 /* bit9 */
2534*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED8_SHIFT              1
2535*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_MASK               0x1 /* bit10 */
2536*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_SHIFT              2
2537*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_MASK                   0x1 /* bit11 */
2538*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_SHIFT                  3
2539*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT12_MASK                   0x1 /* bit12 */
2540*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT12_SHIFT                  4
2541*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT13_MASK                   0x1 /* bit13 */
2542*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT13_SHIFT                  5
2543*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
2544*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT         6
2545*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
2546*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT           7
2547*14b24e2bSVaishali Kulkarni 	u8 flags2;
2548*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF0_MASK                     0x3 /* timer0cf */
2549*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF0_SHIFT                    0
2550*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF1_MASK                     0x3 /* timer1cf */
2551*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF1_SHIFT                    2
2552*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
2553*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF2_SHIFT                    4
2554*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
2555*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF3_SHIFT                    6
2556*14b24e2bSVaishali Kulkarni 	u8 flags3;
2557*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF4_MASK                     0x3 /* cf4 */
2558*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF4_SHIFT                    0
2559*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF5_MASK                     0x3 /* cf5 */
2560*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF5_SHIFT                    2
2561*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF6_MASK                     0x3 /* cf6 */
2562*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF6_SHIFT                    4
2563*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF7_MASK                     0x3 /* cf7 */
2564*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF7_SHIFT                    6
2565*14b24e2bSVaishali Kulkarni 	u8 flags4;
2566*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF8_MASK                     0x3 /* cf8 */
2567*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF8_SHIFT                    0
2568*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF9_MASK                     0x3 /* cf9 */
2569*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF9_SHIFT                    2
2570*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF10_MASK                    0x3 /* cf10 */
2571*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF10_SHIFT                   4
2572*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF11_MASK                    0x3 /* cf11 */
2573*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF11_SHIFT                   6
2574*14b24e2bSVaishali Kulkarni 	u8 flags5;
2575*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF12_MASK                    0x3 /* cf12 */
2576*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF12_SHIFT                   0
2577*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF13_MASK                    0x3 /* cf13 */
2578*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF13_SHIFT                   2
2579*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF14_MASK                    0x3 /* cf14 */
2580*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF14_SHIFT                   4
2581*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF15_MASK                    0x3 /* cf15 */
2582*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF15_SHIFT                   6
2583*14b24e2bSVaishali Kulkarni 	u8 flags6;
2584*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
2585*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT       0
2586*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
2587*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT       2
2588*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_MASK                   0x3 /* cf18 */
2589*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_SHIFT                  4
2590*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_MASK            0x3 /* cf19 */
2591*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_SHIFT           6
2592*14b24e2bSVaishali Kulkarni 	u8 flags7;
2593*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_MASK                0x3 /* cf20 */
2594*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_SHIFT               0
2595*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED10_MASK              0x3 /* cf21 */
2596*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED10_SHIFT             2
2597*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_MASK               0x3 /* cf22 */
2598*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_SHIFT              4
2599*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF0EN_MASK                   0x1 /* cf0en */
2600*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF0EN_SHIFT                  6
2601*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF1EN_MASK                   0x1 /* cf1en */
2602*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF1EN_SHIFT                  7
2603*14b24e2bSVaishali Kulkarni 	u8 flags8;
2604*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
2605*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF2EN_SHIFT                  0
2606*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
2607*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF3EN_SHIFT                  1
2608*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF4EN_MASK                   0x1 /* cf4en */
2609*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF4EN_SHIFT                  2
2610*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF5EN_MASK                   0x1 /* cf5en */
2611*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF5EN_SHIFT                  3
2612*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF6EN_MASK                   0x1 /* cf6en */
2613*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF6EN_SHIFT                  4
2614*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF7EN_MASK                   0x1 /* cf7en */
2615*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF7EN_SHIFT                  5
2616*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF8EN_MASK                   0x1 /* cf8en */
2617*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF8EN_SHIFT                  6
2618*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF9EN_MASK                   0x1 /* cf9en */
2619*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF9EN_SHIFT                  7
2620*14b24e2bSVaishali Kulkarni 	u8 flags9;
2621*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF10EN_MASK                  0x1 /* cf10en */
2622*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF10EN_SHIFT                 0
2623*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF11EN_MASK                  0x1 /* cf11en */
2624*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF11EN_SHIFT                 1
2625*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF12EN_MASK                  0x1 /* cf12en */
2626*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF12EN_SHIFT                 2
2627*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF13EN_MASK                  0x1 /* cf13en */
2628*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF13EN_SHIFT                 3
2629*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF14EN_MASK                  0x1 /* cf14en */
2630*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF14EN_SHIFT                 4
2631*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF15EN_MASK                  0x1 /* cf15en */
2632*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF15EN_SHIFT                 5
2633*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
2634*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT    6
2635*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
2636*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT    7
2637*14b24e2bSVaishali Kulkarni 	u8 flags10;
2638*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_EN_MASK                0x1 /* cf18en */
2639*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_EN_SHIFT               0
2640*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
2641*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT        1
2642*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
2643*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT            2
2644*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED11_MASK              0x1 /* cf21en */
2645*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED11_SHIFT             3
2646*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_EN_MASK            0x1 /* cf22en */
2647*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_EN_SHIFT           4
2648*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
2649*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 5
2650*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED12_MASK              0x1 /* rule0en */
2651*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED12_SHIFT             6
2652*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED13_MASK              0x1 /* rule1en */
2653*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED13_SHIFT             7
2654*14b24e2bSVaishali Kulkarni 	u8 flags11;
2655*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED14_MASK              0x1 /* rule2en */
2656*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED14_SHIFT             0
2657*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED15_MASK              0x1 /* rule3en */
2658*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED15_SHIFT             1
2659*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
2660*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT         2
2661*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
2662*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE5EN_SHIFT                3
2663*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
2664*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE6EN_SHIFT                4
2665*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
2666*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE7EN_SHIFT                5
2667*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED1_MASK            0x1 /* rule8en */
2668*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED1_SHIFT           6
2669*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE9EN_MASK                 0x1 /* rule9en */
2670*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE9EN_SHIFT                7
2671*14b24e2bSVaishali Kulkarni 	u8 flags12;
2672*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE10EN_MASK                0x1 /* rule10en */
2673*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE10EN_SHIFT               0
2674*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE11EN_MASK                0x1 /* rule11en */
2675*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE11EN_SHIFT               1
2676*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED2_MASK            0x1 /* rule12en */
2677*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED2_SHIFT           2
2678*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED3_MASK            0x1 /* rule13en */
2679*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED3_SHIFT           3
2680*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE14EN_MASK                0x1 /* rule14en */
2681*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE14EN_SHIFT               4
2682*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE15EN_MASK                0x1 /* rule15en */
2683*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE15EN_SHIFT               5
2684*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE16EN_MASK                0x1 /* rule16en */
2685*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE16EN_SHIFT               6
2686*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE17EN_MASK                0x1 /* rule17en */
2687*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE17EN_SHIFT               7
2688*14b24e2bSVaishali Kulkarni 	u8 flags13;
2689*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE18EN_MASK                0x1 /* rule18en */
2690*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE18EN_SHIFT               0
2691*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE19EN_MASK                0x1 /* rule19en */
2692*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE19EN_SHIFT               1
2693*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED4_MASK            0x1 /* rule20en */
2694*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED4_SHIFT           2
2695*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED5_MASK            0x1 /* rule21en */
2696*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED5_SHIFT           3
2697*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED6_MASK            0x1 /* rule22en */
2698*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED6_SHIFT           4
2699*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED7_MASK            0x1 /* rule23en */
2700*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED7_SHIFT           5
2701*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED8_MASK            0x1 /* rule24en */
2702*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED8_SHIFT           6
2703*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED9_MASK            0x1 /* rule25en */
2704*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED9_SHIFT           7
2705*14b24e2bSVaishali Kulkarni 	u8 flags14;
2706*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
2707*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT       0
2708*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
2709*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT     1
2710*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
2711*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT   2
2712*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
2713*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT   3
2714*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
2715*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT         4
2716*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
2717*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT       5
2718*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_MASK              0x3 /* cf23 */
2719*14b24e2bSVaishali Kulkarni #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_SHIFT             6
2720*14b24e2bSVaishali Kulkarni 	u8 byte2 /* byte2 */;
2721*14b24e2bSVaishali Kulkarni 	__le16 physical_q0 /* physical_q0 */;
2722*14b24e2bSVaishali Kulkarni 	__le16 tx_l2_edpm_usg_cnt /* physical_q1 */;
2723*14b24e2bSVaishali Kulkarni 	__le16 edpm_num_bds /* physical_q2 */;
2724*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_cons /* word3 */;
2725*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_prod /* word4 */;
2726*14b24e2bSVaishali Kulkarni 	__le16 tx_class /* word5 */;
2727*14b24e2bSVaishali Kulkarni 	__le16 conn_dpi /* conn_dpi */;
2728*14b24e2bSVaishali Kulkarni };
2729*14b24e2bSVaishali Kulkarni 
2730*14b24e2bSVaishali Kulkarni 
2731*14b24e2bSVaishali Kulkarni struct e5_ystorm_eth_conn_ag_ctx
2732*14b24e2bSVaishali Kulkarni {
2733*14b24e2bSVaishali Kulkarni 	u8 byte0 /* cdu_validation */;
2734*14b24e2bSVaishali Kulkarni 	u8 state_and_core_id /* state_and_core_id */;
2735*14b24e2bSVaishali Kulkarni 	u8 flags0;
2736*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_BIT0_MASK                  0x1 /* exist_in_qm0 */
2737*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT                 0
2738*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_BIT1_MASK                  0x1 /* exist_in_qm1 */
2739*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT                 1
2740*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK     0x3 /* cf0 */
2741*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT    2
2742*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_MASK      0x3 /* cf1 */
2743*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_SHIFT     4
2744*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_CF2_MASK                   0x3 /* cf2 */
2745*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_CF2_SHIFT                  6
2746*14b24e2bSVaishali Kulkarni 	u8 flags1;
2747*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK  0x1 /* cf0en */
2748*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 0
2749*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_MASK   0x1 /* cf1en */
2750*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_SHIFT  1
2751*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_CF2EN_MASK                 0x1 /* cf2en */
2752*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                2
2753*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK               0x1 /* rule0en */
2754*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT              3
2755*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK               0x1 /* rule1en */
2756*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT              4
2757*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK               0x1 /* rule2en */
2758*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT              5
2759*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK               0x1 /* rule3en */
2760*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT              6
2761*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK               0x1 /* rule4en */
2762*14b24e2bSVaishali Kulkarni #define E5_YSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT              7
2763*14b24e2bSVaishali Kulkarni 	u8 tx_q0_int_coallecing_timeset /* byte2 */;
2764*14b24e2bSVaishali Kulkarni 	u8 byte3 /* byte3 */;
2765*14b24e2bSVaishali Kulkarni 	__le16 word0 /* word0 */;
2766*14b24e2bSVaishali Kulkarni 	__le32 terminate_spqe /* reg0 */;
2767*14b24e2bSVaishali Kulkarni 	__le32 reg1 /* reg1 */;
2768*14b24e2bSVaishali Kulkarni 	__le16 tx_bd_cons_upd /* word1 */;
2769*14b24e2bSVaishali Kulkarni 	__le16 word2 /* word2 */;
2770*14b24e2bSVaishali Kulkarni 	__le16 word3 /* word3 */;
2771*14b24e2bSVaishali Kulkarni 	__le16 word4 /* word4 */;
2772*14b24e2bSVaishali Kulkarni 	__le32 reg2 /* reg2 */;
2773*14b24e2bSVaishali Kulkarni 	__le32 reg3 /* reg3 */;
2774*14b24e2bSVaishali Kulkarni };
2775*14b24e2bSVaishali Kulkarni 
2776*14b24e2bSVaishali Kulkarni 
2777*14b24e2bSVaishali Kulkarni /*
2778*14b24e2bSVaishali Kulkarni  * GFT CAM line struct
2779*14b24e2bSVaishali Kulkarni  */
2780*14b24e2bSVaishali Kulkarni struct gft_cam_line
2781*14b24e2bSVaishali Kulkarni {
2782*14b24e2bSVaishali Kulkarni 	__le32 camline;
2783*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_VALID_MASK      0x1 /* Indication if the line is valid. */
2784*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_VALID_SHIFT     0
2785*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_DATA_MASK       0x3FFF /* Data bits, the word that compared with the profile key */
2786*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_DATA_SHIFT      1
2787*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MASK_BITS_MASK  0x3FFF /* Mask bits, indicate the bits in the data that are Dont-Care */
2788*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MASK_BITS_SHIFT 15
2789*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_RESERVED1_MASK  0x7
2790*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_RESERVED1_SHIFT 29
2791*14b24e2bSVaishali Kulkarni };
2792*14b24e2bSVaishali Kulkarni 
2793*14b24e2bSVaishali Kulkarni 
2794*14b24e2bSVaishali Kulkarni /*
2795*14b24e2bSVaishali Kulkarni  * GFT CAM line struct (for driversim use)
2796*14b24e2bSVaishali Kulkarni  */
2797*14b24e2bSVaishali Kulkarni struct gft_cam_line_mapped
2798*14b24e2bSVaishali Kulkarni {
2799*14b24e2bSVaishali Kulkarni 	__le32 camline;
2800*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_VALID_MASK                     0x1 /* Indication if the line is valid. */
2801*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_VALID_SHIFT                    0
2802*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_IP_VERSION_MASK                0x1 /* use enum gft_profile_ip_version (use enum gft_profile_ip_version) */
2803*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_IP_VERSION_SHIFT               1
2804*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_MASK         0x1 /* use enum gft_profile_ip_version (use enum gft_profile_ip_version) */
2805*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_SHIFT        2
2806*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_MASK       0xF /* use enum gft_profile_upper_protocol_type (use enum gft_profile_upper_protocol_type) */
2807*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_SHIFT      3
2808*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_MASK               0xF /* use enum gft_profile_tunnel_type (use enum gft_profile_tunnel_type) */
2809*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_SHIFT              7
2810*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_PF_ID_MASK                     0xF
2811*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_PF_ID_SHIFT                    11
2812*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_IP_VERSION_MASK_MASK           0x1 /* use enum gft_profile_ip_version (use enum gft_profile_ip_version) */
2813*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_IP_VERSION_MASK_SHIFT          15
2814*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_MASK_MASK    0x1 /* use enum gft_profile_ip_version (use enum gft_profile_ip_version) */
2815*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_MASK_SHIFT   16
2816*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_MASK_MASK  0xF /* use enum gft_profile_upper_protocol_type (use enum gft_profile_upper_protocol_type) */
2817*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_MASK_SHIFT 17
2818*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_MASK_MASK          0xF /* use enum gft_profile_tunnel_type (use enum gft_profile_tunnel_type) */
2819*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_MASK_SHIFT         21
2820*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_PF_ID_MASK_MASK                0xF
2821*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_PF_ID_MASK_SHIFT               25
2822*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_RESERVED1_MASK                 0x7
2823*14b24e2bSVaishali Kulkarni #define GFT_CAM_LINE_MAPPED_RESERVED1_SHIFT                29
2824*14b24e2bSVaishali Kulkarni };
2825*14b24e2bSVaishali Kulkarni 
2826*14b24e2bSVaishali Kulkarni 
2827*14b24e2bSVaishali Kulkarni union gft_cam_line_union
2828*14b24e2bSVaishali Kulkarni {
2829*14b24e2bSVaishali Kulkarni 	struct gft_cam_line cam_line;
2830*14b24e2bSVaishali Kulkarni 	struct gft_cam_line_mapped cam_line_mapped;
2831*14b24e2bSVaishali Kulkarni };
2832*14b24e2bSVaishali Kulkarni 
2833*14b24e2bSVaishali Kulkarni 
2834*14b24e2bSVaishali Kulkarni /*
2835*14b24e2bSVaishali Kulkarni  * Used in gft_profile_key: Indication for ip version
2836*14b24e2bSVaishali Kulkarni  */
2837*14b24e2bSVaishali Kulkarni enum gft_profile_ip_version
2838*14b24e2bSVaishali Kulkarni {
2839*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_IPV4=0,
2840*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_IPV6=1,
2841*14b24e2bSVaishali Kulkarni 	MAX_GFT_PROFILE_IP_VERSION
2842*14b24e2bSVaishali Kulkarni };
2843*14b24e2bSVaishali Kulkarni 
2844*14b24e2bSVaishali Kulkarni 
2845*14b24e2bSVaishali Kulkarni /*
2846*14b24e2bSVaishali Kulkarni  * Profile key stucr fot GFT logic in Prs
2847*14b24e2bSVaishali Kulkarni  */
2848*14b24e2bSVaishali Kulkarni struct gft_profile_key
2849*14b24e2bSVaishali Kulkarni {
2850*14b24e2bSVaishali Kulkarni 	__le16 profile_key;
2851*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_IP_VERSION_MASK           0x1 /* use enum gft_profile_ip_version (use enum gft_profile_ip_version) */
2852*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_IP_VERSION_SHIFT          0
2853*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_TUNNEL_IP_VERSION_MASK    0x1 /* use enum gft_profile_ip_version (use enum gft_profile_ip_version) */
2854*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_TUNNEL_IP_VERSION_SHIFT   1
2855*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_UPPER_PROTOCOL_TYPE_MASK  0xF /* use enum gft_profile_upper_protocol_type (use enum gft_profile_upper_protocol_type) */
2856*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_UPPER_PROTOCOL_TYPE_SHIFT 2
2857*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_TUNNEL_TYPE_MASK          0xF /* use enum gft_profile_tunnel_type (use enum gft_profile_tunnel_type) */
2858*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_TUNNEL_TYPE_SHIFT         6
2859*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_PF_ID_MASK                0xF
2860*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_PF_ID_SHIFT               10
2861*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_RESERVED0_MASK            0x3
2862*14b24e2bSVaishali Kulkarni #define GFT_PROFILE_KEY_RESERVED0_SHIFT           14
2863*14b24e2bSVaishali Kulkarni };
2864*14b24e2bSVaishali Kulkarni 
2865*14b24e2bSVaishali Kulkarni 
2866*14b24e2bSVaishali Kulkarni /*
2867*14b24e2bSVaishali Kulkarni  * Used in gft_profile_key: Indication for tunnel type
2868*14b24e2bSVaishali Kulkarni  */
2869*14b24e2bSVaishali Kulkarni enum gft_profile_tunnel_type
2870*14b24e2bSVaishali Kulkarni {
2871*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_NO_TUNNEL=0,
2872*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_VXLAN_TUNNEL=1,
2873*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_GRE_MAC_OR_NVGRE_TUNNEL=2,
2874*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_GRE_IP_TUNNEL=3,
2875*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_GENEVE_MAC_TUNNEL=4,
2876*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_GENEVE_IP_TUNNEL=5,
2877*14b24e2bSVaishali Kulkarni 	MAX_GFT_PROFILE_TUNNEL_TYPE
2878*14b24e2bSVaishali Kulkarni };
2879*14b24e2bSVaishali Kulkarni 
2880*14b24e2bSVaishali Kulkarni 
2881*14b24e2bSVaishali Kulkarni /*
2882*14b24e2bSVaishali Kulkarni  * Used in gft_profile_key: Indication for protocol type
2883*14b24e2bSVaishali Kulkarni  */
2884*14b24e2bSVaishali Kulkarni enum gft_profile_upper_protocol_type
2885*14b24e2bSVaishali Kulkarni {
2886*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_ROCE_PROTOCOL=0,
2887*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_RROCE_PROTOCOL=1,
2888*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_FCOE_PROTOCOL=2,
2889*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_ICMP_PROTOCOL=3,
2890*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_ARP_PROTOCOL=4,
2891*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_USER_TCP_SRC_PORT_1_INNER=5,
2892*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_USER_TCP_DST_PORT_1_INNER=6,
2893*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_TCP_PROTOCOL=7,
2894*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_USER_UDP_DST_PORT_1_INNER=8,
2895*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_USER_UDP_DST_PORT_2_OUTER=9,
2896*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_UDP_PROTOCOL=10,
2897*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_USER_IP_1_INNER=11,
2898*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_USER_IP_2_OUTER=12,
2899*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_USER_ETH_1_INNER=13,
2900*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_USER_ETH_2_OUTER=14,
2901*14b24e2bSVaishali Kulkarni 	GFT_PROFILE_RAW=15,
2902*14b24e2bSVaishali Kulkarni 	MAX_GFT_PROFILE_UPPER_PROTOCOL_TYPE
2903*14b24e2bSVaishali Kulkarni };
2904*14b24e2bSVaishali Kulkarni 
2905*14b24e2bSVaishali Kulkarni 
2906*14b24e2bSVaishali Kulkarni /*
2907*14b24e2bSVaishali Kulkarni  * GFT RAM line struct
2908*14b24e2bSVaishali Kulkarni  */
2909*14b24e2bSVaishali Kulkarni struct gft_ram_line
2910*14b24e2bSVaishali Kulkarni {
2911*14b24e2bSVaishali Kulkarni 	__le32 lo;
2912*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_VLAN_SELECT_MASK              0x3 /*  (use enum gft_vlan_select) */
2913*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_VLAN_SELECT_SHIFT             0
2914*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_ENTROPHY_MASK          0x1
2915*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_ENTROPHY_SHIFT         2
2916*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_TTL_EQUAL_ONE_MASK     0x1
2917*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_TTL_EQUAL_ONE_SHIFT    3
2918*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_TTL_MASK               0x1
2919*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_TTL_SHIFT              4
2920*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_ETHERTYPE_MASK         0x1
2921*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_ETHERTYPE_SHIFT        5
2922*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_DST_PORT_MASK          0x1
2923*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_DST_PORT_SHIFT         6
2924*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_SRC_PORT_MASK          0x1
2925*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_SRC_PORT_SHIFT         7
2926*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_DSCP_MASK              0x1
2927*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_DSCP_SHIFT             8
2928*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_OVER_IP_PROTOCOL_MASK  0x1
2929*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_OVER_IP_PROTOCOL_SHIFT 9
2930*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_DST_IP_MASK            0x1
2931*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_DST_IP_SHIFT           10
2932*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_SRC_IP_MASK            0x1
2933*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_SRC_IP_SHIFT           11
2934*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_PRIORITY_MASK          0x1
2935*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_PRIORITY_SHIFT         12
2936*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_PROVIDER_VLAN_MASK     0x1
2937*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_PROVIDER_VLAN_SHIFT    13
2938*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_VLAN_MASK              0x1
2939*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_VLAN_SHIFT             14
2940*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_DST_MAC_MASK           0x1
2941*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_DST_MAC_SHIFT          15
2942*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_SRC_MAC_MASK           0x1
2943*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TUNNEL_SRC_MAC_SHIFT          16
2944*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TTL_EQUAL_ONE_MASK            0x1
2945*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TTL_EQUAL_ONE_SHIFT           17
2946*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TTL_MASK                      0x1
2947*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TTL_SHIFT                     18
2948*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_ETHERTYPE_MASK                0x1
2949*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_ETHERTYPE_SHIFT               19
2950*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_RESERVED0_MASK                0x1
2951*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_RESERVED0_SHIFT               20
2952*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_FIN_MASK             0x1
2953*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_FIN_SHIFT            21
2954*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_SYN_MASK             0x1
2955*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_SYN_SHIFT            22
2956*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_RST_MASK             0x1
2957*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_RST_SHIFT            23
2958*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_PSH_MASK             0x1
2959*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_PSH_SHIFT            24
2960*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_ACK_MASK             0x1
2961*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_ACK_SHIFT            25
2962*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_URG_MASK             0x1
2963*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_URG_SHIFT            26
2964*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_ECE_MASK             0x1
2965*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_ECE_SHIFT            27
2966*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_CWR_MASK             0x1
2967*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_CWR_SHIFT            28
2968*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_NS_MASK              0x1
2969*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TCP_FLAG_NS_SHIFT             29
2970*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_DST_PORT_MASK                 0x1
2971*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_DST_PORT_SHIFT                30
2972*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_SRC_PORT_MASK                 0x1
2973*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_SRC_PORT_SHIFT                31
2974*14b24e2bSVaishali Kulkarni 	__le32 hi;
2975*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_DSCP_MASK                     0x1
2976*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_DSCP_SHIFT                    0
2977*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_OVER_IP_PROTOCOL_MASK         0x1
2978*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_OVER_IP_PROTOCOL_SHIFT        1
2979*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_DST_IP_MASK                   0x1
2980*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_DST_IP_SHIFT                  2
2981*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_SRC_IP_MASK                   0x1
2982*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_SRC_IP_SHIFT                  3
2983*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_PRIORITY_MASK                 0x1
2984*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_PRIORITY_SHIFT                4
2985*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_PROVIDER_VLAN_MASK            0x1
2986*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_PROVIDER_VLAN_SHIFT           5
2987*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_VLAN_MASK                     0x1
2988*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_VLAN_SHIFT                    6
2989*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_DST_MAC_MASK                  0x1
2990*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_DST_MAC_SHIFT                 7
2991*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_SRC_MAC_MASK                  0x1
2992*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_SRC_MAC_SHIFT                 8
2993*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TENANT_ID_MASK                0x1
2994*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_TENANT_ID_SHIFT               9
2995*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_RESERVED1_MASK                0x3FFFFF
2996*14b24e2bSVaishali Kulkarni #define GFT_RAM_LINE_RESERVED1_SHIFT               10
2997*14b24e2bSVaishali Kulkarni };
2998*14b24e2bSVaishali Kulkarni 
2999*14b24e2bSVaishali Kulkarni 
3000*14b24e2bSVaishali Kulkarni /*
3001*14b24e2bSVaishali Kulkarni  * Used in the first 2 bits for gft_ram_line: Indication for vlan mask
3002*14b24e2bSVaishali Kulkarni  */
3003*14b24e2bSVaishali Kulkarni enum gft_vlan_select
3004*14b24e2bSVaishali Kulkarni {
3005*14b24e2bSVaishali Kulkarni 	INNER_PROVIDER_VLAN=0,
3006*14b24e2bSVaishali Kulkarni 	INNER_VLAN=1,
3007*14b24e2bSVaishali Kulkarni 	OUTER_PROVIDER_VLAN=2,
3008*14b24e2bSVaishali Kulkarni 	OUTER_VLAN=3,
3009*14b24e2bSVaishali Kulkarni 	MAX_GFT_VLAN_SELECT
3010*14b24e2bSVaishali Kulkarni };
3011*14b24e2bSVaishali Kulkarni 
3012*14b24e2bSVaishali Kulkarni #endif /* __ECORE_HSI_ETH__ */
3013