xref: /freebsd/sys/dev/qlnx/qlnxe/ecore_hsi_eth.h (revision 95ee2897)
111e25f0dSDavid C Somayajulu /*
211e25f0dSDavid C Somayajulu  * Copyright (c) 2017-2018 Cavium, Inc.
311e25f0dSDavid C Somayajulu  * All rights reserved.
411e25f0dSDavid C Somayajulu  *
511e25f0dSDavid C Somayajulu  *  Redistribution and use in source and binary forms, with or without
611e25f0dSDavid C Somayajulu  *  modification, are permitted provided that the following conditions
711e25f0dSDavid C Somayajulu  *  are met:
811e25f0dSDavid C Somayajulu  *
911e25f0dSDavid C Somayajulu  *  1. Redistributions of source code must retain the above copyright
1011e25f0dSDavid C Somayajulu  *     notice, this list of conditions and the following disclaimer.
1111e25f0dSDavid C Somayajulu  *  2. Redistributions in binary form must reproduce the above copyright
1211e25f0dSDavid C Somayajulu  *     notice, this list of conditions and the following disclaimer in the
1311e25f0dSDavid C Somayajulu  *     documentation and/or other materials provided with the distribution.
1411e25f0dSDavid C Somayajulu  *
1511e25f0dSDavid C Somayajulu  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1611e25f0dSDavid C Somayajulu  *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1711e25f0dSDavid C Somayajulu  *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1811e25f0dSDavid C Somayajulu  *  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
1911e25f0dSDavid C Somayajulu  *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2011e25f0dSDavid C Somayajulu  *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2111e25f0dSDavid C Somayajulu  *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2211e25f0dSDavid C Somayajulu  *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2311e25f0dSDavid C Somayajulu  *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2411e25f0dSDavid C Somayajulu  *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2511e25f0dSDavid C Somayajulu  *  POSSIBILITY OF SUCH DAMAGE.
2611e25f0dSDavid C Somayajulu  *
2711e25f0dSDavid C Somayajulu  */
2811e25f0dSDavid C Somayajulu 
2911e25f0dSDavid C Somayajulu #ifndef __ECORE_HSI_ETH__
3011e25f0dSDavid C Somayajulu #define __ECORE_HSI_ETH__
3111e25f0dSDavid C Somayajulu /************************************************************************/
3211e25f0dSDavid C Somayajulu /* Add include to common eth target for both eCore and protocol driver */
3311e25f0dSDavid C Somayajulu /************************************************************************/
3411e25f0dSDavid C Somayajulu #include "eth_common.h"
3511e25f0dSDavid C Somayajulu 
3611e25f0dSDavid C Somayajulu /*
3711e25f0dSDavid C Somayajulu  * The eth storm context for the Tstorm
3811e25f0dSDavid C Somayajulu  */
3911e25f0dSDavid C Somayajulu struct tstorm_eth_conn_st_ctx
4011e25f0dSDavid C Somayajulu {
4111e25f0dSDavid C Somayajulu 	__le32 reserved[4];
4211e25f0dSDavid C Somayajulu };
4311e25f0dSDavid C Somayajulu 
4411e25f0dSDavid C Somayajulu /*
4511e25f0dSDavid C Somayajulu  * The eth storm context for the Pstorm
4611e25f0dSDavid C Somayajulu  */
4711e25f0dSDavid C Somayajulu struct pstorm_eth_conn_st_ctx
4811e25f0dSDavid C Somayajulu {
4911e25f0dSDavid C Somayajulu 	__le32 reserved[8];
5011e25f0dSDavid C Somayajulu };
5111e25f0dSDavid C Somayajulu 
5211e25f0dSDavid C Somayajulu /*
5311e25f0dSDavid C Somayajulu  * The eth storm context for the Xstorm
5411e25f0dSDavid C Somayajulu  */
5511e25f0dSDavid C Somayajulu struct xstorm_eth_conn_st_ctx
5611e25f0dSDavid C Somayajulu {
5711e25f0dSDavid C Somayajulu 	__le32 reserved[60];
5811e25f0dSDavid C Somayajulu };
5911e25f0dSDavid C Somayajulu 
6011e25f0dSDavid C Somayajulu struct e4_xstorm_eth_conn_ag_ctx
6111e25f0dSDavid C Somayajulu {
6211e25f0dSDavid C Somayajulu 	u8 reserved0 /* cdu_validation */;
63217ec208SDavid C Somayajulu 	u8 state /* state */;
6411e25f0dSDavid C Somayajulu 	u8 flags0;
6511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
6611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT           0
6711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED1_MASK               0x1 /* exist_in_qm1 */
6811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED1_SHIFT              1
6911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED2_MASK               0x1 /* exist_in_qm2 */
7011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED2_SHIFT              2
7111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
7211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_SHIFT           3
7311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED3_MASK               0x1 /* bit4 */
7411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED3_SHIFT              4
7511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED4_MASK               0x1 /* cf_array_active */
7611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED4_SHIFT              5
7711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED5_MASK               0x1 /* bit6 */
7811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED5_SHIFT              6
7911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED6_MASK               0x1 /* bit7 */
8011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED6_SHIFT              7
8111e25f0dSDavid C Somayajulu 	u8 flags1;
8211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED7_MASK               0x1 /* bit8 */
8311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED7_SHIFT              0
8411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED8_MASK               0x1 /* bit9 */
8511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED8_SHIFT              1
8611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED9_MASK               0x1 /* bit10 */
8711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED9_SHIFT              2
8811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_BIT11_MASK                   0x1 /* bit11 */
8911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_BIT11_SHIFT                  3
909efd0ba7SDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_E5_RESERVED2_MASK            0x1 /* bit12 */
919efd0ba7SDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_E5_RESERVED2_SHIFT           4
929efd0ba7SDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_E5_RESERVED3_MASK            0x1 /* bit13 */
939efd0ba7SDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_E5_RESERVED3_SHIFT           5
9411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
9511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT         6
9611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
9711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT           7
9811e25f0dSDavid C Somayajulu 	u8 flags2;
9911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF0_MASK                     0x3 /* timer0cf */
10011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF0_SHIFT                    0
10111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF1_MASK                     0x3 /* timer1cf */
10211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF1_SHIFT                    2
10311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
10411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF2_SHIFT                    4
10511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
10611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF3_SHIFT                    6
10711e25f0dSDavid C Somayajulu 	u8 flags3;
10811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF4_MASK                     0x3 /* cf4 */
10911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF4_SHIFT                    0
11011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF5_MASK                     0x3 /* cf5 */
11111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF5_SHIFT                    2
11211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF6_MASK                     0x3 /* cf6 */
11311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF6_SHIFT                    4
11411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF7_MASK                     0x3 /* cf7 */
11511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF7_SHIFT                    6
11611e25f0dSDavid C Somayajulu 	u8 flags4;
11711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF8_MASK                     0x3 /* cf8 */
11811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF8_SHIFT                    0
11911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF9_MASK                     0x3 /* cf9 */
12011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF9_SHIFT                    2
12111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF10_MASK                    0x3 /* cf10 */
12211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF10_SHIFT                   4
12311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF11_MASK                    0x3 /* cf11 */
12411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF11_SHIFT                   6
12511e25f0dSDavid C Somayajulu 	u8 flags5;
12611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF12_MASK                    0x3 /* cf12 */
12711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF12_SHIFT                   0
12811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF13_MASK                    0x3 /* cf13 */
12911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF13_SHIFT                   2
13011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF14_MASK                    0x3 /* cf14 */
13111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF14_SHIFT                   4
13211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF15_MASK                    0x3 /* cf15 */
13311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF15_SHIFT                   6
13411e25f0dSDavid C Somayajulu 	u8 flags6;
13511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
13611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT       0
13711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
13811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT       2
13911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_MASK                   0x3 /* cf18 */
14011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_SHIFT                  4
14111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_MASK            0x3 /* cf19 */
14211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_SHIFT           6
14311e25f0dSDavid C Somayajulu 	u8 flags7;
14411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_MASK                0x3 /* cf20 */
14511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_SHIFT               0
14611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED10_MASK              0x3 /* cf21 */
14711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED10_SHIFT             2
14811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_MASK               0x3 /* cf22 */
14911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_SHIFT              4
15011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF0EN_MASK                   0x1 /* cf0en */
15111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT                  6
15211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF1EN_MASK                   0x1 /* cf1en */
15311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT                  7
15411e25f0dSDavid C Somayajulu 	u8 flags8;
15511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
15611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                  0
15711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
15811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT                  1
15911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF4EN_MASK                   0x1 /* cf4en */
16011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT                  2
16111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF5EN_MASK                   0x1 /* cf5en */
16211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT                  3
16311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF6EN_MASK                   0x1 /* cf6en */
16411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT                  4
16511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF7EN_MASK                   0x1 /* cf7en */
16611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT                  5
16711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF8EN_MASK                   0x1 /* cf8en */
16811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT                  6
16911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF9EN_MASK                   0x1 /* cf9en */
17011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT                  7
17111e25f0dSDavid C Somayajulu 	u8 flags9;
17211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF10EN_MASK                  0x1 /* cf10en */
17311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT                 0
17411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF11EN_MASK                  0x1 /* cf11en */
17511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF11EN_SHIFT                 1
17611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF12EN_MASK                  0x1 /* cf12en */
17711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF12EN_SHIFT                 2
17811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF13EN_MASK                  0x1 /* cf13en */
17911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF13EN_SHIFT                 3
18011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF14EN_MASK                  0x1 /* cf14en */
18111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF14EN_SHIFT                 4
18211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF15EN_MASK                  0x1 /* cf15en */
18311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_CF15EN_SHIFT                 5
18411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
18511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT    6
18611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
18711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT    7
18811e25f0dSDavid C Somayajulu 	u8 flags10;
18911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_MASK                0x1 /* cf18en */
19011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_SHIFT               0
19111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
19211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT        1
19311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
19411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT            2
19511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED11_MASK              0x1 /* cf21en */
19611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED11_SHIFT             3
19711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_MASK            0x1 /* cf22en */
19811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_SHIFT           4
19911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
20011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 5
20111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED12_MASK              0x1 /* rule0en */
20211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED12_SHIFT             6
20311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED13_MASK              0x1 /* rule1en */
20411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED13_SHIFT             7
20511e25f0dSDavid C Somayajulu 	u8 flags11;
20611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED14_MASK              0x1 /* rule2en */
20711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED14_SHIFT             0
20811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED15_MASK              0x1 /* rule3en */
20911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RESERVED15_SHIFT             1
21011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
21111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT         2
21211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
21311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT                3
21411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
21511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT                4
21611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
21711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT                5
21811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_MASK            0x1 /* rule8en */
21911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_SHIFT           6
22011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE9EN_MASK                 0x1 /* rule9en */
22111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE9EN_SHIFT                7
22211e25f0dSDavid C Somayajulu 	u8 flags12;
22311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE10EN_MASK                0x1 /* rule10en */
22411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE10EN_SHIFT               0
22511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE11EN_MASK                0x1 /* rule11en */
22611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE11EN_SHIFT               1
22711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_MASK            0x1 /* rule12en */
22811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_SHIFT           2
22911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_MASK            0x1 /* rule13en */
23011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_SHIFT           3
23111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE14EN_MASK                0x1 /* rule14en */
23211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE14EN_SHIFT               4
23311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE15EN_MASK                0x1 /* rule15en */
23411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE15EN_SHIFT               5
23511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE16EN_MASK                0x1 /* rule16en */
23611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE16EN_SHIFT               6
23711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE17EN_MASK                0x1 /* rule17en */
23811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE17EN_SHIFT               7
23911e25f0dSDavid C Somayajulu 	u8 flags13;
24011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE18EN_MASK                0x1 /* rule18en */
24111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE18EN_SHIFT               0
24211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE19EN_MASK                0x1 /* rule19en */
24311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_RULE19EN_SHIFT               1
24411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_MASK            0x1 /* rule20en */
24511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_SHIFT           2
24611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_MASK            0x1 /* rule21en */
24711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_SHIFT           3
24811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_MASK            0x1 /* rule22en */
24911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_SHIFT           4
25011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_MASK            0x1 /* rule23en */
25111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_SHIFT           5
25211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_MASK            0x1 /* rule24en */
25311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_SHIFT           6
25411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_MASK            0x1 /* rule25en */
25511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_SHIFT           7
25611e25f0dSDavid C Somayajulu 	u8 flags14;
25711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
25811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT       0
25911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
26011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT     1
26111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
26211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT   2
26311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
26411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT   3
26511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
26611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT         4
26711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
26811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT       5
26911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_MASK              0x3 /* cf23 */
27011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_SHIFT             6
27111e25f0dSDavid C Somayajulu 	u8 edpm_event_id /* byte2 */;
27211e25f0dSDavid C Somayajulu 	__le16 physical_q0 /* physical_q0 */;
27311e25f0dSDavid C Somayajulu 	__le16 e5_reserved1 /* physical_q1 */;
27411e25f0dSDavid C Somayajulu 	__le16 edpm_num_bds /* physical_q2 */;
27511e25f0dSDavid C Somayajulu 	__le16 tx_bd_cons /* word3 */;
27611e25f0dSDavid C Somayajulu 	__le16 tx_bd_prod /* word4 */;
27711e25f0dSDavid C Somayajulu 	__le16 tx_class /* word5 */;
27811e25f0dSDavid C Somayajulu 	__le16 conn_dpi /* conn_dpi */;
27911e25f0dSDavid C Somayajulu 	u8 byte3 /* byte3 */;
28011e25f0dSDavid C Somayajulu 	u8 byte4 /* byte4 */;
28111e25f0dSDavid C Somayajulu 	u8 byte5 /* byte5 */;
28211e25f0dSDavid C Somayajulu 	u8 byte6 /* byte6 */;
28311e25f0dSDavid C Somayajulu 	__le32 reg0 /* reg0 */;
28411e25f0dSDavid C Somayajulu 	__le32 reg1 /* reg1 */;
28511e25f0dSDavid C Somayajulu 	__le32 reg2 /* reg2 */;
28611e25f0dSDavid C Somayajulu 	__le32 reg3 /* reg3 */;
28711e25f0dSDavid C Somayajulu 	__le32 reg4 /* reg4 */;
28811e25f0dSDavid C Somayajulu 	__le32 reg5 /* cf_array0 */;
28911e25f0dSDavid C Somayajulu 	__le32 reg6 /* cf_array1 */;
29011e25f0dSDavid C Somayajulu 	__le16 word7 /* word7 */;
29111e25f0dSDavid C Somayajulu 	__le16 word8 /* word8 */;
29211e25f0dSDavid C Somayajulu 	__le16 word9 /* word9 */;
29311e25f0dSDavid C Somayajulu 	__le16 word10 /* word10 */;
29411e25f0dSDavid C Somayajulu 	__le32 reg7 /* reg7 */;
29511e25f0dSDavid C Somayajulu 	__le32 reg8 /* reg8 */;
29611e25f0dSDavid C Somayajulu 	__le32 reg9 /* reg9 */;
29711e25f0dSDavid C Somayajulu 	u8 byte7 /* byte7 */;
29811e25f0dSDavid C Somayajulu 	u8 byte8 /* byte8 */;
29911e25f0dSDavid C Somayajulu 	u8 byte9 /* byte9 */;
30011e25f0dSDavid C Somayajulu 	u8 byte10 /* byte10 */;
30111e25f0dSDavid C Somayajulu 	u8 byte11 /* byte11 */;
30211e25f0dSDavid C Somayajulu 	u8 byte12 /* byte12 */;
30311e25f0dSDavid C Somayajulu 	u8 byte13 /* byte13 */;
30411e25f0dSDavid C Somayajulu 	u8 byte14 /* byte14 */;
30511e25f0dSDavid C Somayajulu 	u8 byte15 /* byte15 */;
30611e25f0dSDavid C Somayajulu 	u8 e5_reserved /* e5_reserved */;
30711e25f0dSDavid C Somayajulu 	__le16 word11 /* word11 */;
30811e25f0dSDavid C Somayajulu 	__le32 reg10 /* reg10 */;
30911e25f0dSDavid C Somayajulu 	__le32 reg11 /* reg11 */;
31011e25f0dSDavid C Somayajulu 	__le32 reg12 /* reg12 */;
31111e25f0dSDavid C Somayajulu 	__le32 reg13 /* reg13 */;
31211e25f0dSDavid C Somayajulu 	__le32 reg14 /* reg14 */;
31311e25f0dSDavid C Somayajulu 	__le32 reg15 /* reg15 */;
31411e25f0dSDavid C Somayajulu 	__le32 reg16 /* reg16 */;
31511e25f0dSDavid C Somayajulu 	__le32 reg17 /* reg17 */;
31611e25f0dSDavid C Somayajulu 	__le32 reg18 /* reg18 */;
31711e25f0dSDavid C Somayajulu 	__le32 reg19 /* reg19 */;
31811e25f0dSDavid C Somayajulu 	__le16 word12 /* word12 */;
31911e25f0dSDavid C Somayajulu 	__le16 word13 /* word13 */;
32011e25f0dSDavid C Somayajulu 	__le16 word14 /* word14 */;
32111e25f0dSDavid C Somayajulu 	__le16 word15 /* word15 */;
32211e25f0dSDavid C Somayajulu };
32311e25f0dSDavid C Somayajulu 
32411e25f0dSDavid C Somayajulu /*
32511e25f0dSDavid C Somayajulu  * The eth storm context for the Ystorm
32611e25f0dSDavid C Somayajulu  */
32711e25f0dSDavid C Somayajulu struct ystorm_eth_conn_st_ctx
32811e25f0dSDavid C Somayajulu {
32911e25f0dSDavid C Somayajulu 	__le32 reserved[8];
33011e25f0dSDavid C Somayajulu };
33111e25f0dSDavid C Somayajulu 
33211e25f0dSDavid C Somayajulu struct e4_ystorm_eth_conn_ag_ctx
33311e25f0dSDavid C Somayajulu {
33411e25f0dSDavid C Somayajulu 	u8 byte0 /* cdu_validation */;
33511e25f0dSDavid C Somayajulu 	u8 state /* state */;
33611e25f0dSDavid C Somayajulu 	u8 flags0;
33711e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_BIT0_MASK                  0x1 /* exist_in_qm0 */
33811e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT                 0
33911e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_BIT1_MASK                  0x1 /* exist_in_qm1 */
34011e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT                 1
34111e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK     0x3 /* cf0 */
34211e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT    2
34311e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_MASK      0x3 /* cf1 */
34411e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_SHIFT     4
34511e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_CF2_MASK                   0x3 /* cf2 */
34611e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_CF2_SHIFT                  6
34711e25f0dSDavid C Somayajulu 	u8 flags1;
34811e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK  0x1 /* cf0en */
34911e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 0
35011e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_MASK   0x1 /* cf1en */
35111e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_SHIFT  1
35211e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_CF2EN_MASK                 0x1 /* cf2en */
35311e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                2
35411e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK               0x1 /* rule0en */
35511e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT              3
35611e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK               0x1 /* rule1en */
35711e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT              4
35811e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK               0x1 /* rule2en */
35911e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT              5
36011e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK               0x1 /* rule3en */
36111e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT              6
36211e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK               0x1 /* rule4en */
36311e25f0dSDavid C Somayajulu #define E4_YSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT              7
36411e25f0dSDavid C Somayajulu 	u8 tx_q0_int_coallecing_timeset /* byte2 */;
36511e25f0dSDavid C Somayajulu 	u8 byte3 /* byte3 */;
36611e25f0dSDavid C Somayajulu 	__le16 word0 /* word0 */;
36711e25f0dSDavid C Somayajulu 	__le32 terminate_spqe /* reg0 */;
36811e25f0dSDavid C Somayajulu 	__le32 reg1 /* reg1 */;
36911e25f0dSDavid C Somayajulu 	__le16 tx_bd_cons_upd /* word1 */;
37011e25f0dSDavid C Somayajulu 	__le16 word2 /* word2 */;
37111e25f0dSDavid C Somayajulu 	__le16 word3 /* word3 */;
37211e25f0dSDavid C Somayajulu 	__le16 word4 /* word4 */;
37311e25f0dSDavid C Somayajulu 	__le32 reg2 /* reg2 */;
37411e25f0dSDavid C Somayajulu 	__le32 reg3 /* reg3 */;
37511e25f0dSDavid C Somayajulu };
37611e25f0dSDavid C Somayajulu 
37711e25f0dSDavid C Somayajulu struct e4_tstorm_eth_conn_ag_ctx
37811e25f0dSDavid C Somayajulu {
37911e25f0dSDavid C Somayajulu 	u8 byte0 /* cdu_validation */;
38011e25f0dSDavid C Somayajulu 	u8 byte1 /* state */;
38111e25f0dSDavid C Somayajulu 	u8 flags0;
38211e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT0_MASK      0x1 /* exist_in_qm0 */
38311e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT     0
38411e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT1_MASK      0x1 /* exist_in_qm1 */
38511e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT     1
38611e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT2_MASK      0x1 /* bit2 */
38711e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT2_SHIFT     2
38811e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT3_MASK      0x1 /* bit3 */
38911e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT3_SHIFT     3
39011e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT4_MASK      0x1 /* bit4 */
39111e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT4_SHIFT     4
39211e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT5_MASK      0x1 /* bit5 */
39311e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_BIT5_SHIFT     5
39411e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF0_MASK       0x3 /* timer0cf */
39511e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF0_SHIFT      6
39611e25f0dSDavid C Somayajulu 	u8 flags1;
39711e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF1_MASK       0x3 /* timer1cf */
39811e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF1_SHIFT      0
39911e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF2_MASK       0x3 /* timer2cf */
40011e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF2_SHIFT      2
40111e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF3_MASK       0x3 /* timer_stop_all */
40211e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF3_SHIFT      4
40311e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF4_MASK       0x3 /* cf4 */
40411e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF4_SHIFT      6
40511e25f0dSDavid C Somayajulu 	u8 flags2;
40611e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF5_MASK       0x3 /* cf5 */
40711e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF5_SHIFT      0
40811e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF6_MASK       0x3 /* cf6 */
40911e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF6_SHIFT      2
41011e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF7_MASK       0x3 /* cf7 */
41111e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF7_SHIFT      4
41211e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF8_MASK       0x3 /* cf8 */
41311e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF8_SHIFT      6
41411e25f0dSDavid C Somayajulu 	u8 flags3;
41511e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF9_MASK       0x3 /* cf9 */
41611e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF9_SHIFT      0
41711e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF10_MASK      0x3 /* cf10 */
41811e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF10_SHIFT     2
41911e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF0EN_MASK     0x1 /* cf0en */
42011e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT    4
42111e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF1EN_MASK     0x1 /* cf1en */
42211e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT    5
42311e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF2EN_MASK     0x1 /* cf2en */
42411e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT    6
42511e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF3EN_MASK     0x1 /* cf3en */
42611e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT    7
42711e25f0dSDavid C Somayajulu 	u8 flags4;
42811e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF4EN_MASK     0x1 /* cf4en */
42911e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT    0
43011e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF5EN_MASK     0x1 /* cf5en */
43111e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT    1
43211e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF6EN_MASK     0x1 /* cf6en */
43311e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT    2
43411e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF7EN_MASK     0x1 /* cf7en */
43511e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT    3
43611e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF8EN_MASK     0x1 /* cf8en */
43711e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT    4
43811e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF9EN_MASK     0x1 /* cf9en */
43911e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT    5
44011e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF10EN_MASK    0x1 /* cf10en */
44111e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT   6
44211e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK   0x1 /* rule0en */
44311e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT  7
44411e25f0dSDavid C Somayajulu 	u8 flags5;
44511e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK   0x1 /* rule1en */
44611e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT  0
44711e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK   0x1 /* rule2en */
44811e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT  1
44911e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK   0x1 /* rule3en */
45011e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT  2
45111e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK   0x1 /* rule4en */
45211e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT  3
45311e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK   0x1 /* rule5en */
45411e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT  4
45511e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_MASK  0x1 /* rule6en */
45611e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_SHIFT 5
45711e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK   0x1 /* rule7en */
45811e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT  6
45911e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE8EN_MASK   0x1 /* rule8en */
46011e25f0dSDavid C Somayajulu #define E4_TSTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT  7
46111e25f0dSDavid C Somayajulu 	__le32 reg0 /* reg0 */;
46211e25f0dSDavid C Somayajulu 	__le32 reg1 /* reg1 */;
46311e25f0dSDavid C Somayajulu 	__le32 reg2 /* reg2 */;
46411e25f0dSDavid C Somayajulu 	__le32 reg3 /* reg3 */;
46511e25f0dSDavid C Somayajulu 	__le32 reg4 /* reg4 */;
46611e25f0dSDavid C Somayajulu 	__le32 reg5 /* reg5 */;
46711e25f0dSDavid C Somayajulu 	__le32 reg6 /* reg6 */;
46811e25f0dSDavid C Somayajulu 	__le32 reg7 /* reg7 */;
46911e25f0dSDavid C Somayajulu 	__le32 reg8 /* reg8 */;
47011e25f0dSDavid C Somayajulu 	u8 byte2 /* byte2 */;
47111e25f0dSDavid C Somayajulu 	u8 byte3 /* byte3 */;
47211e25f0dSDavid C Somayajulu 	__le16 rx_bd_cons /* word0 */;
47311e25f0dSDavid C Somayajulu 	u8 byte4 /* byte4 */;
47411e25f0dSDavid C Somayajulu 	u8 byte5 /* byte5 */;
47511e25f0dSDavid C Somayajulu 	__le16 rx_bd_prod /* word1 */;
47611e25f0dSDavid C Somayajulu 	__le16 word2 /* conn_dpi */;
47711e25f0dSDavid C Somayajulu 	__le16 word3 /* word3 */;
47811e25f0dSDavid C Somayajulu 	__le32 reg9 /* reg9 */;
47911e25f0dSDavid C Somayajulu 	__le32 reg10 /* reg10 */;
48011e25f0dSDavid C Somayajulu };
48111e25f0dSDavid C Somayajulu 
48211e25f0dSDavid C Somayajulu struct e4_ustorm_eth_conn_ag_ctx
48311e25f0dSDavid C Somayajulu {
48411e25f0dSDavid C Somayajulu 	u8 byte0 /* cdu_validation */;
48511e25f0dSDavid C Somayajulu 	u8 byte1 /* state */;
48611e25f0dSDavid C Somayajulu 	u8 flags0;
48711e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_BIT0_MASK                    0x1 /* exist_in_qm0 */
48811e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_BIT0_SHIFT                   0
48911e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_BIT1_MASK                    0x1 /* exist_in_qm1 */
49011e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_BIT1_SHIFT                   1
49111e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_MASK     0x3 /* timer0cf */
49211e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_SHIFT    2
49311e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_MASK     0x3 /* timer1cf */
49411e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_SHIFT    4
49511e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
49611e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_CF2_SHIFT                    6
49711e25f0dSDavid C Somayajulu 	u8 flags1;
49811e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
49911e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_CF3_SHIFT                    0
50011e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_MASK               0x3 /* cf4 */
50111e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_SHIFT              2
50211e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_MASK               0x3 /* cf5 */
50311e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_SHIFT              4
50411e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK       0x3 /* cf6 */
50511e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT      6
50611e25f0dSDavid C Somayajulu 	u8 flags2;
50711e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_MASK  0x1 /* cf0en */
50811e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_SHIFT 0
50911e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_MASK  0x1 /* cf1en */
51011e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_SHIFT 1
51111e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
51211e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                  2
51311e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
51411e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT                  3
51511e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_MASK            0x1 /* cf4en */
51611e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_SHIFT           4
51711e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_MASK            0x1 /* cf5en */
51811e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_SHIFT           5
51911e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK    0x1 /* cf6en */
52011e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT   6
52111e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE0EN_MASK                 0x1 /* rule0en */
52211e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT                7
52311e25f0dSDavid C Somayajulu 	u8 flags3;
52411e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE1EN_MASK                 0x1 /* rule1en */
52511e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT                0
52611e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE2EN_MASK                 0x1 /* rule2en */
52711e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT                1
52811e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE3EN_MASK                 0x1 /* rule3en */
52911e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT                2
53011e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE4EN_MASK                 0x1 /* rule4en */
53111e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT                3
53211e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
53311e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT                4
53411e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
53511e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT                5
53611e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
53711e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT                6
53811e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE8EN_MASK                 0x1 /* rule8en */
53911e25f0dSDavid C Somayajulu #define E4_USTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT                7
54011e25f0dSDavid C Somayajulu 	u8 byte2 /* byte2 */;
54111e25f0dSDavid C Somayajulu 	u8 byte3 /* byte3 */;
54211e25f0dSDavid C Somayajulu 	__le16 word0 /* conn_dpi */;
54311e25f0dSDavid C Somayajulu 	__le16 tx_bd_cons /* word1 */;
54411e25f0dSDavid C Somayajulu 	__le32 reg0 /* reg0 */;
54511e25f0dSDavid C Somayajulu 	__le32 reg1 /* reg1 */;
54611e25f0dSDavid C Somayajulu 	__le32 reg2 /* reg2 */;
54711e25f0dSDavid C Somayajulu 	__le32 tx_int_coallecing_timeset /* reg3 */;
54811e25f0dSDavid C Somayajulu 	__le16 tx_drv_bd_cons /* word2 */;
54911e25f0dSDavid C Somayajulu 	__le16 rx_drv_cqe_cons /* word3 */;
55011e25f0dSDavid C Somayajulu };
55111e25f0dSDavid C Somayajulu 
55211e25f0dSDavid C Somayajulu /*
55311e25f0dSDavid C Somayajulu  * The eth storm context for the Ustorm
55411e25f0dSDavid C Somayajulu  */
55511e25f0dSDavid C Somayajulu struct ustorm_eth_conn_st_ctx
55611e25f0dSDavid C Somayajulu {
55711e25f0dSDavid C Somayajulu 	__le32 reserved[40];
55811e25f0dSDavid C Somayajulu };
55911e25f0dSDavid C Somayajulu 
56011e25f0dSDavid C Somayajulu /*
56111e25f0dSDavid C Somayajulu  * The eth storm context for the Mstorm
56211e25f0dSDavid C Somayajulu  */
56311e25f0dSDavid C Somayajulu struct mstorm_eth_conn_st_ctx
56411e25f0dSDavid C Somayajulu {
56511e25f0dSDavid C Somayajulu 	__le32 reserved[8];
56611e25f0dSDavid C Somayajulu };
56711e25f0dSDavid C Somayajulu 
56811e25f0dSDavid C Somayajulu /*
56911e25f0dSDavid C Somayajulu  * eth connection context
57011e25f0dSDavid C Somayajulu  */
5719efd0ba7SDavid C Somayajulu struct e4_eth_conn_context
57211e25f0dSDavid C Somayajulu {
57311e25f0dSDavid C Somayajulu 	struct tstorm_eth_conn_st_ctx tstorm_st_context /* tstorm storm context */;
57411e25f0dSDavid C Somayajulu 	struct regpair tstorm_st_padding[2] /* padding */;
57511e25f0dSDavid C Somayajulu 	struct pstorm_eth_conn_st_ctx pstorm_st_context /* pstorm storm context */;
57611e25f0dSDavid C Somayajulu 	struct xstorm_eth_conn_st_ctx xstorm_st_context /* xstorm storm context */;
57711e25f0dSDavid C Somayajulu 	struct e4_xstorm_eth_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
57811e25f0dSDavid C Somayajulu 	struct ystorm_eth_conn_st_ctx ystorm_st_context /* ystorm storm context */;
57911e25f0dSDavid C Somayajulu 	struct e4_ystorm_eth_conn_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
58011e25f0dSDavid C Somayajulu 	struct e4_tstorm_eth_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
58111e25f0dSDavid C Somayajulu 	struct e4_ustorm_eth_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
58211e25f0dSDavid C Somayajulu 	struct ustorm_eth_conn_st_ctx ustorm_st_context /* ustorm storm context */;
58311e25f0dSDavid C Somayajulu 	struct mstorm_eth_conn_st_ctx mstorm_st_context /* mstorm storm context */;
58411e25f0dSDavid C Somayajulu };
58511e25f0dSDavid C Somayajulu 
5869efd0ba7SDavid C Somayajulu struct e5_xstorm_eth_conn_ag_ctx
5879efd0ba7SDavid C Somayajulu {
5889efd0ba7SDavid C Somayajulu 	u8 reserved0 /* cdu_validation */;
5899efd0ba7SDavid C Somayajulu 	u8 state_and_core_id /* state_and_core_id */;
5909efd0ba7SDavid C Somayajulu 	u8 flags0;
5919efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK                   0x1 /* exist_in_qm0 */
5929efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT                  0
5939efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED1_MASK                      0x1 /* exist_in_qm1 */
5949efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED1_SHIFT                     1
5959efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED2_MASK                      0x1 /* exist_in_qm2 */
5969efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED2_SHIFT                     2
5979efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_MASK                   0x1 /* exist_in_qm3 */
5989efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM3_SHIFT                  3
5999efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED3_MASK                      0x1 /* bit4 */
6009efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED3_SHIFT                     4
6019efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED4_MASK                      0x1 /* cf_array_active */
6029efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED4_SHIFT                     5
6039efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED5_MASK                      0x1 /* bit6 */
6049efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED5_SHIFT                     6
6059efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED6_MASK                      0x1 /* bit7 */
6069efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED6_SHIFT                     7
6079efd0ba7SDavid C Somayajulu 	u8 flags1;
6089efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED7_MASK                      0x1 /* bit8 */
6099efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED7_SHIFT                     0
6109efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED8_MASK                      0x1 /* bit9 */
6119efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED8_SHIFT                     1
6129efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED9_MASK                      0x1 /* bit10 */
6139efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED9_SHIFT                     2
6149efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_BIT11_MASK                          0x1 /* bit11 */
6159efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_BIT11_SHIFT                         3
6169efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_COPY_CONDITION_LO_MASK         0x1 /* bit12 */
6179efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_COPY_CONDITION_LO_SHIFT        4
6189efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_COPY_CONDITION_HI_MASK         0x1 /* bit13 */
6199efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_COPY_CONDITION_HI_SHIFT        5
6209efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_MASK                 0x1 /* bit14 */
6219efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT                6
6229efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_MASK                   0x1 /* bit15 */
6239efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT                  7
6249efd0ba7SDavid C Somayajulu 	u8 flags2;
6259efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF0_MASK                            0x3 /* timer0cf */
6269efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF0_SHIFT                           0
6279efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF1_MASK                            0x3 /* timer1cf */
6289efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF1_SHIFT                           2
6299efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF2_MASK                            0x3 /* timer2cf */
6309efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF2_SHIFT                           4
6319efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF3_MASK                            0x3 /* timer_stop_all */
6329efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF3_SHIFT                           6
6339efd0ba7SDavid C Somayajulu 	u8 flags3;
6349efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF4_MASK                            0x3 /* cf4 */
6359efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF4_SHIFT                           0
6369efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF5_MASK                            0x3 /* cf5 */
6379efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF5_SHIFT                           2
6389efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF6_MASK                            0x3 /* cf6 */
6399efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF6_SHIFT                           4
6409efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF7_MASK                            0x3 /* cf7 */
6419efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF7_SHIFT                           6
6429efd0ba7SDavid C Somayajulu 	u8 flags4;
6439efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF8_MASK                            0x3 /* cf8 */
6449efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF8_SHIFT                           0
6459efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF9_MASK                            0x3 /* cf9 */
6469efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF9_SHIFT                           2
6479efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF10_MASK                           0x3 /* cf10 */
6489efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF10_SHIFT                          4
6499efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF11_MASK                           0x3 /* cf11 */
6509efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF11_SHIFT                          6
6519efd0ba7SDavid C Somayajulu 	u8 flags5;
6529efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF12_MASK                           0x3 /* cf12 */
6539efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF12_SHIFT                          0
6549efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF13_MASK                           0x3 /* cf13 */
6559efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF13_SHIFT                          2
6569efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF14_MASK                           0x3 /* cf14 */
6579efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF14_SHIFT                          4
6589efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF15_MASK                           0x3 /* cf15 */
6599efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF15_SHIFT                          6
6609efd0ba7SDavid C Somayajulu 	u8 flags6;
6619efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK               0x3 /* cf16 */
6629efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT              0
6639efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_MASK               0x3 /* cf_array_cf */
6649efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT              2
6659efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_MASK                          0x3 /* cf18 */
6669efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_SHIFT                         4
6679efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_MASK                   0x3 /* cf19 */
6689efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_SHIFT                  6
6699efd0ba7SDavid C Somayajulu 	u8 flags7;
6709efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_MASK                       0x3 /* cf20 */
6719efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_SHIFT                      0
6729efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED10_MASK                     0x3 /* cf21 */
6739efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED10_SHIFT                    2
6749efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_MASK                      0x3 /* cf22 */
6759efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_SHIFT                     4
6769efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF0EN_MASK                          0x1 /* cf0en */
6779efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT                         6
6789efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF1EN_MASK                          0x1 /* cf1en */
6799efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT                         7
6809efd0ba7SDavid C Somayajulu 	u8 flags8;
6819efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF2EN_MASK                          0x1 /* cf2en */
6829efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                         0
6839efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF3EN_MASK                          0x1 /* cf3en */
6849efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT                         1
6859efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF4EN_MASK                          0x1 /* cf4en */
6869efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT                         2
6879efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF5EN_MASK                          0x1 /* cf5en */
6889efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT                         3
6899efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF6EN_MASK                          0x1 /* cf6en */
6909efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT                         4
6919efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF7EN_MASK                          0x1 /* cf7en */
6929efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT                         5
6939efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF8EN_MASK                          0x1 /* cf8en */
6949efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT                         6
6959efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF9EN_MASK                          0x1 /* cf9en */
6969efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT                         7
6979efd0ba7SDavid C Somayajulu 	u8 flags9;
6989efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF10EN_MASK                         0x1 /* cf10en */
6999efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT                        0
7009efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF11EN_MASK                         0x1 /* cf11en */
7019efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF11EN_SHIFT                        1
7029efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF12EN_MASK                         0x1 /* cf12en */
7039efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF12EN_SHIFT                        2
7049efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF13EN_MASK                         0x1 /* cf13en */
7059efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF13EN_SHIFT                        3
7069efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF14EN_MASK                         0x1 /* cf14en */
7079efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF14EN_SHIFT                        4
7089efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF15EN_MASK                         0x1 /* cf15en */
7099efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_CF15EN_SHIFT                        5
7109efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK            0x1 /* cf16en */
7119efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT           6
7129efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK            0x1 /* cf_array_cf_en */
7139efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT           7
7149efd0ba7SDavid C Somayajulu 	u8 flags10;
7159efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_MASK                       0x1 /* cf18en */
7169efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_DQ_CF_EN_SHIFT                      0
7179efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_MASK                0x1 /* cf19en */
7189efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT               1
7199efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_MASK                    0x1 /* cf20en */
7209efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT                   2
7219efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED11_MASK                     0x1 /* cf21en */
7229efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED11_SHIFT                    3
7239efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_MASK                   0x1 /* cf22en */
7249efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_SLOW_PATH_EN_SHIFT                  4
7259efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK         0x1 /* cf23en */
7269efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT        5
7279efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED12_MASK                     0x1 /* rule0en */
7289efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED12_SHIFT                    6
7299efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED13_MASK                     0x1 /* rule1en */
7309efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED13_SHIFT                    7
7319efd0ba7SDavid C Somayajulu 	u8 flags11;
7329efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED14_MASK                     0x1 /* rule2en */
7339efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED14_SHIFT                    0
7349efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED15_MASK                     0x1 /* rule3en */
7359efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RESERVED15_SHIFT                    1
7369efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_MASK                 0x1 /* rule4en */
7379efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT                2
7389efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK                        0x1 /* rule5en */
7399efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT                       3
7409efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE6EN_MASK                        0x1 /* rule6en */
7419efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT                       4
7429efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK                        0x1 /* rule7en */
7439efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT                       5
7449efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_MASK                   0x1 /* rule8en */
7459efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED1_SHIFT                  6
7469efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE9EN_MASK                        0x1 /* rule9en */
7479efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE9EN_SHIFT                       7
7489efd0ba7SDavid C Somayajulu 	u8 flags12;
7499efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE10EN_MASK                       0x1 /* rule10en */
7509efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE10EN_SHIFT                      0
7519efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE11EN_MASK                       0x1 /* rule11en */
7529efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE11EN_SHIFT                      1
7539efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_MASK                   0x1 /* rule12en */
7549efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED2_SHIFT                  2
7559efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_MASK                   0x1 /* rule13en */
7569efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED3_SHIFT                  3
7579efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE14EN_MASK                       0x1 /* rule14en */
7589efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE14EN_SHIFT                      4
7599efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE15EN_MASK                       0x1 /* rule15en */
7609efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE15EN_SHIFT                      5
7619efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE16EN_MASK                       0x1 /* rule16en */
7629efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE16EN_SHIFT                      6
7639efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE17EN_MASK                       0x1 /* rule17en */
7649efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE17EN_SHIFT                      7
7659efd0ba7SDavid C Somayajulu 	u8 flags13;
7669efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE18EN_MASK                       0x1 /* rule18en */
7679efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE18EN_SHIFT                      0
7689efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE19EN_MASK                       0x1 /* rule19en */
7699efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_RULE19EN_SHIFT                      1
7709efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_MASK                   0x1 /* rule20en */
7719efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED4_SHIFT                  2
7729efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_MASK                   0x1 /* rule21en */
7739efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED5_SHIFT                  3
7749efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_MASK                   0x1 /* rule22en */
7759efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED6_SHIFT                  4
7769efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_MASK                   0x1 /* rule23en */
7779efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED7_SHIFT                  5
7789efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_MASK                   0x1 /* rule24en */
7799efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED8_SHIFT                  6
7809efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_MASK                   0x1 /* rule25en */
7819efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_A0_RESERVED9_SHIFT                  7
7829efd0ba7SDavid C Somayajulu 	u8 flags14;
7839efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK               0x1 /* bit16 */
7849efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT              0
7859efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK             0x1 /* bit17 */
7869efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT            1
7879efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK           0x1 /* bit18 */
7889efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT          2
7899efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK           0x1 /* bit19 */
7909efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT          3
7919efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_MASK                 0x1 /* bit20 */
7929efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT                4
7939efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK               0x1 /* bit21 */
7949efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT              5
7959efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_MASK                     0x3 /* cf23 */
7969efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_TPH_ENABLE_SHIFT                    6
7979efd0ba7SDavid C Somayajulu 	u8 edpm_vport /* byte2 */;
7989efd0ba7SDavid C Somayajulu 	__le16 physical_q0 /* physical_q0 */;
7999efd0ba7SDavid C Somayajulu 	__le16 tx_l2_edpm_usg_cnt /* physical_q1 */;
8009efd0ba7SDavid C Somayajulu 	__le16 edpm_num_bds /* physical_q2 */;
8019efd0ba7SDavid C Somayajulu 	__le16 tx_bd_cons /* word3 */;
8029efd0ba7SDavid C Somayajulu 	__le16 tx_bd_prod /* word4 */;
8039efd0ba7SDavid C Somayajulu 	__le16 tx_class /* word5 */;
8049efd0ba7SDavid C Somayajulu 	__le16 conn_dpi /* conn_dpi */;
8059efd0ba7SDavid C Somayajulu 	u8 byte3 /* byte3 */;
8069efd0ba7SDavid C Somayajulu 	u8 byte4 /* byte4 */;
8079efd0ba7SDavid C Somayajulu 	u8 byte5 /* byte5 */;
8089efd0ba7SDavid C Somayajulu 	u8 byte6 /* byte6 */;
8099efd0ba7SDavid C Somayajulu 	__le32 reg0 /* reg0 */;
8109efd0ba7SDavid C Somayajulu 	__le32 reg1 /* reg1 */;
8119efd0ba7SDavid C Somayajulu 	__le32 reg2 /* reg2 */;
8129efd0ba7SDavid C Somayajulu 	__le32 reg3 /* reg3 */;
8139efd0ba7SDavid C Somayajulu 	__le32 reg4 /* reg4 */;
8149efd0ba7SDavid C Somayajulu 	__le32 reg5 /* cf_array0 */;
8159efd0ba7SDavid C Somayajulu 	__le32 reg6 /* cf_array1 */;
8169efd0ba7SDavid C Somayajulu 	u8 flags15;
8179efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_REDIRECTION_CONDITION_LO_MASK  0x1 /* bit22 */
8189efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_REDIRECTION_CONDITION_LO_SHIFT 0
8199efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_REDIRECTION_CONDITION_HI_MASK  0x1 /* bit23 */
8209efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_EDPM_REDIRECTION_CONDITION_HI_SHIFT 1
8219efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK                   0x1 /* bit24 */
8229efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT                  2
8239efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK                   0x3 /* cf24 */
8249efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT                  3
8259efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK                   0x1 /* cf24en */
8269efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT                  5
8279efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK                   0x1 /* rule26en */
8289efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT                  6
8299efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_MASK                   0x1 /* rule27en */
8309efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_SHIFT                  7
8319efd0ba7SDavid C Somayajulu 	u8 byte7 /* byte7 */;
8329efd0ba7SDavid C Somayajulu 	__le16 word7 /* word7 */;
8339efd0ba7SDavid C Somayajulu 	__le16 word8 /* word8 */;
8349efd0ba7SDavid C Somayajulu 	__le16 word9 /* word9 */;
8359efd0ba7SDavid C Somayajulu 	__le16 word10 /* word10 */;
8369efd0ba7SDavid C Somayajulu 	__le16 word11 /* word11 */;
8379efd0ba7SDavid C Somayajulu 	__le32 reg7 /* reg7 */;
8389efd0ba7SDavid C Somayajulu 	__le32 reg8 /* reg8 */;
8399efd0ba7SDavid C Somayajulu 	__le32 reg9 /* reg9 */;
8409efd0ba7SDavid C Somayajulu 	u8 byte8 /* byte8 */;
8419efd0ba7SDavid C Somayajulu 	u8 byte9 /* byte9 */;
8429efd0ba7SDavid C Somayajulu 	u8 byte10 /* byte10 */;
8439efd0ba7SDavid C Somayajulu 	u8 byte11 /* byte11 */;
8449efd0ba7SDavid C Somayajulu 	u8 byte12 /* byte12 */;
8459efd0ba7SDavid C Somayajulu 	u8 byte13 /* byte13 */;
8469efd0ba7SDavid C Somayajulu 	u8 byte14 /* byte14 */;
8479efd0ba7SDavid C Somayajulu 	u8 byte15 /* byte15 */;
8489efd0ba7SDavid C Somayajulu 	__le32 reg10 /* reg10 */;
8499efd0ba7SDavid C Somayajulu 	__le32 reg11 /* reg11 */;
8509efd0ba7SDavid C Somayajulu 	__le32 reg12 /* reg12 */;
8519efd0ba7SDavid C Somayajulu 	__le32 reg13 /* reg13 */;
8529efd0ba7SDavid C Somayajulu 	__le32 reg14 /* reg14 */;
8539efd0ba7SDavid C Somayajulu 	__le32 reg15 /* reg15 */;
8549efd0ba7SDavid C Somayajulu 	__le32 reg16 /* reg16 */;
8559efd0ba7SDavid C Somayajulu 	__le32 reg17 /* reg17 */;
8569efd0ba7SDavid C Somayajulu 	__le32 reg18 /* reg18 */;
8579efd0ba7SDavid C Somayajulu 	__le32 reg19 /* reg19 */;
8589efd0ba7SDavid C Somayajulu 	__le16 word12 /* word12 */;
8599efd0ba7SDavid C Somayajulu 	__le16 word13 /* word13 */;
8609efd0ba7SDavid C Somayajulu 	__le16 word14 /* word14 */;
8619efd0ba7SDavid C Somayajulu 	__le16 word15 /* word15 */;
8629efd0ba7SDavid C Somayajulu };
8639efd0ba7SDavid C Somayajulu 
8649efd0ba7SDavid C Somayajulu struct e5_tstorm_eth_conn_ag_ctx
8659efd0ba7SDavid C Somayajulu {
8669efd0ba7SDavid C Somayajulu 	u8 byte0 /* cdu_validation */;
8679efd0ba7SDavid C Somayajulu 	u8 byte1 /* state_and_core_id */;
8689efd0ba7SDavid C Somayajulu 	u8 flags0;
8699efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT0_MASK          0x1 /* exist_in_qm0 */
8709efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT         0
8719efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT1_MASK          0x1 /* exist_in_qm1 */
8729efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT         1
8739efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT2_MASK          0x1 /* bit2 */
8749efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT2_SHIFT         2
8759efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT3_MASK          0x1 /* bit3 */
8769efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT3_SHIFT         3
8779efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT4_MASK          0x1 /* bit4 */
8789efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT4_SHIFT         4
8799efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT5_MASK          0x1 /* bit5 */
8809efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_BIT5_SHIFT         5
8819efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF0_MASK           0x3 /* timer0cf */
8829efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF0_SHIFT          6
8839efd0ba7SDavid C Somayajulu 	u8 flags1;
8849efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF1_MASK           0x3 /* timer1cf */
8859efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF1_SHIFT          0
8869efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF2_MASK           0x3 /* timer2cf */
8879efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF2_SHIFT          2
8889efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF3_MASK           0x3 /* timer_stop_all */
8899efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF3_SHIFT          4
8909efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF4_MASK           0x3 /* cf4 */
8919efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF4_SHIFT          6
8929efd0ba7SDavid C Somayajulu 	u8 flags2;
8939efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF5_MASK           0x3 /* cf5 */
8949efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF5_SHIFT          0
8959efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF6_MASK           0x3 /* cf6 */
8969efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF6_SHIFT          2
8979efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF7_MASK           0x3 /* cf7 */
8989efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF7_SHIFT          4
8999efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF8_MASK           0x3 /* cf8 */
9009efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF8_SHIFT          6
9019efd0ba7SDavid C Somayajulu 	u8 flags3;
9029efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF9_MASK           0x3 /* cf9 */
9039efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF9_SHIFT          0
9049efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF10_MASK          0x3 /* cf10 */
9059efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF10_SHIFT         2
9069efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF0EN_MASK         0x1 /* cf0en */
9079efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT        4
9089efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF1EN_MASK         0x1 /* cf1en */
9099efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT        5
9109efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF2EN_MASK         0x1 /* cf2en */
9119efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT        6
9129efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF3EN_MASK         0x1 /* cf3en */
9139efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT        7
9149efd0ba7SDavid C Somayajulu 	u8 flags4;
9159efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF4EN_MASK         0x1 /* cf4en */
9169efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF4EN_SHIFT        0
9179efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF5EN_MASK         0x1 /* cf5en */
9189efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF5EN_SHIFT        1
9199efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF6EN_MASK         0x1 /* cf6en */
9209efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF6EN_SHIFT        2
9219efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF7EN_MASK         0x1 /* cf7en */
9229efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF7EN_SHIFT        3
9239efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF8EN_MASK         0x1 /* cf8en */
9249efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF8EN_SHIFT        4
9259efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF9EN_MASK         0x1 /* cf9en */
9269efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF9EN_SHIFT        5
9279efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF10EN_MASK        0x1 /* cf10en */
9289efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_CF10EN_SHIFT       6
9299efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK       0x1 /* rule0en */
9309efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT      7
9319efd0ba7SDavid C Somayajulu 	u8 flags5;
9329efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK       0x1 /* rule1en */
9339efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT      0
9349efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK       0x1 /* rule2en */
9359efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT      1
9369efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK       0x1 /* rule3en */
9379efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT      2
9389efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK       0x1 /* rule4en */
9399efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT      3
9409efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE5EN_MASK       0x1 /* rule5en */
9419efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT      4
9429efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_MASK      0x1 /* rule6en */
9439efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RX_BD_EN_SHIFT     5
9449efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE7EN_MASK       0x1 /* rule7en */
9459efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT      6
9469efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE8EN_MASK       0x1 /* rule8en */
9479efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT      7
9489efd0ba7SDavid C Somayajulu 	u8 flags6;
9499efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_MASK  0x1 /* bit6 */
9509efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED1_SHIFT 0
9519efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_MASK  0x1 /* bit7 */
9529efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED2_SHIFT 1
9539efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK  0x1 /* bit8 */
9549efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT 2
9559efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK  0x3 /* cf11 */
9569efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT 3
9579efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK  0x1 /* cf11en */
9589efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT 5
9599efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK  0x1 /* rule9en */
9609efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT 6
9619efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_MASK  0x1 /* rule10en */
9629efd0ba7SDavid C Somayajulu #define E5_TSTORM_ETH_CONN_AG_CTX_E4_RESERVED7_SHIFT 7
9639efd0ba7SDavid C Somayajulu 	u8 byte2 /* byte2 */;
9649efd0ba7SDavid C Somayajulu 	__le16 rx_bd_cons /* word0 */;
9659efd0ba7SDavid C Somayajulu 	__le32 reg0 /* reg0 */;
9669efd0ba7SDavid C Somayajulu 	__le32 reg1 /* reg1 */;
9679efd0ba7SDavid C Somayajulu 	__le32 reg2 /* reg2 */;
9689efd0ba7SDavid C Somayajulu 	__le32 reg3 /* reg3 */;
9699efd0ba7SDavid C Somayajulu 	__le32 reg4 /* reg4 */;
9709efd0ba7SDavid C Somayajulu 	__le32 reg5 /* reg5 */;
9719efd0ba7SDavid C Somayajulu 	__le32 reg6 /* reg6 */;
9729efd0ba7SDavid C Somayajulu 	__le32 reg7 /* reg7 */;
9739efd0ba7SDavid C Somayajulu 	__le32 reg8 /* reg8 */;
9749efd0ba7SDavid C Somayajulu 	u8 byte3 /* byte3 */;
9759efd0ba7SDavid C Somayajulu 	u8 byte4 /* byte4 */;
9769efd0ba7SDavid C Somayajulu 	u8 byte5 /* byte5 */;
9779efd0ba7SDavid C Somayajulu 	u8 e4_reserved8 /* byte6 */;
9789efd0ba7SDavid C Somayajulu 	__le16 rx_bd_prod /* word1 */;
9799efd0ba7SDavid C Somayajulu 	__le16 word2 /* conn_dpi */;
9809efd0ba7SDavid C Somayajulu 	__le32 reg9 /* reg9 */;
9819efd0ba7SDavid C Somayajulu 	__le16 word3 /* word3 */;
9829efd0ba7SDavid C Somayajulu 	__le16 e4_reserved9 /* word4 */;
9839efd0ba7SDavid C Somayajulu };
9849efd0ba7SDavid C Somayajulu 
985217ec208SDavid C Somayajulu struct e5_ystorm_eth_conn_ag_ctx
986217ec208SDavid C Somayajulu {
987217ec208SDavid C Somayajulu 	u8 byte0 /* cdu_validation */;
988217ec208SDavid C Somayajulu 	u8 state_and_core_id /* state_and_core_id */;
989217ec208SDavid C Somayajulu 	u8 flags0;
990217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_BIT0_MASK                  0x1 /* exist_in_qm0 */
991217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_BIT0_SHIFT                 0
992217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_BIT1_MASK                  0x1 /* exist_in_qm1 */
993217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT                 1
994217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK     0x3 /* cf0 */
995217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT    2
996217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_MASK      0x3 /* cf1 */
997217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_SHIFT     4
998217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_CF2_MASK                   0x3 /* cf2 */
999217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_CF2_SHIFT                  6
1000217ec208SDavid C Somayajulu 	u8 flags1;
1001217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK  0x1 /* cf0en */
1002217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT 0
1003217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_MASK   0x1 /* cf1en */
1004217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_PMD_TERMINATE_CF_EN_SHIFT  1
1005217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_CF2EN_MASK                 0x1 /* cf2en */
1006217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                2
1007217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK               0x1 /* rule0en */
1008217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT              3
1009217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK               0x1 /* rule1en */
1010217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT              4
1011217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK               0x1 /* rule2en */
1012217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT              5
1013217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK               0x1 /* rule3en */
1014217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT              6
1015217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK               0x1 /* rule4en */
1016217ec208SDavid C Somayajulu #define E5_YSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT              7
1017217ec208SDavid C Somayajulu 	u8 tx_q0_int_coallecing_timeset /* byte2 */;
1018217ec208SDavid C Somayajulu 	u8 byte3 /* byte3 */;
1019217ec208SDavid C Somayajulu 	__le16 word0 /* word0 */;
1020217ec208SDavid C Somayajulu 	__le32 terminate_spqe /* reg0 */;
1021217ec208SDavid C Somayajulu 	__le32 reg1 /* reg1 */;
1022217ec208SDavid C Somayajulu 	__le16 tx_bd_cons_upd /* word1 */;
1023217ec208SDavid C Somayajulu 	__le16 word2 /* word2 */;
1024217ec208SDavid C Somayajulu 	__le16 word3 /* word3 */;
1025217ec208SDavid C Somayajulu 	__le16 word4 /* word4 */;
1026217ec208SDavid C Somayajulu 	__le32 reg2 /* reg2 */;
1027217ec208SDavid C Somayajulu 	__le32 reg3 /* reg3 */;
1028217ec208SDavid C Somayajulu };
1029217ec208SDavid C Somayajulu 
10309efd0ba7SDavid C Somayajulu struct e5_ustorm_eth_conn_ag_ctx
10319efd0ba7SDavid C Somayajulu {
10329efd0ba7SDavid C Somayajulu 	u8 byte0 /* cdu_validation */;
10339efd0ba7SDavid C Somayajulu 	u8 byte1 /* state_and_core_id */;
10349efd0ba7SDavid C Somayajulu 	u8 flags0;
10359efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_BIT0_MASK                    0x1 /* exist_in_qm0 */
10369efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_BIT0_SHIFT                   0
10379efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_BIT1_MASK                    0x1 /* exist_in_qm1 */
10389efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_BIT1_SHIFT                   1
10399efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_MASK     0x3 /* timer0cf */
10409efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_SHIFT    2
10419efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_MASK     0x3 /* timer1cf */
10429efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_SHIFT    4
10439efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
10449efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_CF2_SHIFT                    6
10459efd0ba7SDavid C Somayajulu 	u8 flags1;
10469efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
10479efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_CF3_SHIFT                    0
10489efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_MASK               0x3 /* cf4 */
10499efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_SHIFT              2
10509efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_MASK               0x3 /* cf5 */
10519efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_SHIFT              4
10529efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_MASK       0x3 /* cf6 */
10539efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_SHIFT      6
10549efd0ba7SDavid C Somayajulu 	u8 flags2;
10559efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_MASK  0x1 /* cf0en */
10569efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_PMD_TERMINATE_CF_EN_SHIFT 0
10579efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_MASK  0x1 /* cf1en */
10589efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RX_PMD_TERMINATE_CF_EN_SHIFT 1
10599efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
10609efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT                  2
10619efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
10629efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_CF3EN_SHIFT                  3
10639efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_MASK            0x1 /* cf4en */
10649efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_ARM_CF_EN_SHIFT           4
10659efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_MASK            0x1 /* cf5en */
10669efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RX_ARM_CF_EN_SHIFT           5
10679efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_MASK    0x1 /* cf6en */
10689efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_TX_BD_CONS_UPD_CF_EN_SHIFT   6
10699efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE0EN_MASK                 0x1 /* rule0en */
10709efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT                7
10719efd0ba7SDavid C Somayajulu 	u8 flags3;
10729efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE1EN_MASK                 0x1 /* rule1en */
10739efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT                0
10749efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE2EN_MASK                 0x1 /* rule2en */
10759efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT                1
10769efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE3EN_MASK                 0x1 /* rule3en */
10779efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT                2
10789efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE4EN_MASK                 0x1 /* rule4en */
10799efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT                3
10809efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
10819efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE5EN_SHIFT                4
10829efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
10839efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE6EN_SHIFT                5
10849efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
10859efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE7EN_SHIFT                6
10869efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE8EN_MASK                 0x1 /* rule8en */
10879efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_RULE8EN_SHIFT                7
10889efd0ba7SDavid C Somayajulu 	u8 flags4;
10899efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED1_MASK            0x1 /* bit2 */
10909efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED1_SHIFT           0
10919efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED2_MASK            0x1 /* bit3 */
10929efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED2_SHIFT           1
10939efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED3_MASK            0x3 /* cf7 */
10949efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED3_SHIFT           2
10959efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED4_MASK            0x3 /* cf8 */
10969efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED4_SHIFT           4
10979efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED5_MASK            0x1 /* cf7en */
10989efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED5_SHIFT           6
10999efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED6_MASK            0x1 /* cf8en */
11009efd0ba7SDavid C Somayajulu #define E5_USTORM_ETH_CONN_AG_CTX_E4_RESERVED6_SHIFT           7
11019efd0ba7SDavid C Somayajulu 	u8 byte2 /* byte2 */;
11029efd0ba7SDavid C Somayajulu 	__le16 word0 /* conn_dpi */;
11039efd0ba7SDavid C Somayajulu 	__le16 tx_bd_cons /* word1 */;
11049efd0ba7SDavid C Somayajulu 	__le32 reg0 /* reg0 */;
11059efd0ba7SDavid C Somayajulu 	__le32 reg1 /* reg1 */;
11069efd0ba7SDavid C Somayajulu 	__le32 reg2 /* reg2 */;
11079efd0ba7SDavid C Somayajulu 	__le32 tx_int_coallecing_timeset /* reg3 */;
11089efd0ba7SDavid C Somayajulu 	__le16 tx_drv_bd_cons /* word2 */;
11099efd0ba7SDavid C Somayajulu 	__le16 rx_drv_cqe_cons /* word3 */;
11109efd0ba7SDavid C Somayajulu };
11119efd0ba7SDavid C Somayajulu 
11129efd0ba7SDavid C Somayajulu /*
11139efd0ba7SDavid C Somayajulu  * eth connection context
11149efd0ba7SDavid C Somayajulu  */
11159efd0ba7SDavid C Somayajulu struct e5_eth_conn_context
11169efd0ba7SDavid C Somayajulu {
11179efd0ba7SDavid C Somayajulu 	struct tstorm_eth_conn_st_ctx tstorm_st_context /* tstorm storm context */;
11189efd0ba7SDavid C Somayajulu 	struct regpair tstorm_st_padding[2] /* padding */;
11199efd0ba7SDavid C Somayajulu 	struct pstorm_eth_conn_st_ctx pstorm_st_context /* pstorm storm context */;
11209efd0ba7SDavid C Somayajulu 	struct xstorm_eth_conn_st_ctx xstorm_st_context /* xstorm storm context */;
1121217ec208SDavid C Somayajulu 	struct regpair xstorm_st_padding[2] /* padding */;
11229efd0ba7SDavid C Somayajulu 	struct e5_xstorm_eth_conn_ag_ctx xstorm_ag_context /* xstorm aggregative context */;
1123217ec208SDavid C Somayajulu 	struct e5_tstorm_eth_conn_ag_ctx tstorm_ag_context /* tstorm aggregative context */;
11249efd0ba7SDavid C Somayajulu 	struct ystorm_eth_conn_st_ctx ystorm_st_context /* ystorm storm context */;
11259efd0ba7SDavid C Somayajulu 	struct e5_ystorm_eth_conn_ag_ctx ystorm_ag_context /* ystorm aggregative context */;
11269efd0ba7SDavid C Somayajulu 	struct e5_ustorm_eth_conn_ag_ctx ustorm_ag_context /* ustorm aggregative context */;
11279efd0ba7SDavid C Somayajulu 	struct ustorm_eth_conn_st_ctx ustorm_st_context /* ustorm storm context */;
11289efd0ba7SDavid C Somayajulu 	struct mstorm_eth_conn_st_ctx mstorm_st_context /* mstorm storm context */;
11299efd0ba7SDavid C Somayajulu };
11309efd0ba7SDavid C Somayajulu 
113111e25f0dSDavid C Somayajulu /*
113211e25f0dSDavid C Somayajulu  * Ethernet filter types: mac/vlan/pair
113311e25f0dSDavid C Somayajulu  */
113411e25f0dSDavid C Somayajulu enum eth_error_code
113511e25f0dSDavid C Somayajulu {
113611e25f0dSDavid C Somayajulu 	ETH_OK=0x00 /* command succeeded */,
113711e25f0dSDavid C Somayajulu 	ETH_FILTERS_MAC_ADD_FAIL_FULL /* mac add filters command failed due to cam full state */,
113811e25f0dSDavid C Somayajulu 	ETH_FILTERS_MAC_ADD_FAIL_FULL_MTT2 /* mac add filters command failed due to mtt2 full state */,
113911e25f0dSDavid C Somayajulu 	ETH_FILTERS_MAC_ADD_FAIL_DUP_MTT2 /* mac add filters command failed due to duplicate mac address */,
114011e25f0dSDavid C Somayajulu 	ETH_FILTERS_MAC_ADD_FAIL_DUP_STT2 /* mac add filters command failed due to duplicate mac address */,
114111e25f0dSDavid C Somayajulu 	ETH_FILTERS_MAC_DEL_FAIL_NOF /* mac delete filters command failed due to not found state */,
114211e25f0dSDavid C Somayajulu 	ETH_FILTERS_MAC_DEL_FAIL_NOF_MTT2 /* mac delete filters command failed due to not found state */,
114311e25f0dSDavid C Somayajulu 	ETH_FILTERS_MAC_DEL_FAIL_NOF_STT2 /* mac delete filters command failed due to not found state */,
114411e25f0dSDavid C Somayajulu 	ETH_FILTERS_MAC_ADD_FAIL_ZERO_MAC /* mac add filters command failed due to MAC Address of 00:00:00:00:00:00 */,
114511e25f0dSDavid C Somayajulu 	ETH_FILTERS_VLAN_ADD_FAIL_FULL /* vlan add filters command failed due to cam full state */,
114611e25f0dSDavid C Somayajulu 	ETH_FILTERS_VLAN_ADD_FAIL_DUP /* vlan add filters command failed due to duplicate VLAN filter */,
114711e25f0dSDavid C Somayajulu 	ETH_FILTERS_VLAN_DEL_FAIL_NOF /* vlan delete filters command failed due to not found state */,
114811e25f0dSDavid C Somayajulu 	ETH_FILTERS_VLAN_DEL_FAIL_NOF_TT1 /* vlan delete filters command failed due to not found state */,
114911e25f0dSDavid C Somayajulu 	ETH_FILTERS_PAIR_ADD_FAIL_DUP /* pair add filters command failed due to duplicate request */,
115011e25f0dSDavid C Somayajulu 	ETH_FILTERS_PAIR_ADD_FAIL_FULL /* pair add filters command failed due to full state */,
115111e25f0dSDavid C Somayajulu 	ETH_FILTERS_PAIR_ADD_FAIL_FULL_MAC /* pair add filters command failed due to full state */,
115211e25f0dSDavid C Somayajulu 	ETH_FILTERS_PAIR_DEL_FAIL_NOF /* pair add filters command failed due not found state */,
115311e25f0dSDavid C Somayajulu 	ETH_FILTERS_PAIR_DEL_FAIL_NOF_TT1 /* pair add filters command failed due not found state */,
115411e25f0dSDavid C Somayajulu 	ETH_FILTERS_PAIR_ADD_FAIL_ZERO_MAC /* pair add filters command failed due to MAC Address of 00:00:00:00:00:00 */,
115511e25f0dSDavid C Somayajulu 	ETH_FILTERS_VNI_ADD_FAIL_FULL /* vni add filters command failed due to cam full state */,
115611e25f0dSDavid C Somayajulu 	ETH_FILTERS_VNI_ADD_FAIL_DUP /* vni add filters command failed due to duplicate VNI filter */,
115711e25f0dSDavid C Somayajulu 	ETH_FILTERS_GFT_UPDATE_FAIL /* Fail update GFT filter. */,
115811e25f0dSDavid C Somayajulu 	MAX_ETH_ERROR_CODE
115911e25f0dSDavid C Somayajulu };
116011e25f0dSDavid C Somayajulu 
116111e25f0dSDavid C Somayajulu /*
116211e25f0dSDavid C Somayajulu  * opcodes for the event ring
116311e25f0dSDavid C Somayajulu  */
116411e25f0dSDavid C Somayajulu enum eth_event_opcode
116511e25f0dSDavid C Somayajulu {
116611e25f0dSDavid C Somayajulu 	ETH_EVENT_UNUSED,
116711e25f0dSDavid C Somayajulu 	ETH_EVENT_VPORT_START,
116811e25f0dSDavid C Somayajulu 	ETH_EVENT_VPORT_UPDATE,
116911e25f0dSDavid C Somayajulu 	ETH_EVENT_VPORT_STOP,
117011e25f0dSDavid C Somayajulu 	ETH_EVENT_TX_QUEUE_START,
117111e25f0dSDavid C Somayajulu 	ETH_EVENT_TX_QUEUE_STOP,
117211e25f0dSDavid C Somayajulu 	ETH_EVENT_RX_QUEUE_START,
117311e25f0dSDavid C Somayajulu 	ETH_EVENT_RX_QUEUE_UPDATE,
117411e25f0dSDavid C Somayajulu 	ETH_EVENT_RX_QUEUE_STOP,
117511e25f0dSDavid C Somayajulu 	ETH_EVENT_FILTERS_UPDATE,
117611e25f0dSDavid C Somayajulu 	ETH_EVENT_RX_ADD_OPENFLOW_FILTER,
117711e25f0dSDavid C Somayajulu 	ETH_EVENT_RX_DELETE_OPENFLOW_FILTER,
117811e25f0dSDavid C Somayajulu 	ETH_EVENT_RX_CREATE_OPENFLOW_ACTION,
117911e25f0dSDavid C Somayajulu 	ETH_EVENT_RX_ADD_UDP_FILTER,
118011e25f0dSDavid C Somayajulu 	ETH_EVENT_RX_DELETE_UDP_FILTER,
118111e25f0dSDavid C Somayajulu 	ETH_EVENT_RX_CREATE_GFT_ACTION,
118211e25f0dSDavid C Somayajulu 	ETH_EVENT_RX_GFT_UPDATE_FILTER,
1183217ec208SDavid C Somayajulu 	ETH_EVENT_TX_QUEUE_UPDATE,
118411e25f0dSDavid C Somayajulu 	MAX_ETH_EVENT_OPCODE
118511e25f0dSDavid C Somayajulu };
118611e25f0dSDavid C Somayajulu 
118711e25f0dSDavid C Somayajulu /*
118811e25f0dSDavid C Somayajulu  * Classify rule types in E2/E3
118911e25f0dSDavid C Somayajulu  */
119011e25f0dSDavid C Somayajulu enum eth_filter_action
119111e25f0dSDavid C Somayajulu {
119211e25f0dSDavid C Somayajulu 	ETH_FILTER_ACTION_UNUSED,
119311e25f0dSDavid C Somayajulu 	ETH_FILTER_ACTION_REMOVE,
119411e25f0dSDavid C Somayajulu 	ETH_FILTER_ACTION_ADD,
119511e25f0dSDavid C Somayajulu 	ETH_FILTER_ACTION_REMOVE_ALL /* Remove all filters of given type and vport ID. */,
119611e25f0dSDavid C Somayajulu 	MAX_ETH_FILTER_ACTION
119711e25f0dSDavid C Somayajulu };
119811e25f0dSDavid C Somayajulu 
119911e25f0dSDavid C Somayajulu /*
120011e25f0dSDavid C Somayajulu  * Command for adding/removing a classification rule $$KEEP_ENDIANNESS$$
120111e25f0dSDavid C Somayajulu  */
120211e25f0dSDavid C Somayajulu struct eth_filter_cmd
120311e25f0dSDavid C Somayajulu {
1204217ec208SDavid C Somayajulu 	u8 type /* Filter Type (MAC/VLAN/Pair/VNI) (use enum eth_filter_type) */;
120511e25f0dSDavid C Somayajulu 	u8 vport_id /* the vport id */;
1206217ec208SDavid C Somayajulu 	u8 action /* filter command action: add/remove/replace (use enum eth_filter_action) */;
120711e25f0dSDavid C Somayajulu 	u8 reserved0;
120811e25f0dSDavid C Somayajulu 	__le32 vni;
120911e25f0dSDavid C Somayajulu 	__le16 mac_lsb;
121011e25f0dSDavid C Somayajulu 	__le16 mac_mid;
121111e25f0dSDavid C Somayajulu 	__le16 mac_msb;
121211e25f0dSDavid C Somayajulu 	__le16 vlan_id;
121311e25f0dSDavid C Somayajulu };
121411e25f0dSDavid C Somayajulu 
121511e25f0dSDavid C Somayajulu /*
121611e25f0dSDavid C Somayajulu  *  $$KEEP_ENDIANNESS$$
121711e25f0dSDavid C Somayajulu  */
121811e25f0dSDavid C Somayajulu struct eth_filter_cmd_header
121911e25f0dSDavid C Somayajulu {
122011e25f0dSDavid C Somayajulu 	u8 rx /* If set, apply these commands to the RX path */;
122111e25f0dSDavid C Somayajulu 	u8 tx /* If set, apply these commands to the TX path */;
122211e25f0dSDavid C Somayajulu 	u8 cmd_cnt /* Number of filter commands */;
122311e25f0dSDavid C Somayajulu 	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. */;
122411e25f0dSDavid C Somayajulu 	u8 reserved1[4];
122511e25f0dSDavid C Somayajulu };
122611e25f0dSDavid C Somayajulu 
122711e25f0dSDavid C Somayajulu /*
122811e25f0dSDavid C Somayajulu  * Ethernet filter types: mac/vlan/pair
122911e25f0dSDavid C Somayajulu  */
123011e25f0dSDavid C Somayajulu enum eth_filter_type
123111e25f0dSDavid C Somayajulu {
123211e25f0dSDavid C Somayajulu 	ETH_FILTER_TYPE_UNUSED,
123311e25f0dSDavid C Somayajulu 	ETH_FILTER_TYPE_MAC /* Add/remove a MAC address */,
123411e25f0dSDavid C Somayajulu 	ETH_FILTER_TYPE_VLAN /* Add/remove a VLAN */,
123511e25f0dSDavid C Somayajulu 	ETH_FILTER_TYPE_PAIR /* Add/remove a MAC-VLAN pair */,
123611e25f0dSDavid C Somayajulu 	ETH_FILTER_TYPE_INNER_MAC /* Add/remove a inner MAC address */,
123711e25f0dSDavid C Somayajulu 	ETH_FILTER_TYPE_INNER_VLAN /* Add/remove a inner VLAN */,
123811e25f0dSDavid C Somayajulu 	ETH_FILTER_TYPE_INNER_PAIR /* Add/remove a inner MAC-VLAN pair */,
123911e25f0dSDavid C Somayajulu 	ETH_FILTER_TYPE_INNER_MAC_VNI_PAIR /* Add/remove a inner MAC-VNI pair */,
124011e25f0dSDavid C Somayajulu 	ETH_FILTER_TYPE_MAC_VNI_PAIR /* Add/remove a MAC-VNI pair */,
124111e25f0dSDavid C Somayajulu 	ETH_FILTER_TYPE_VNI /* Add/remove a VNI */,
124211e25f0dSDavid C Somayajulu 	MAX_ETH_FILTER_TYPE
124311e25f0dSDavid C Somayajulu };
124411e25f0dSDavid C Somayajulu 
124511e25f0dSDavid C Somayajulu /*
124611e25f0dSDavid C Somayajulu  * eth IPv4 Fragment Type
124711e25f0dSDavid C Somayajulu  */
124811e25f0dSDavid C Somayajulu enum eth_ipv4_frag_type
124911e25f0dSDavid C Somayajulu {
125011e25f0dSDavid C Somayajulu 	ETH_IPV4_NOT_FRAG /* IPV4 Packet Not Fragmented */,
125111e25f0dSDavid C Somayajulu 	ETH_IPV4_FIRST_FRAG /* First Fragment of IPv4 Packet (contains headers) */,
125211e25f0dSDavid C Somayajulu 	ETH_IPV4_NON_FIRST_FRAG /* Non-First Fragment of IPv4 Packet (does not contain headers) */,
125311e25f0dSDavid C Somayajulu 	MAX_ETH_IPV4_FRAG_TYPE
125411e25f0dSDavid C Somayajulu };
125511e25f0dSDavid C Somayajulu 
125611e25f0dSDavid C Somayajulu /*
125711e25f0dSDavid C Somayajulu  * eth IPv4 Fragment Type
125811e25f0dSDavid C Somayajulu  */
125911e25f0dSDavid C Somayajulu enum eth_ip_type
126011e25f0dSDavid C Somayajulu {
126111e25f0dSDavid C Somayajulu 	ETH_IPV4 /* IPv4 */,
126211e25f0dSDavid C Somayajulu 	ETH_IPV6 /* IPv6 */,
126311e25f0dSDavid C Somayajulu 	MAX_ETH_IP_TYPE
126411e25f0dSDavid C Somayajulu };
126511e25f0dSDavid C Somayajulu 
126611e25f0dSDavid C Somayajulu /*
126711e25f0dSDavid C Somayajulu  * Ethernet Ramrod Command IDs
126811e25f0dSDavid C Somayajulu  */
126911e25f0dSDavid C Somayajulu enum eth_ramrod_cmd_id
127011e25f0dSDavid C Somayajulu {
127111e25f0dSDavid C Somayajulu 	ETH_RAMROD_UNUSED,
127211e25f0dSDavid C Somayajulu 	ETH_RAMROD_VPORT_START /* VPort Start Ramrod */,
127311e25f0dSDavid C Somayajulu 	ETH_RAMROD_VPORT_UPDATE /* VPort Update Ramrod */,
127411e25f0dSDavid C Somayajulu 	ETH_RAMROD_VPORT_STOP /* VPort Stop Ramrod */,
127511e25f0dSDavid C Somayajulu 	ETH_RAMROD_RX_QUEUE_START /* RX Queue Start Ramrod */,
127611e25f0dSDavid C Somayajulu 	ETH_RAMROD_RX_QUEUE_STOP /* RX Queue Stop Ramrod */,
127711e25f0dSDavid C Somayajulu 	ETH_RAMROD_TX_QUEUE_START /* TX Queue Start Ramrod */,
127811e25f0dSDavid C Somayajulu 	ETH_RAMROD_TX_QUEUE_STOP /* TX Queue Stop Ramrod */,
127911e25f0dSDavid C Somayajulu 	ETH_RAMROD_FILTERS_UPDATE /* Add or Remove Mac/Vlan/Pair filters */,
128011e25f0dSDavid C Somayajulu 	ETH_RAMROD_RX_QUEUE_UPDATE /* RX Queue Update Ramrod */,
128111e25f0dSDavid C Somayajulu 	ETH_RAMROD_RX_CREATE_OPENFLOW_ACTION /* RX - Create an Openflow Action */,
128211e25f0dSDavid C Somayajulu 	ETH_RAMROD_RX_ADD_OPENFLOW_FILTER /* RX - Add an Openflow Filter to the Searcher */,
128311e25f0dSDavid C Somayajulu 	ETH_RAMROD_RX_DELETE_OPENFLOW_FILTER /* RX - Delete an Openflow Filter to the Searcher */,
128411e25f0dSDavid C Somayajulu 	ETH_RAMROD_RX_ADD_UDP_FILTER /* RX - Add a UDP Filter to the Searcher */,
128511e25f0dSDavid C Somayajulu 	ETH_RAMROD_RX_DELETE_UDP_FILTER /* RX - Delete a UDP Filter to the Searcher */,
128611e25f0dSDavid C Somayajulu 	ETH_RAMROD_RX_CREATE_GFT_ACTION /* RX - Create a Gft Action */,
128711e25f0dSDavid C Somayajulu 	ETH_RAMROD_GFT_UPDATE_FILTER /* RX - Add/Delete a GFT Filter to the Searcher */,
1288217ec208SDavid C Somayajulu 	ETH_RAMROD_TX_QUEUE_UPDATE /* TX Queue Update Ramrod */,
128911e25f0dSDavid C Somayajulu 	MAX_ETH_RAMROD_CMD_ID
129011e25f0dSDavid C Somayajulu };
129111e25f0dSDavid C Somayajulu 
129211e25f0dSDavid C Somayajulu /*
129311e25f0dSDavid C Somayajulu  * return code from eth sp ramrods
129411e25f0dSDavid C Somayajulu  */
129511e25f0dSDavid C Somayajulu struct eth_return_code
129611e25f0dSDavid C Somayajulu {
129711e25f0dSDavid C Somayajulu 	u8 value;
129811e25f0dSDavid C Somayajulu #define ETH_RETURN_CODE_ERR_CODE_MASK  0x1F /* error code (use enum eth_error_code) */
129911e25f0dSDavid C Somayajulu #define ETH_RETURN_CODE_ERR_CODE_SHIFT 0
130011e25f0dSDavid C Somayajulu #define ETH_RETURN_CODE_RESERVED_MASK  0x3
130111e25f0dSDavid C Somayajulu #define ETH_RETURN_CODE_RESERVED_SHIFT 5
130211e25f0dSDavid C Somayajulu #define ETH_RETURN_CODE_RX_TX_MASK     0x1 /* rx path - 0, tx path - 1 */
130311e25f0dSDavid C Somayajulu #define ETH_RETURN_CODE_RX_TX_SHIFT    7
130411e25f0dSDavid C Somayajulu };
130511e25f0dSDavid C Somayajulu 
130611e25f0dSDavid C Somayajulu /*
130711e25f0dSDavid C Somayajulu  * What to do in case an error occurs
130811e25f0dSDavid C Somayajulu  */
130911e25f0dSDavid C Somayajulu enum eth_tx_err
131011e25f0dSDavid C Somayajulu {
131111e25f0dSDavid C Somayajulu 	ETH_TX_ERR_DROP /* Drop erroneous packet. */,
131211e25f0dSDavid C Somayajulu 	ETH_TX_ERR_ASSERT_MALICIOUS /* Assert an interrupt for PF, declare as malicious for VF */,
131311e25f0dSDavid C Somayajulu 	MAX_ETH_TX_ERR
131411e25f0dSDavid C Somayajulu };
131511e25f0dSDavid C Somayajulu 
131611e25f0dSDavid C Somayajulu /*
131711e25f0dSDavid C Somayajulu  * Array of the different error type behaviors
131811e25f0dSDavid C Somayajulu  */
131911e25f0dSDavid C Somayajulu struct eth_tx_err_vals
132011e25f0dSDavid C Somayajulu {
132111e25f0dSDavid C Somayajulu 	__le16 values;
132211e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_ILLEGAL_VLAN_MODE_MASK            0x1 /* Wrong VLAN insertion mode (use enum eth_tx_err) */
132311e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_ILLEGAL_VLAN_MODE_SHIFT           0
132411e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_PACKET_TOO_SMALL_MASK             0x1 /* Packet is below minimal size (use enum eth_tx_err) */
132511e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_PACKET_TOO_SMALL_SHIFT            1
132611e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_ANTI_SPOOFING_ERR_MASK            0x1 /* Vport has sent spoofed packet (use enum eth_tx_err) */
132711e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_ANTI_SPOOFING_ERR_SHIFT           2
132811e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_ILLEGAL_INBAND_TAGS_MASK          0x1 /* Packet with illegal type of inband tag (use enum eth_tx_err) */
132911e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_ILLEGAL_INBAND_TAGS_SHIFT         3
133011e25f0dSDavid C Somayajulu #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) */
133111e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_VLAN_INSERTION_W_INBAND_TAG_SHIFT 4
133211e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_MTU_VIOLATION_MASK                0x1 /* Non LSO packet larger than MTU (use enum eth_tx_err) */
133311e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_MTU_VIOLATION_SHIFT               5
133411e25f0dSDavid C Somayajulu #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) */
133511e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_ILLEGAL_CONTROL_FRAME_SHIFT       6
133611e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_RESERVED_MASK                     0x1FF
133711e25f0dSDavid C Somayajulu #define ETH_TX_ERR_VALS_RESERVED_SHIFT                    7
133811e25f0dSDavid C Somayajulu };
133911e25f0dSDavid C Somayajulu 
134011e25f0dSDavid C Somayajulu /*
134111e25f0dSDavid C Somayajulu  * vport rss configuration data
134211e25f0dSDavid C Somayajulu  */
134311e25f0dSDavid C Somayajulu struct eth_vport_rss_config
134411e25f0dSDavid C Somayajulu {
134511e25f0dSDavid C Somayajulu 	__le16 capabilities;
134611e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV4_CAPABILITY_MASK        0x1 /* configuration of the IpV4 2-tuple capability */
134711e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV4_CAPABILITY_SHIFT       0
134811e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV6_CAPABILITY_MASK        0x1 /* configuration of the IpV6 2-tuple capability */
134911e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV6_CAPABILITY_SHIFT       1
135011e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV4_TCP_CAPABILITY_MASK    0x1 /* configuration of the IpV4 4-tuple capability for TCP */
135111e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV4_TCP_CAPABILITY_SHIFT   2
135211e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV6_TCP_CAPABILITY_MASK    0x1 /* configuration of the IpV6 4-tuple capability for TCP */
135311e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV6_TCP_CAPABILITY_SHIFT   3
135411e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV4_UDP_CAPABILITY_MASK    0x1 /* configuration of the IpV4 4-tuple capability for UDP */
135511e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV4_UDP_CAPABILITY_SHIFT   4
135611e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV6_UDP_CAPABILITY_MASK    0x1 /* configuration of the IpV6 4-tuple capability for UDP */
135711e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_IPV6_UDP_CAPABILITY_SHIFT   5
135811e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_EN_5_TUPLE_CAPABILITY_MASK  0x1 /* configuration of the 5-tuple capability */
135911e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_EN_5_TUPLE_CAPABILITY_SHIFT 6
136011e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_RESERVED0_MASK              0x1FF /* if set update the rss keys */
136111e25f0dSDavid C Somayajulu #define ETH_VPORT_RSS_CONFIG_RESERVED0_SHIFT             7
136211e25f0dSDavid C Somayajulu 	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. */;
1363217ec208SDavid C Somayajulu 	u8 rss_mode /* The RSS mode for this function (use enum eth_vport_rss_mode) */;
136411e25f0dSDavid C Somayajulu 	u8 update_rss_key /* if set update the rss key */;
136511e25f0dSDavid C Somayajulu 	u8 update_rss_ind_table /* if set update the indirection table values */;
136611e25f0dSDavid C Somayajulu 	u8 update_rss_capabilities /* if set update the capabilities and indirection table size. */;
136711e25f0dSDavid C Somayajulu 	u8 tbl_size /* rss mask (Tbl size) */;
136811e25f0dSDavid C Somayajulu 	__le32 reserved2[2];
136911e25f0dSDavid C Somayajulu 	__le16 indirection_table[ETH_RSS_IND_TABLE_ENTRIES_NUM] /* RSS indirection table */;
137011e25f0dSDavid C Somayajulu 	__le32 rss_key[ETH_RSS_KEY_SIZE_REGS] /* RSS key supplied to us by OS */;
137111e25f0dSDavid C Somayajulu 	__le32 reserved3[2];
137211e25f0dSDavid C Somayajulu };
137311e25f0dSDavid C Somayajulu 
137411e25f0dSDavid C Somayajulu /*
137511e25f0dSDavid C Somayajulu  * eth vport RSS mode
137611e25f0dSDavid C Somayajulu  */
137711e25f0dSDavid C Somayajulu enum eth_vport_rss_mode
137811e25f0dSDavid C Somayajulu {
137911e25f0dSDavid C Somayajulu 	ETH_VPORT_RSS_MODE_DISABLED /* RSS Disabled */,
138011e25f0dSDavid C Somayajulu 	ETH_VPORT_RSS_MODE_REGULAR /* Regular (ndis-like) RSS */,
138111e25f0dSDavid C Somayajulu 	MAX_ETH_VPORT_RSS_MODE
138211e25f0dSDavid C Somayajulu };
138311e25f0dSDavid C Somayajulu 
138411e25f0dSDavid C Somayajulu /*
138511e25f0dSDavid C Somayajulu  * Command for setting classification flags for a vport $$KEEP_ENDIANNESS$$
138611e25f0dSDavid C Somayajulu  */
138711e25f0dSDavid C Somayajulu struct eth_vport_rx_mode
138811e25f0dSDavid C Somayajulu {
138911e25f0dSDavid C Somayajulu 	__le16 state;
139011e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_UCAST_DROP_ALL_MASK          0x1 /* drop all unicast packets */
139111e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_UCAST_DROP_ALL_SHIFT         0
139211e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_ALL_MASK        0x1 /* accept all unicast packets (subject to vlan) */
139311e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_ALL_SHIFT       1
139411e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_UNMATCHED_MASK  0x1 /* accept all unmatched unicast packets */
139511e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_UCAST_ACCEPT_UNMATCHED_SHIFT 2
139611e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_MCAST_DROP_ALL_MASK          0x1 /* drop all multicast packets */
139711e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_MCAST_DROP_ALL_SHIFT         3
139811e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_MCAST_ACCEPT_ALL_MASK        0x1 /* accept all multicast packets (subject to vlan) */
139911e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_MCAST_ACCEPT_ALL_SHIFT       4
140011e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_BCAST_ACCEPT_ALL_MASK        0x1 /* accept all broadcast packets (subject to vlan) */
140111e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_BCAST_ACCEPT_ALL_SHIFT       5
140211e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_RESERVED1_MASK               0x3FF
140311e25f0dSDavid C Somayajulu #define ETH_VPORT_RX_MODE_RESERVED1_SHIFT              6
140411e25f0dSDavid C Somayajulu };
140511e25f0dSDavid C Somayajulu 
140611e25f0dSDavid C Somayajulu /*
140711e25f0dSDavid C Somayajulu  * Command for setting tpa parameters
140811e25f0dSDavid C Somayajulu  */
140911e25f0dSDavid C Somayajulu struct eth_vport_tpa_param
141011e25f0dSDavid C Somayajulu {
141111e25f0dSDavid C Somayajulu 	u8 tpa_ipv4_en_flg /* Enable TPA for IPv4 packets */;
141211e25f0dSDavid C Somayajulu 	u8 tpa_ipv6_en_flg /* Enable TPA for IPv6 packets */;
141311e25f0dSDavid C Somayajulu 	u8 tpa_ipv4_tunn_en_flg /* Enable TPA for IPv4 over tunnel */;
141411e25f0dSDavid C Somayajulu 	u8 tpa_ipv6_tunn_en_flg /* Enable TPA for IPv6 over tunnel */;
1415217ec208SDavid C Somayajulu 	u8 tpa_pkt_split_flg /* If set, start each TPA segment on new BD (GRO mode). One BD per segment allowed. */;
1416217ec208SDavid C Somayajulu 	u8 tpa_hdr_data_split_flg /* If set, put header of first TPA segment on first BD and data on second BD. */;
141711e25f0dSDavid C Somayajulu 	u8 tpa_gro_consistent_flg /* If set, GRO data consistent will checked for TPA continue */;
141811e25f0dSDavid C Somayajulu 	u8 tpa_max_aggs_num /* maximum number of opened aggregations per v-port  */;
141911e25f0dSDavid C Somayajulu 	__le16 tpa_max_size /* maximal size for the aggregated TPA packets */;
142011e25f0dSDavid C Somayajulu 	__le16 tpa_min_size_to_start /* minimum TCP payload size for a packet to start aggregation */;
142111e25f0dSDavid C Somayajulu 	__le16 tpa_min_size_to_cont /* minimum TCP payload size for a packet to continue aggregation */;
142211e25f0dSDavid C Somayajulu 	u8 max_buff_num /* maximal number of buffers that can be used for one aggregation */;
142311e25f0dSDavid C Somayajulu 	u8 reserved;
142411e25f0dSDavid C Somayajulu };
142511e25f0dSDavid C Somayajulu 
142611e25f0dSDavid C Somayajulu /*
142711e25f0dSDavid C Somayajulu  * Command for setting classification flags for a vport $$KEEP_ENDIANNESS$$
142811e25f0dSDavid C Somayajulu  */
142911e25f0dSDavid C Somayajulu struct eth_vport_tx_mode
143011e25f0dSDavid C Somayajulu {
143111e25f0dSDavid C Somayajulu 	__le16 state;
143211e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_UCAST_DROP_ALL_MASK    0x1 /* drop all unicast packets */
143311e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_UCAST_DROP_ALL_SHIFT   0
143411e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_UCAST_ACCEPT_ALL_MASK  0x1 /* accept all unicast packets (subject to vlan) */
143511e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_UCAST_ACCEPT_ALL_SHIFT 1
143611e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_MCAST_DROP_ALL_MASK    0x1 /* drop all multicast packets */
143711e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_MCAST_DROP_ALL_SHIFT   2
143811e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_MCAST_ACCEPT_ALL_MASK  0x1 /* accept all multicast packets (subject to vlan) */
143911e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_MCAST_ACCEPT_ALL_SHIFT 3
144011e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_BCAST_ACCEPT_ALL_MASK  0x1 /* accept all broadcast packets (subject to vlan) */
144111e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_BCAST_ACCEPT_ALL_SHIFT 4
144211e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_RESERVED1_MASK         0x7FF
144311e25f0dSDavid C Somayajulu #define ETH_VPORT_TX_MODE_RESERVED1_SHIFT        5
144411e25f0dSDavid C Somayajulu };
144511e25f0dSDavid C Somayajulu 
144611e25f0dSDavid C Somayajulu /*
1447217ec208SDavid C Somayajulu  * GFT filter update action type.
144811e25f0dSDavid C Somayajulu  */
144911e25f0dSDavid C Somayajulu enum gft_filter_update_action
145011e25f0dSDavid C Somayajulu {
145111e25f0dSDavid C Somayajulu 	GFT_ADD_FILTER,
145211e25f0dSDavid C Somayajulu 	GFT_DELETE_FILTER,
145311e25f0dSDavid C Somayajulu 	MAX_GFT_FILTER_UPDATE_ACTION
145411e25f0dSDavid C Somayajulu };
145511e25f0dSDavid C Somayajulu 
145611e25f0dSDavid C Somayajulu /*
145711e25f0dSDavid C Somayajulu  * Ramrod data for rx add openflow filter
145811e25f0dSDavid C Somayajulu  */
145911e25f0dSDavid C Somayajulu struct rx_add_openflow_filter_data
146011e25f0dSDavid C Somayajulu {
146111e25f0dSDavid C Somayajulu 	__le16 action_icid /* CID of Action to run for this filter */;
146211e25f0dSDavid C Somayajulu 	u8 priority /* Searcher String - Packet priority */;
146311e25f0dSDavid C Somayajulu 	u8 reserved0;
146411e25f0dSDavid C Somayajulu 	__le32 tenant_id /* Searcher String - Tenant ID */;
146511e25f0dSDavid C Somayajulu 	__le16 dst_mac_hi /* Searcher String - Destination Mac Bytes 0 to 1 */;
146611e25f0dSDavid C Somayajulu 	__le16 dst_mac_mid /* Searcher String - Destination Mac Bytes 2 to 3 */;
146711e25f0dSDavid C Somayajulu 	__le16 dst_mac_lo /* Searcher String - Destination Mac Bytes 4 to 5 */;
146811e25f0dSDavid C Somayajulu 	__le16 src_mac_hi /* Searcher String - Source Mac 0 to 1 */;
146911e25f0dSDavid C Somayajulu 	__le16 src_mac_mid /* Searcher String - Source Mac 2 to 3 */;
147011e25f0dSDavid C Somayajulu 	__le16 src_mac_lo /* Searcher String - Source Mac 4 to 5 */;
147111e25f0dSDavid C Somayajulu 	__le16 vlan_id /* Searcher String - Vlan ID */;
147211e25f0dSDavid C Somayajulu 	__le16 l2_eth_type /* Searcher String - Last L2 Ethertype */;
147311e25f0dSDavid C Somayajulu 	u8 ipv4_dscp /* Searcher String - IPv4 6 MSBs of the TOS Field */;
1474217ec208SDavid C Somayajulu 	u8 ipv4_frag_type /* Searcher String - IPv4 Fragmentation Type (use enum eth_ipv4_frag_type) */;
147511e25f0dSDavid C Somayajulu 	u8 ipv4_over_ip /* Searcher String - IPv4 Over IP Type */;
147611e25f0dSDavid C Somayajulu 	u8 tenant_id_exists /* Searcher String - Tenant ID Exists */;
147711e25f0dSDavid C Somayajulu 	__le32 ipv4_dst_addr /* Searcher String - IPv4 Destination Address */;
147811e25f0dSDavid C Somayajulu 	__le32 ipv4_src_addr /* Searcher String - IPv4 Source Address */;
147911e25f0dSDavid C Somayajulu 	__le16 l4_dst_port /* Searcher String - TCP/UDP Destination Port */;
148011e25f0dSDavid C Somayajulu 	__le16 l4_src_port /* Searcher String - TCP/UDP Source Port */;
148111e25f0dSDavid C Somayajulu };
148211e25f0dSDavid C Somayajulu 
148311e25f0dSDavid C Somayajulu /*
148411e25f0dSDavid C Somayajulu  * Ramrod data for rx create gft action
148511e25f0dSDavid C Somayajulu  */
148611e25f0dSDavid C Somayajulu struct rx_create_gft_action_data
148711e25f0dSDavid C Somayajulu {
148811e25f0dSDavid C Somayajulu 	u8 vport_id /* Vport Id of GFT Action  */;
148911e25f0dSDavid C Somayajulu 	u8 reserved[7];
149011e25f0dSDavid C Somayajulu };
149111e25f0dSDavid C Somayajulu 
149211e25f0dSDavid C Somayajulu /*
149311e25f0dSDavid C Somayajulu  * Ramrod data for rx create openflow action
149411e25f0dSDavid C Somayajulu  */
149511e25f0dSDavid C Somayajulu struct rx_create_openflow_action_data
149611e25f0dSDavid C Somayajulu {
149711e25f0dSDavid C Somayajulu 	u8 vport_id /* ID of RX queue */;
149811e25f0dSDavid C Somayajulu 	u8 reserved[7];
149911e25f0dSDavid C Somayajulu };
150011e25f0dSDavid C Somayajulu 
150111e25f0dSDavid C Somayajulu /*
150211e25f0dSDavid C Somayajulu  * Ramrod data for rx queue start ramrod
150311e25f0dSDavid C Somayajulu  */
150411e25f0dSDavid C Somayajulu struct rx_queue_start_ramrod_data
150511e25f0dSDavid C Somayajulu {
150611e25f0dSDavid C Somayajulu 	__le16 rx_queue_id /* ID of RX queue */;
1507217ec208SDavid C Somayajulu 	__le16 num_of_pbl_pages /* Number of pages in CQE PBL */;
150811e25f0dSDavid C Somayajulu 	__le16 bd_max_bytes /* maximal bytes that can be places on the bd */;
150911e25f0dSDavid C Somayajulu 	__le16 sb_id /* Status block ID */;
151011e25f0dSDavid C Somayajulu 	u8 sb_index /* index of the protocol index */;
151111e25f0dSDavid C Somayajulu 	u8 vport_id /* ID of virtual port */;
151211e25f0dSDavid C Somayajulu 	u8 default_rss_queue_flg /* set queue as default rss queue if set */;
151311e25f0dSDavid C Somayajulu 	u8 complete_cqe_flg /* post completion to the CQE ring if set */;
151411e25f0dSDavid C Somayajulu 	u8 complete_event_flg /* post completion to the event ring if set */;
151511e25f0dSDavid C Somayajulu 	u8 stats_counter_id /* Statistics counter ID */;
151611e25f0dSDavid C Somayajulu 	u8 pin_context /* Pin context in CCFC to improve performance */;
151711e25f0dSDavid C Somayajulu 	u8 pxp_tph_valid_bd /* PXP command TPH Valid - for BD/SGE fetch */;
151811e25f0dSDavid C Somayajulu 	u8 pxp_tph_valid_pkt /* PXP command TPH Valid - for packet placement */;
151911e25f0dSDavid C Somayajulu 	u8 pxp_st_hint /* PXP command Steering tag hint. Use enum pxp_tph_st_hint */;
152011e25f0dSDavid C Somayajulu 	__le16 pxp_st_index /* PXP command Steering tag index */;
152111e25f0dSDavid C Somayajulu 	u8 pmd_mode /* Indicates that current queue belongs to poll-mode driver */;
152211e25f0dSDavid C Somayajulu 	u8 notify_en /* Indicates that the current queue is using the TX notification queue mechanism - should be set only for PMD queue */;
152311e25f0dSDavid C Somayajulu 	u8 toggle_val /* Initial value for the toggle valid bit - used in PMD mode */;
152411e25f0dSDavid C Somayajulu 	u8 vf_rx_prod_index /* Index of RX producers in VF zone. Used for VF only. */;
152511e25f0dSDavid C Somayajulu 	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. */;
152611e25f0dSDavid C Somayajulu 	u8 reserved[5];
152711e25f0dSDavid C Somayajulu 	__le16 reserved1 /* FW reserved. */;
152811e25f0dSDavid C Somayajulu 	struct regpair cqe_pbl_addr /* Base address on host of CQE PBL */;
152911e25f0dSDavid C Somayajulu 	struct regpair bd_base /* bd address of the first bd page */;
153011e25f0dSDavid C Somayajulu 	struct regpair reserved2 /* FW reserved. */;
153111e25f0dSDavid C Somayajulu };
153211e25f0dSDavid C Somayajulu 
153311e25f0dSDavid C Somayajulu /*
153411e25f0dSDavid C Somayajulu  * Ramrod data for rx queue stop ramrod
153511e25f0dSDavid C Somayajulu  */
153611e25f0dSDavid C Somayajulu struct rx_queue_stop_ramrod_data
153711e25f0dSDavid C Somayajulu {
153811e25f0dSDavid C Somayajulu 	__le16 rx_queue_id /* ID of RX queue */;
153911e25f0dSDavid C Somayajulu 	u8 complete_cqe_flg /* post completion to the CQE ring if set */;
154011e25f0dSDavid C Somayajulu 	u8 complete_event_flg /* post completion to the event ring if set */;
154111e25f0dSDavid C Somayajulu 	u8 vport_id /* ID of virtual port */;
154211e25f0dSDavid C Somayajulu 	u8 reserved[3];
154311e25f0dSDavid C Somayajulu };
154411e25f0dSDavid C Somayajulu 
154511e25f0dSDavid C Somayajulu /*
154611e25f0dSDavid C Somayajulu  * Ramrod data for rx queue update ramrod
154711e25f0dSDavid C Somayajulu  */
154811e25f0dSDavid C Somayajulu struct rx_queue_update_ramrod_data
154911e25f0dSDavid C Somayajulu {
155011e25f0dSDavid C Somayajulu 	__le16 rx_queue_id /* ID of RX queue */;
155111e25f0dSDavid C Somayajulu 	u8 complete_cqe_flg /* post completion to the CQE ring if set */;
155211e25f0dSDavid C Somayajulu 	u8 complete_event_flg /* post completion to the event ring if set */;
155311e25f0dSDavid C Somayajulu 	u8 vport_id /* ID of virtual port */;
1554217ec208SDavid C Somayajulu 	u8 set_default_rss_queue /* If set, update default rss queue to this RX queue. */;
1555217ec208SDavid C Somayajulu 	u8 reserved[3];
155611e25f0dSDavid C Somayajulu 	u8 reserved1 /* FW reserved. */;
155711e25f0dSDavid C Somayajulu 	u8 reserved2 /* FW reserved. */;
155811e25f0dSDavid C Somayajulu 	u8 reserved3 /* FW reserved. */;
155911e25f0dSDavid C Somayajulu 	__le16 reserved4 /* FW reserved. */;
156011e25f0dSDavid C Somayajulu 	__le16 reserved5 /* FW reserved. */;
156111e25f0dSDavid C Somayajulu 	struct regpair reserved6 /* FW reserved. */;
156211e25f0dSDavid C Somayajulu };
156311e25f0dSDavid C Somayajulu 
156411e25f0dSDavid C Somayajulu /*
156511e25f0dSDavid C Somayajulu  * Ramrod data for rx Add UDP Filter
156611e25f0dSDavid C Somayajulu  */
156711e25f0dSDavid C Somayajulu struct rx_udp_filter_data
156811e25f0dSDavid C Somayajulu {
156911e25f0dSDavid C Somayajulu 	__le16 action_icid /* CID of Action to run for this filter */;
157011e25f0dSDavid C Somayajulu 	__le16 vlan_id /* Searcher String - Vlan ID */;
1571217ec208SDavid C Somayajulu 	u8 ip_type /* Searcher String - IP Type (use enum eth_ip_type) */;
157211e25f0dSDavid C Somayajulu 	u8 tenant_id_exists /* Searcher String - Tenant ID Exists */;
157311e25f0dSDavid C Somayajulu 	__le16 reserved1;
157411e25f0dSDavid C Somayajulu 	__le32 ip_dst_addr[4] /* Searcher String - IP Destination Address, for IPv4 use ip_dst_addr[0] only */;
157511e25f0dSDavid C Somayajulu 	__le32 ip_src_addr[4] /* Searcher String - IP Source Address, for IPv4 use ip_dst_addr[0] only */;
157611e25f0dSDavid C Somayajulu 	__le16 udp_dst_port /* Searcher String - UDP Destination Port */;
157711e25f0dSDavid C Somayajulu 	__le16 udp_src_port /* Searcher String - UDP Source Port */;
157811e25f0dSDavid C Somayajulu 	__le32 tenant_id /* Searcher String - Tenant ID */;
157911e25f0dSDavid C Somayajulu };
158011e25f0dSDavid C Somayajulu 
158111e25f0dSDavid C Somayajulu /*
1582217ec208SDavid C Somayajulu  * add or delete GFT filter - filter is packet header of type of packet wished to pass certain FW flow
158311e25f0dSDavid C Somayajulu  */
158411e25f0dSDavid C Somayajulu struct rx_update_gft_filter_data
158511e25f0dSDavid C Somayajulu {
158611e25f0dSDavid C Somayajulu 	struct regpair pkt_hdr_addr /* Pointer to Packet Header That Defines GFT Filter */;
158711e25f0dSDavid C Somayajulu 	__le16 pkt_hdr_length /* Packet Header Length */;
1588217ec208SDavid C Somayajulu 	__le16 action_icid /* Action icid. Valid if action_icid_valid flag set. */;
1589217ec208SDavid C Somayajulu 	__le16 rx_qid /* RX queue ID. Valid if rx_qid_valid set. */;
1590217ec208SDavid C Somayajulu 	__le16 flow_id /* RX flow ID. Valid if flow_id_valid set. */;
1591217ec208SDavid C Somayajulu 	__le16 vport_id /* RX vport Id. For drop flow, set to ETH_GFT_TRASHCAN_VPORT. */;
1592217ec208SDavid C Somayajulu 	u8 action_icid_valid /* If set, action_icid will used for GFT filter update. */;
1593217ec208SDavid C Somayajulu 	u8 rx_qid_valid /* If set, rx_qid will used for traffic steering, in additional to vport_id. flow_id_valid must be cleared. If cleared, queue ID will selected by RSS. */;
1594217ec208SDavid C Somayajulu 	u8 flow_id_valid /* If set, flow_id will reported by CQE, rx_qid_valid must be cleared. If cleared, flow_id 0 will reported by CQE. */;
1595217ec208SDavid C Somayajulu 	u8 filter_action /* Use to set type of action on filter (use enum gft_filter_update_action) */;
159611e25f0dSDavid C Somayajulu 	u8 assert_on_error /* 0 - dont assert in case of error. Just return an error code. 1 - assert in case of error. */;
1597217ec208SDavid C Somayajulu 	u8 reserved;
159811e25f0dSDavid C Somayajulu };
159911e25f0dSDavid C Somayajulu 
160011e25f0dSDavid C Somayajulu /*
160111e25f0dSDavid C Somayajulu  * Ramrod data for tx queue start ramrod
160211e25f0dSDavid C Somayajulu  */
160311e25f0dSDavid C Somayajulu struct tx_queue_start_ramrod_data
160411e25f0dSDavid C Somayajulu {
160511e25f0dSDavid C Somayajulu 	__le16 sb_id /* Status block ID */;
160611e25f0dSDavid C Somayajulu 	u8 sb_index /* Status block protocol index */;
160711e25f0dSDavid C Somayajulu 	u8 vport_id /* VPort ID */;
160811e25f0dSDavid C Somayajulu 	u8 reserved0 /* FW reserved. (qcn_rl_en) */;
160911e25f0dSDavid C Somayajulu 	u8 stats_counter_id /* Statistics counter ID to use */;
161011e25f0dSDavid C Somayajulu 	__le16 qm_pq_id /* QM PQ ID */;
161111e25f0dSDavid C Somayajulu 	u8 flags;
161211e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_DISABLE_OPPORTUNISTIC_MASK  0x1 /* 0: Enable QM opportunistic flow. 1: Disable QM opportunistic flow */
161311e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_DISABLE_OPPORTUNISTIC_SHIFT 0
161411e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_PKT_DUP_MASK      0x1 /* If set, Test Mode - packets will be duplicated by Xstorm handler */
161511e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_PKT_DUP_SHIFT     1
161611e25f0dSDavid C Somayajulu #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 */
161711e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_TEST_MODE_TX_DEST_SHIFT     2
161811e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_PMD_MODE_MASK               0x1 /* Indicates that current queue belongs to poll-mode driver */
161911e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_PMD_MODE_SHIFT              3
162011e25f0dSDavid C Somayajulu #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 */
162111e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_NOTIFY_EN_SHIFT             4
162211e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_PIN_CONTEXT_MASK            0x1 /* Pin context in CCFC to improve performance */
162311e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_PIN_CONTEXT_SHIFT           5
162411e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_RESERVED1_MASK              0x3
162511e25f0dSDavid C Somayajulu #define TX_QUEUE_START_RAMROD_DATA_RESERVED1_SHIFT             6
1626217ec208SDavid C Somayajulu 	u8 pxp_st_hint /* PXP command Steering tag hint (use enum pxp_tph_st_hint) */;
162711e25f0dSDavid C Somayajulu 	u8 pxp_tph_valid_bd /* PXP command TPH Valid - for BD fetch */;
162811e25f0dSDavid C Somayajulu 	u8 pxp_tph_valid_pkt /* PXP command TPH Valid - for packet fetch */;
162911e25f0dSDavid C Somayajulu 	__le16 pxp_st_index /* PXP command Steering tag index */;
163011e25f0dSDavid C Somayajulu 	__le16 comp_agg_size /* TX completion min agg size - for PMD queues */;
163111e25f0dSDavid C Somayajulu 	__le16 queue_zone_id /* queue zone ID to use */;
163211e25f0dSDavid C Somayajulu 	__le16 reserved2 /* FW reserved. (test_dup_count) */;
163311e25f0dSDavid C Somayajulu 	__le16 pbl_size /* Number of BD pages pointed by PBL */;
163411e25f0dSDavid C Somayajulu 	__le16 tx_queue_id /* unique Queue ID - currently used only by PMD flow */;
163511e25f0dSDavid C Somayajulu 	__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) */;
163611e25f0dSDavid C Somayajulu 	__le16 reserved[3];
163711e25f0dSDavid C Somayajulu 	struct regpair pbl_base_addr /* address of the pbl page */;
163811e25f0dSDavid C Somayajulu 	struct regpair bd_cons_address /* BD consumer address in host - for PMD queues */;
163911e25f0dSDavid C Somayajulu };
164011e25f0dSDavid C Somayajulu 
164111e25f0dSDavid C Somayajulu /*
164211e25f0dSDavid C Somayajulu  * Ramrod data for tx queue stop ramrod
164311e25f0dSDavid C Somayajulu  */
164411e25f0dSDavid C Somayajulu struct tx_queue_stop_ramrod_data
164511e25f0dSDavid C Somayajulu {
164611e25f0dSDavid C Somayajulu 	__le16 reserved[4];
164711e25f0dSDavid C Somayajulu };
164811e25f0dSDavid C Somayajulu 
1649217ec208SDavid C Somayajulu /*
1650217ec208SDavid C Somayajulu  * Ramrod data for tx queue update ramrod
1651217ec208SDavid C Somayajulu  */
1652217ec208SDavid C Somayajulu struct tx_queue_update_ramrod_data
1653217ec208SDavid C Somayajulu {
1654217ec208SDavid C Somayajulu 	__le16 update_qm_pq_id_flg /* Flag to Update QM PQ ID */;
1655217ec208SDavid C Somayajulu 	__le16 qm_pq_id /* Updated QM PQ ID */;
1656217ec208SDavid C Somayajulu 	__le32 reserved0;
1657217ec208SDavid C Somayajulu 	struct regpair reserved1[5];
1658217ec208SDavid C Somayajulu };
1659217ec208SDavid C Somayajulu 
166011e25f0dSDavid C Somayajulu /*
166111e25f0dSDavid C Somayajulu  * Ramrod data for vport update ramrod
166211e25f0dSDavid C Somayajulu  */
166311e25f0dSDavid C Somayajulu struct vport_filter_update_ramrod_data
166411e25f0dSDavid C Somayajulu {
166511e25f0dSDavid C Somayajulu 	struct eth_filter_cmd_header filter_cmd_hdr /* Header for Filter Commands (RX/TX, Add/Remove/Replace, etc) */;
166611e25f0dSDavid C Somayajulu 	struct eth_filter_cmd filter_cmds[ETH_FILTER_RULES_COUNT] /* Filter Commands */;
166711e25f0dSDavid C Somayajulu };
166811e25f0dSDavid C Somayajulu 
166911e25f0dSDavid C Somayajulu /*
167011e25f0dSDavid C Somayajulu  * Ramrod data for vport start ramrod
167111e25f0dSDavid C Somayajulu  */
167211e25f0dSDavid C Somayajulu struct vport_start_ramrod_data
167311e25f0dSDavid C Somayajulu {
167411e25f0dSDavid C Somayajulu 	u8 vport_id;
167511e25f0dSDavid C Somayajulu 	u8 sw_fid;
167611e25f0dSDavid C Somayajulu 	__le16 mtu;
167711e25f0dSDavid C Somayajulu 	u8 drop_ttl0_en /* if set, drop packet with ttl=0 */;
167811e25f0dSDavid C Somayajulu 	u8 inner_vlan_removal_en;
167911e25f0dSDavid C Somayajulu 	struct eth_vport_rx_mode rx_mode /* Rx filter data */;
168011e25f0dSDavid C Somayajulu 	struct eth_vport_tx_mode tx_mode /* Tx filter data */;
168111e25f0dSDavid C Somayajulu 	struct eth_vport_tpa_param tpa_param /* TPA configuration parameters */;
168211e25f0dSDavid C Somayajulu 	__le16 default_vlan /* Default Vlan value to be forced by FW */;
168311e25f0dSDavid C Somayajulu 	u8 tx_switching_en /* Tx switching is enabled for current Vport */;
168411e25f0dSDavid C Somayajulu 	u8 anti_spoofing_en /* Anti-spoofing verification is set for current Vport */;
168511e25f0dSDavid C Somayajulu 	u8 default_vlan_en /* If set, the default Vlan value is forced by the FW */;
168611e25f0dSDavid C Somayajulu 	u8 handle_ptp_pkts /* If set, the vport handles PTP Timesync Packets */;
168711e25f0dSDavid C Somayajulu 	u8 silent_vlan_removal_en /* If enable then innerVlan will be striped and not written to cqe */;
168811e25f0dSDavid C Somayajulu 	u8 untagged /* If set untagged filter (vlan0) is added to current Vport, otherwise port is marked as any-vlan */;
168911e25f0dSDavid C Somayajulu 	struct eth_tx_err_vals tx_err_behav /* Desired behavior per TX error type */;
169011e25f0dSDavid C Somayajulu 	u8 zero_placement_offset /* If set, ETH header padding will not inserted. placement_offset will be zero. */;
1691217ec208SDavid C Somayajulu 	u8 ctl_frame_mac_check_en /* If set, control frames will be filtered according to MAC check. */;
1692217ec208SDavid C Somayajulu 	u8 ctl_frame_ethtype_check_en /* If set, control frames will be filtered according to ethtype check. */;
1693217ec208SDavid C Somayajulu 	u8 reserved[1];
169411e25f0dSDavid C Somayajulu };
169511e25f0dSDavid C Somayajulu 
169611e25f0dSDavid C Somayajulu /*
169711e25f0dSDavid C Somayajulu  * Ramrod data for vport stop ramrod
169811e25f0dSDavid C Somayajulu  */
169911e25f0dSDavid C Somayajulu struct vport_stop_ramrod_data
170011e25f0dSDavid C Somayajulu {
170111e25f0dSDavid C Somayajulu 	u8 vport_id;
170211e25f0dSDavid C Somayajulu 	u8 reserved[7];
170311e25f0dSDavid C Somayajulu };
170411e25f0dSDavid C Somayajulu 
170511e25f0dSDavid C Somayajulu /*
170611e25f0dSDavid C Somayajulu  * Ramrod data for vport update ramrod
170711e25f0dSDavid C Somayajulu  */
170811e25f0dSDavid C Somayajulu struct vport_update_ramrod_data_cmn
170911e25f0dSDavid C Somayajulu {
171011e25f0dSDavid C Somayajulu 	u8 vport_id;
171111e25f0dSDavid C Somayajulu 	u8 update_rx_active_flg /* set if rx active flag should be handled */;
171211e25f0dSDavid C Somayajulu 	u8 rx_active_flg /* rx active flag value */;
171311e25f0dSDavid C Somayajulu 	u8 update_tx_active_flg /* set if tx active flag should be handled */;
171411e25f0dSDavid C Somayajulu 	u8 tx_active_flg /* tx active flag value */;
171511e25f0dSDavid C Somayajulu 	u8 update_rx_mode_flg /* set if rx state data should be handled */;
171611e25f0dSDavid C Somayajulu 	u8 update_tx_mode_flg /* set if tx state data should be handled */;
171711e25f0dSDavid C Somayajulu 	u8 update_approx_mcast_flg /* set if approx. mcast data should be handled */;
171811e25f0dSDavid C Somayajulu 	u8 update_rss_flg /* set if rss data should be handled  */;
171911e25f0dSDavid C Somayajulu 	u8 update_inner_vlan_removal_en_flg /* set if inner_vlan_removal_en should be handled */;
172011e25f0dSDavid C Somayajulu 	u8 inner_vlan_removal_en;
172111e25f0dSDavid C Somayajulu 	u8 update_tpa_param_flg /* set if tpa parameters should be handled, TPA must be disable before */;
172211e25f0dSDavid C Somayajulu 	u8 update_tpa_en_flg /* set if tpa enable changes */;
172311e25f0dSDavid C Somayajulu 	u8 update_tx_switching_en_flg /* set if tx switching en flag should be handled */;
172411e25f0dSDavid C Somayajulu 	u8 tx_switching_en /* tx switching en value */;
172511e25f0dSDavid C Somayajulu 	u8 update_anti_spoofing_en_flg /* set if anti spoofing flag should be handled */;
172611e25f0dSDavid C Somayajulu 	u8 anti_spoofing_en /* Anti-spoofing verification en value */;
172711e25f0dSDavid C Somayajulu 	u8 update_handle_ptp_pkts /* set if handle_ptp_pkts should be handled. */;
172811e25f0dSDavid C Somayajulu 	u8 handle_ptp_pkts /* If set, the vport handles PTP Timesync Packets */;
172911e25f0dSDavid C Somayajulu 	u8 update_default_vlan_en_flg /* If set, the default Vlan enable flag is updated */;
173011e25f0dSDavid C Somayajulu 	u8 default_vlan_en /* If set, the default Vlan value is forced by the FW */;
173111e25f0dSDavid C Somayajulu 	u8 update_default_vlan_flg /* If set, the default Vlan value is updated */;
173211e25f0dSDavid C Somayajulu 	__le16 default_vlan /* Default Vlan value to be forced by FW */;
173311e25f0dSDavid C Somayajulu 	u8 update_accept_any_vlan_flg /* set if accept_any_vlan should be handled */;
173411e25f0dSDavid C Somayajulu 	u8 accept_any_vlan /* accept_any_vlan updated value */;
173511e25f0dSDavid C Somayajulu 	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 */;
173611e25f0dSDavid C Somayajulu 	u8 update_mtu_flg /* If set, MTU will be updated. Vport must be not active. */;
173711e25f0dSDavid C Somayajulu 	__le16 mtu /* New MTU value. Used if update_mtu_flg are set */;
173811e25f0dSDavid C Somayajulu 	u8 update_ctl_frame_checks_en_flg /* If set, ctl_frame_mac_check_en and ctl_frame_ethtype_check_en will be updated */;
1739217ec208SDavid C Somayajulu 	u8 ctl_frame_mac_check_en /* If set, control frames will be filtered according to MAC check. */;
1740217ec208SDavid C Somayajulu 	u8 ctl_frame_ethtype_check_en /* If set, control frames will be filtered according to ethtype check. */;
174111e25f0dSDavid C Somayajulu 	u8 reserved[15];
174211e25f0dSDavid C Somayajulu };
174311e25f0dSDavid C Somayajulu 
174411e25f0dSDavid C Somayajulu struct vport_update_ramrod_mcast
174511e25f0dSDavid C Somayajulu {
174611e25f0dSDavid C Somayajulu 	__le32 bins[ETH_MULTICAST_MAC_BINS_IN_REGS] /* multicast bins */;
174711e25f0dSDavid C Somayajulu };
174811e25f0dSDavid C Somayajulu 
174911e25f0dSDavid C Somayajulu /*
175011e25f0dSDavid C Somayajulu  * Ramrod data for vport update ramrod
175111e25f0dSDavid C Somayajulu  */
175211e25f0dSDavid C Somayajulu struct vport_update_ramrod_data
175311e25f0dSDavid C Somayajulu {
175411e25f0dSDavid C Somayajulu 	struct vport_update_ramrod_data_cmn common /* Common data for all vport update ramrods */;
175511e25f0dSDavid C Somayajulu 	struct eth_vport_rx_mode rx_mode /* vport rx mode bitmap */;
175611e25f0dSDavid C Somayajulu 	struct eth_vport_tx_mode tx_mode /* vport tx mode bitmap */;
1757217ec208SDavid C Somayajulu 	__le32 reserved[3];
175811e25f0dSDavid C Somayajulu 	struct eth_vport_tpa_param tpa_param /* TPA configuration parameters */;
175911e25f0dSDavid C Somayajulu 	struct vport_update_ramrod_mcast approx_mcast;
176011e25f0dSDavid C Somayajulu 	struct eth_vport_rss_config rss_config /* rss config data */;
176111e25f0dSDavid C Somayajulu };
176211e25f0dSDavid C Somayajulu 
176311e25f0dSDavid C Somayajulu struct E4XstormEthConnAgCtxDqExtLdPart
176411e25f0dSDavid C Somayajulu {
176511e25f0dSDavid C Somayajulu 	u8 reserved0 /* cdu_validation */;
1766217ec208SDavid C Somayajulu 	u8 state /* state */;
176711e25f0dSDavid C Somayajulu 	u8 flags0;
176811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
176911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM0_SHIFT           0
177011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED1_MASK               0x1 /* exist_in_qm1 */
177111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED1_SHIFT              1
177211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED2_MASK               0x1 /* exist_in_qm2 */
177311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED2_SHIFT              2
177411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
177511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM3_SHIFT           3
177611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED3_MASK               0x1 /* bit4 */
177711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED3_SHIFT              4
177811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED4_MASK               0x1 /* cf_array_active */
177911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED4_SHIFT              5
178011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED5_MASK               0x1 /* bit6 */
178111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED5_SHIFT              6
178211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED6_MASK               0x1 /* bit7 */
178311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED6_SHIFT              7
178411e25f0dSDavid C Somayajulu 	u8 flags1;
178511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED7_MASK               0x1 /* bit8 */
178611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED7_SHIFT              0
178711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED8_MASK               0x1 /* bit9 */
178811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED8_SHIFT              1
178911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_MASK               0x1 /* bit10 */
179011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_SHIFT              2
179111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_MASK                   0x1 /* bit11 */
179211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_SHIFT                  3
17939efd0ba7SDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED2_MASK            0x1 /* bit12 */
17949efd0ba7SDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED2_SHIFT           4
17959efd0ba7SDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED3_MASK            0x1 /* bit13 */
17969efd0ba7SDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_E5_RESERVED3_SHIFT           5
179711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
179811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_SHIFT         6
179911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
180011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_SHIFT           7
180111e25f0dSDavid C Somayajulu 	u8 flags2;
180211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0_MASK                     0x3 /* timer0cf */
180311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0_SHIFT                    0
180411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1_MASK                     0x3 /* timer1cf */
180511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1_SHIFT                    2
180611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2_MASK                     0x3 /* timer2cf */
180711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2_SHIFT                    4
180811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3_MASK                     0x3 /* timer_stop_all */
180911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3_SHIFT                    6
181011e25f0dSDavid C Somayajulu 	u8 flags3;
181111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4_MASK                     0x3 /* cf4 */
181211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4_SHIFT                    0
181311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5_MASK                     0x3 /* cf5 */
181411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5_SHIFT                    2
181511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6_MASK                     0x3 /* cf6 */
181611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6_SHIFT                    4
181711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7_MASK                     0x3 /* cf7 */
181811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7_SHIFT                    6
181911e25f0dSDavid C Somayajulu 	u8 flags4;
182011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8_MASK                     0x3 /* cf8 */
182111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8_SHIFT                    0
182211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9_MASK                     0x3 /* cf9 */
182311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9_SHIFT                    2
182411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10_MASK                    0x3 /* cf10 */
182511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10_SHIFT                   4
182611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11_MASK                    0x3 /* cf11 */
182711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11_SHIFT                   6
182811e25f0dSDavid C Somayajulu 	u8 flags5;
182911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12_MASK                    0x3 /* cf12 */
183011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12_SHIFT                   0
183111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13_MASK                    0x3 /* cf13 */
183211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13_SHIFT                   2
183311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14_MASK                    0x3 /* cf14 */
183411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14_SHIFT                   4
183511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15_MASK                    0x3 /* cf15 */
183611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15_SHIFT                   6
183711e25f0dSDavid C Somayajulu 	u8 flags6;
183811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
183911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_SHIFT       0
184011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
184111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_SHIFT       2
184211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_MASK                   0x3 /* cf18 */
184311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_SHIFT                  4
184411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_MASK            0x3 /* cf19 */
184511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_SHIFT           6
184611e25f0dSDavid C Somayajulu 	u8 flags7;
184711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_MASK                0x3 /* cf20 */
184811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_SHIFT               0
184911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED10_MASK              0x3 /* cf21 */
185011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED10_SHIFT             2
185111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_MASK               0x3 /* cf22 */
185211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_SHIFT              4
185311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0EN_MASK                   0x1 /* cf0en */
185411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF0EN_SHIFT                  6
185511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1EN_MASK                   0x1 /* cf1en */
185611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF1EN_SHIFT                  7
185711e25f0dSDavid C Somayajulu 	u8 flags8;
185811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2EN_MASK                   0x1 /* cf2en */
185911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF2EN_SHIFT                  0
186011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3EN_MASK                   0x1 /* cf3en */
186111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF3EN_SHIFT                  1
186211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4EN_MASK                   0x1 /* cf4en */
186311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF4EN_SHIFT                  2
186411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5EN_MASK                   0x1 /* cf5en */
186511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF5EN_SHIFT                  3
186611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6EN_MASK                   0x1 /* cf6en */
186711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF6EN_SHIFT                  4
186811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7EN_MASK                   0x1 /* cf7en */
186911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF7EN_SHIFT                  5
187011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8EN_MASK                   0x1 /* cf8en */
187111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF8EN_SHIFT                  6
187211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9EN_MASK                   0x1 /* cf9en */
187311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF9EN_SHIFT                  7
187411e25f0dSDavid C Somayajulu 	u8 flags9;
187511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10EN_MASK                  0x1 /* cf10en */
187611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF10EN_SHIFT                 0
187711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11EN_MASK                  0x1 /* cf11en */
187811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF11EN_SHIFT                 1
187911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12EN_MASK                  0x1 /* cf12en */
188011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF12EN_SHIFT                 2
188111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13EN_MASK                  0x1 /* cf13en */
188211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF13EN_SHIFT                 3
188311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14EN_MASK                  0x1 /* cf14en */
188411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF14EN_SHIFT                 4
188511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15EN_MASK                  0x1 /* cf15en */
188611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_CF15EN_SHIFT                 5
188711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
188811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_EN_SHIFT    6
188911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
189011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_EN_SHIFT    7
189111e25f0dSDavid C Somayajulu 	u8 flags10;
189211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_EN_MASK                0x1 /* cf18en */
189311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_EN_SHIFT               0
189411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
189511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_EN_SHIFT        1
189611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
189711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_EN_SHIFT            2
189811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED11_MASK              0x1 /* cf21en */
189911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED11_SHIFT             3
190011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_EN_MASK            0x1 /* cf22en */
190111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_EN_SHIFT           4
190211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
190311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_EN_RESERVED_SHIFT 5
190411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED12_MASK              0x1 /* rule0en */
190511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED12_SHIFT             6
190611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED13_MASK              0x1 /* rule1en */
190711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED13_SHIFT             7
190811e25f0dSDavid C Somayajulu 	u8 flags11;
190911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED14_MASK              0x1 /* rule2en */
191011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED14_SHIFT             0
191111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED15_MASK              0x1 /* rule3en */
191211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED15_SHIFT             1
191311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
191411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TX_DEC_RULE_EN_SHIFT         2
191511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE5EN_MASK                 0x1 /* rule5en */
191611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE5EN_SHIFT                3
191711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE6EN_MASK                 0x1 /* rule6en */
191811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE6EN_SHIFT                4
191911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE7EN_MASK                 0x1 /* rule7en */
192011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE7EN_SHIFT                5
192111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED1_MASK            0x1 /* rule8en */
192211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED1_SHIFT           6
192311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE9EN_MASK                 0x1 /* rule9en */
192411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE9EN_SHIFT                7
192511e25f0dSDavid C Somayajulu 	u8 flags12;
192611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE10EN_MASK                0x1 /* rule10en */
192711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE10EN_SHIFT               0
192811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE11EN_MASK                0x1 /* rule11en */
192911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE11EN_SHIFT               1
193011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED2_MASK            0x1 /* rule12en */
193111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED2_SHIFT           2
193211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED3_MASK            0x1 /* rule13en */
193311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED3_SHIFT           3
193411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE14EN_MASK                0x1 /* rule14en */
193511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE14EN_SHIFT               4
193611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE15EN_MASK                0x1 /* rule15en */
193711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE15EN_SHIFT               5
193811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE16EN_MASK                0x1 /* rule16en */
193911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE16EN_SHIFT               6
194011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE17EN_MASK                0x1 /* rule17en */
194111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE17EN_SHIFT               7
194211e25f0dSDavid C Somayajulu 	u8 flags13;
194311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE18EN_MASK                0x1 /* rule18en */
194411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE18EN_SHIFT               0
194511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE19EN_MASK                0x1 /* rule19en */
194611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_RULE19EN_SHIFT               1
194711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED4_MASK            0x1 /* rule20en */
194811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED4_SHIFT           2
194911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED5_MASK            0x1 /* rule21en */
195011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED5_SHIFT           3
195111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED6_MASK            0x1 /* rule22en */
195211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED6_SHIFT           4
195311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED7_MASK            0x1 /* rule23en */
195411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED7_SHIFT           5
195511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED8_MASK            0x1 /* rule24en */
195611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED8_SHIFT           6
195711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED9_MASK            0x1 /* rule25en */
195811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED9_SHIFT           7
195911e25f0dSDavid C Somayajulu 	u8 flags14;
196011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
196111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_USE_EXT_HDR_SHIFT       0
196211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
196311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_RAW_L3L4_SHIFT     1
196411e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
196511e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_INBAND_PROP_HDR_SHIFT   2
196611e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
196711e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_EXT_TUNNEL_SHIFT   3
196811e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
196911e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_L2_EDPM_ENABLE_SHIFT         4
197011e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
197111e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_SHIFT       5
197211e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_MASK              0x3 /* cf23 */
197311e25f0dSDavid C Somayajulu #define E4XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_SHIFT             6
197411e25f0dSDavid C Somayajulu 	u8 edpm_event_id /* byte2 */;
197511e25f0dSDavid C Somayajulu 	__le16 physical_q0 /* physical_q0 */;
197611e25f0dSDavid C Somayajulu 	__le16 e5_reserved1 /* physical_q1 */;
197711e25f0dSDavid C Somayajulu 	__le16 edpm_num_bds /* physical_q2 */;
197811e25f0dSDavid C Somayajulu 	__le16 tx_bd_cons /* word3 */;
197911e25f0dSDavid C Somayajulu 	__le16 tx_bd_prod /* word4 */;
198011e25f0dSDavid C Somayajulu 	__le16 tx_class /* word5 */;
198111e25f0dSDavid C Somayajulu 	__le16 conn_dpi /* conn_dpi */;
198211e25f0dSDavid C Somayajulu 	u8 byte3 /* byte3 */;
198311e25f0dSDavid C Somayajulu 	u8 byte4 /* byte4 */;
198411e25f0dSDavid C Somayajulu 	u8 byte5 /* byte5 */;
198511e25f0dSDavid C Somayajulu 	u8 byte6 /* byte6 */;
198611e25f0dSDavid C Somayajulu 	__le32 reg0 /* reg0 */;
198711e25f0dSDavid C Somayajulu 	__le32 reg1 /* reg1 */;
198811e25f0dSDavid C Somayajulu 	__le32 reg2 /* reg2 */;
198911e25f0dSDavid C Somayajulu 	__le32 reg3 /* reg3 */;
199011e25f0dSDavid C Somayajulu 	__le32 reg4 /* reg4 */;
199111e25f0dSDavid C Somayajulu };
199211e25f0dSDavid C Somayajulu 
199311e25f0dSDavid C Somayajulu struct e4_mstorm_eth_conn_ag_ctx
199411e25f0dSDavid C Somayajulu {
199511e25f0dSDavid C Somayajulu 	u8 byte0 /* cdu_validation */;
199611e25f0dSDavid C Somayajulu 	u8 byte1 /* state */;
199711e25f0dSDavid C Somayajulu 	u8 flags0;
199811e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK  0x1 /* exist_in_qm0 */
199911e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
200011e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_BIT1_MASK          0x1 /* exist_in_qm1 */
200111e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT         1
200211e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF0_MASK           0x3 /* cf0 */
200311e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF0_SHIFT          2
200411e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF1_MASK           0x3 /* cf1 */
200511e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF1_SHIFT          4
200611e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF2_MASK           0x3 /* cf2 */
200711e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF2_SHIFT          6
200811e25f0dSDavid C Somayajulu 	u8 flags1;
200911e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF0EN_MASK         0x1 /* cf0en */
201011e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT        0
201111e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF1EN_MASK         0x1 /* cf1en */
201211e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT        1
201311e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF2EN_MASK         0x1 /* cf2en */
201411e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT        2
201511e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK       0x1 /* rule0en */
201611e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT      3
201711e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK       0x1 /* rule1en */
201811e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT      4
201911e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK       0x1 /* rule2en */
202011e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT      5
202111e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK       0x1 /* rule3en */
202211e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT      6
202311e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK       0x1 /* rule4en */
202411e25f0dSDavid C Somayajulu #define E4_MSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT      7
202511e25f0dSDavid C Somayajulu 	__le16 word0 /* word0 */;
202611e25f0dSDavid C Somayajulu 	__le16 word1 /* word1 */;
202711e25f0dSDavid C Somayajulu 	__le32 reg0 /* reg0 */;
202811e25f0dSDavid C Somayajulu 	__le32 reg1 /* reg1 */;
202911e25f0dSDavid C Somayajulu };
203011e25f0dSDavid C Somayajulu 
203111e25f0dSDavid C Somayajulu struct e4_xstorm_eth_hw_conn_ag_ctx
203211e25f0dSDavid C Somayajulu {
203311e25f0dSDavid C Somayajulu 	u8 reserved0 /* cdu_validation */;
2034217ec208SDavid C Somayajulu 	u8 state /* state */;
203511e25f0dSDavid C Somayajulu 	u8 flags0;
203611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
203711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM0_SHIFT           0
203811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED1_MASK               0x1 /* exist_in_qm1 */
203911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED1_SHIFT              1
204011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED2_MASK               0x1 /* exist_in_qm2 */
204111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED2_SHIFT              2
204211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
204311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM3_SHIFT           3
204411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED3_MASK               0x1 /* bit4 */
204511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED3_SHIFT              4
204611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED4_MASK               0x1 /* cf_array_active */
204711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED4_SHIFT              5
204811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED5_MASK               0x1 /* bit6 */
204911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED5_SHIFT              6
205011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED6_MASK               0x1 /* bit7 */
205111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED6_SHIFT              7
205211e25f0dSDavid C Somayajulu 	u8 flags1;
205311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED7_MASK               0x1 /* bit8 */
205411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED7_SHIFT              0
205511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED8_MASK               0x1 /* bit9 */
205611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED8_SHIFT              1
205711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_MASK               0x1 /* bit10 */
205811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_SHIFT              2
205911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_MASK                   0x1 /* bit11 */
206011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_SHIFT                  3
20619efd0ba7SDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED2_MASK            0x1 /* bit12 */
20629efd0ba7SDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED2_SHIFT           4
20639efd0ba7SDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED3_MASK            0x1 /* bit13 */
20649efd0ba7SDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_E5_RESERVED3_SHIFT           5
206511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
206611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT         6
206711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
206811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT           7
206911e25f0dSDavid C Somayajulu 	u8 flags2;
207011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF0_MASK                     0x3 /* timer0cf */
207111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF0_SHIFT                    0
207211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF1_MASK                     0x3 /* timer1cf */
207311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF1_SHIFT                    2
207411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
207511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF2_SHIFT                    4
207611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
207711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF3_SHIFT                    6
207811e25f0dSDavid C Somayajulu 	u8 flags3;
207911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF4_MASK                     0x3 /* cf4 */
208011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF4_SHIFT                    0
208111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF5_MASK                     0x3 /* cf5 */
208211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF5_SHIFT                    2
208311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF6_MASK                     0x3 /* cf6 */
208411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF6_SHIFT                    4
208511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF7_MASK                     0x3 /* cf7 */
208611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF7_SHIFT                    6
208711e25f0dSDavid C Somayajulu 	u8 flags4;
208811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF8_MASK                     0x3 /* cf8 */
208911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF8_SHIFT                    0
209011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF9_MASK                     0x3 /* cf9 */
209111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF9_SHIFT                    2
209211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF10_MASK                    0x3 /* cf10 */
209311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF10_SHIFT                   4
209411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF11_MASK                    0x3 /* cf11 */
209511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF11_SHIFT                   6
209611e25f0dSDavid C Somayajulu 	u8 flags5;
209711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF12_MASK                    0x3 /* cf12 */
209811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF12_SHIFT                   0
209911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF13_MASK                    0x3 /* cf13 */
210011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF13_SHIFT                   2
210111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF14_MASK                    0x3 /* cf14 */
210211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF14_SHIFT                   4
210311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF15_MASK                    0x3 /* cf15 */
210411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF15_SHIFT                   6
210511e25f0dSDavid C Somayajulu 	u8 flags6;
210611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
210711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT       0
210811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
210911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT       2
211011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_MASK                   0x3 /* cf18 */
211111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_SHIFT                  4
211211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_MASK            0x3 /* cf19 */
211311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_SHIFT           6
211411e25f0dSDavid C Somayajulu 	u8 flags7;
211511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_MASK                0x3 /* cf20 */
211611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_SHIFT               0
211711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED10_MASK              0x3 /* cf21 */
211811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED10_SHIFT             2
211911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_MASK               0x3 /* cf22 */
212011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_SHIFT              4
212111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF0EN_MASK                   0x1 /* cf0en */
212211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF0EN_SHIFT                  6
212311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF1EN_MASK                   0x1 /* cf1en */
212411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF1EN_SHIFT                  7
212511e25f0dSDavid C Somayajulu 	u8 flags8;
212611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
212711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF2EN_SHIFT                  0
212811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
212911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF3EN_SHIFT                  1
213011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF4EN_MASK                   0x1 /* cf4en */
213111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF4EN_SHIFT                  2
213211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF5EN_MASK                   0x1 /* cf5en */
213311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF5EN_SHIFT                  3
213411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF6EN_MASK                   0x1 /* cf6en */
213511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF6EN_SHIFT                  4
213611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF7EN_MASK                   0x1 /* cf7en */
213711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF7EN_SHIFT                  5
213811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF8EN_MASK                   0x1 /* cf8en */
213911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF8EN_SHIFT                  6
214011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF9EN_MASK                   0x1 /* cf9en */
214111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF9EN_SHIFT                  7
214211e25f0dSDavid C Somayajulu 	u8 flags9;
214311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF10EN_MASK                  0x1 /* cf10en */
214411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF10EN_SHIFT                 0
214511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF11EN_MASK                  0x1 /* cf11en */
214611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF11EN_SHIFT                 1
214711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF12EN_MASK                  0x1 /* cf12en */
214811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF12EN_SHIFT                 2
214911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF13EN_MASK                  0x1 /* cf13en */
215011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF13EN_SHIFT                 3
215111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF14EN_MASK                  0x1 /* cf14en */
215211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF14EN_SHIFT                 4
215311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF15EN_MASK                  0x1 /* cf15en */
215411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_CF15EN_SHIFT                 5
215511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
215611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT    6
215711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
215811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT    7
215911e25f0dSDavid C Somayajulu 	u8 flags10;
216011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_EN_MASK                0x1 /* cf18en */
216111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_EN_SHIFT               0
216211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
216311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT        1
216411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
216511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT            2
216611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED11_MASK              0x1 /* cf21en */
216711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED11_SHIFT             3
216811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_EN_MASK            0x1 /* cf22en */
216911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_EN_SHIFT           4
217011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
217111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 5
217211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED12_MASK              0x1 /* rule0en */
217311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED12_SHIFT             6
217411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED13_MASK              0x1 /* rule1en */
217511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED13_SHIFT             7
217611e25f0dSDavid C Somayajulu 	u8 flags11;
217711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED14_MASK              0x1 /* rule2en */
217811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED14_SHIFT             0
217911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED15_MASK              0x1 /* rule3en */
218011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED15_SHIFT             1
218111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
218211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT         2
218311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
218411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE5EN_SHIFT                3
218511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
218611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE6EN_SHIFT                4
218711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
218811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE7EN_SHIFT                5
218911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED1_MASK            0x1 /* rule8en */
219011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED1_SHIFT           6
219111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE9EN_MASK                 0x1 /* rule9en */
219211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE9EN_SHIFT                7
219311e25f0dSDavid C Somayajulu 	u8 flags12;
219411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE10EN_MASK                0x1 /* rule10en */
219511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE10EN_SHIFT               0
219611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE11EN_MASK                0x1 /* rule11en */
219711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE11EN_SHIFT               1
219811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED2_MASK            0x1 /* rule12en */
219911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED2_SHIFT           2
220011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED3_MASK            0x1 /* rule13en */
220111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED3_SHIFT           3
220211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE14EN_MASK                0x1 /* rule14en */
220311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE14EN_SHIFT               4
220411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE15EN_MASK                0x1 /* rule15en */
220511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE15EN_SHIFT               5
220611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE16EN_MASK                0x1 /* rule16en */
220711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE16EN_SHIFT               6
220811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE17EN_MASK                0x1 /* rule17en */
220911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE17EN_SHIFT               7
221011e25f0dSDavid C Somayajulu 	u8 flags13;
221111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE18EN_MASK                0x1 /* rule18en */
221211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE18EN_SHIFT               0
221311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE19EN_MASK                0x1 /* rule19en */
221411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_RULE19EN_SHIFT               1
221511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED4_MASK            0x1 /* rule20en */
221611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED4_SHIFT           2
221711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED5_MASK            0x1 /* rule21en */
221811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED5_SHIFT           3
221911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED6_MASK            0x1 /* rule22en */
222011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED6_SHIFT           4
222111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED7_MASK            0x1 /* rule23en */
222211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED7_SHIFT           5
222311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED8_MASK            0x1 /* rule24en */
222411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED8_SHIFT           6
222511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED9_MASK            0x1 /* rule25en */
222611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED9_SHIFT           7
222711e25f0dSDavid C Somayajulu 	u8 flags14;
222811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
222911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT       0
223011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
223111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT     1
223211e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
223311e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT   2
223411e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
223511e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT   3
223611e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
223711e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT         4
223811e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
223911e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT       5
224011e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_MASK              0x3 /* cf23 */
224111e25f0dSDavid C Somayajulu #define E4_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_SHIFT             6
224211e25f0dSDavid C Somayajulu 	u8 edpm_event_id /* byte2 */;
224311e25f0dSDavid C Somayajulu 	__le16 physical_q0 /* physical_q0 */;
224411e25f0dSDavid C Somayajulu 	__le16 e5_reserved1 /* physical_q1 */;
224511e25f0dSDavid C Somayajulu 	__le16 edpm_num_bds /* physical_q2 */;
224611e25f0dSDavid C Somayajulu 	__le16 tx_bd_cons /* word3 */;
224711e25f0dSDavid C Somayajulu 	__le16 tx_bd_prod /* word4 */;
224811e25f0dSDavid C Somayajulu 	__le16 tx_class /* word5 */;
224911e25f0dSDavid C Somayajulu 	__le16 conn_dpi /* conn_dpi */;
225011e25f0dSDavid C Somayajulu };
225111e25f0dSDavid C Somayajulu 
225211e25f0dSDavid C Somayajulu struct E5XstormEthConnAgCtxDqExtLdPart
225311e25f0dSDavid C Somayajulu {
225411e25f0dSDavid C Somayajulu 	u8 reserved0 /* cdu_validation */;
225511e25f0dSDavid C Somayajulu 	u8 state_and_core_id /* state_and_core_id */;
225611e25f0dSDavid C Somayajulu 	u8 flags0;
225711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
225811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM0_SHIFT           0
225911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED1_MASK               0x1 /* exist_in_qm1 */
226011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED1_SHIFT              1
226111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED2_MASK               0x1 /* exist_in_qm2 */
226211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED2_SHIFT              2
226311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
226411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EXIST_IN_QM3_SHIFT           3
226511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED3_MASK               0x1 /* bit4 */
226611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED3_SHIFT              4
226711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED4_MASK               0x1 /* cf_array_active */
226811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED4_SHIFT              5
226911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED5_MASK               0x1 /* bit6 */
227011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED5_SHIFT              6
227111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED6_MASK               0x1 /* bit7 */
227211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED6_SHIFT              7
227311e25f0dSDavid C Somayajulu 	u8 flags1;
227411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED7_MASK               0x1 /* bit8 */
227511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED7_SHIFT              0
227611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED8_MASK               0x1 /* bit9 */
227711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED8_SHIFT              1
227811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_MASK               0x1 /* bit10 */
227911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED9_SHIFT              2
228011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_MASK                   0x1 /* bit11 */
228111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_BIT11_SHIFT                  3
22829efd0ba7SDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_COPY_CONDITION_LO_MASK  0x1 /* bit12 */
22839efd0ba7SDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_COPY_CONDITION_LO_SHIFT 4
22849efd0ba7SDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_COPY_CONDITION_HI_MASK  0x1 /* bit13 */
22859efd0ba7SDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_COPY_CONDITION_HI_SHIFT 5
228611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
228711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TX_RULE_ACTIVE_SHIFT         6
228811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
228911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_ACTIVE_SHIFT           7
229011e25f0dSDavid C Somayajulu 	u8 flags2;
229111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF0_MASK                     0x3 /* timer0cf */
229211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF0_SHIFT                    0
229311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF1_MASK                     0x3 /* timer1cf */
229411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF1_SHIFT                    2
229511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF2_MASK                     0x3 /* timer2cf */
229611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF2_SHIFT                    4
229711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF3_MASK                     0x3 /* timer_stop_all */
229811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF3_SHIFT                    6
229911e25f0dSDavid C Somayajulu 	u8 flags3;
230011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF4_MASK                     0x3 /* cf4 */
230111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF4_SHIFT                    0
230211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF5_MASK                     0x3 /* cf5 */
230311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF5_SHIFT                    2
230411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF6_MASK                     0x3 /* cf6 */
230511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF6_SHIFT                    4
230611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF7_MASK                     0x3 /* cf7 */
230711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF7_SHIFT                    6
230811e25f0dSDavid C Somayajulu 	u8 flags4;
230911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF8_MASK                     0x3 /* cf8 */
231011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF8_SHIFT                    0
231111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF9_MASK                     0x3 /* cf9 */
231211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF9_SHIFT                    2
231311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF10_MASK                    0x3 /* cf10 */
231411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF10_SHIFT                   4
231511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF11_MASK                    0x3 /* cf11 */
231611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF11_SHIFT                   6
231711e25f0dSDavid C Somayajulu 	u8 flags5;
231811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF12_MASK                    0x3 /* cf12 */
231911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF12_SHIFT                   0
232011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF13_MASK                    0x3 /* cf13 */
232111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF13_SHIFT                   2
232211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF14_MASK                    0x3 /* cf14 */
232311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF14_SHIFT                   4
232411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF15_MASK                    0x3 /* cf15 */
232511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF15_SHIFT                   6
232611e25f0dSDavid C Somayajulu 	u8 flags6;
232711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
232811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_SHIFT       0
232911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
233011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_SHIFT       2
233111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_MASK                   0x3 /* cf18 */
233211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_SHIFT                  4
233311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_MASK            0x3 /* cf19 */
233411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_SHIFT           6
233511e25f0dSDavid C Somayajulu 	u8 flags7;
233611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_MASK                0x3 /* cf20 */
233711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_SHIFT               0
233811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED10_MASK              0x3 /* cf21 */
233911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED10_SHIFT             2
234011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_MASK               0x3 /* cf22 */
234111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_SHIFT              4
234211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF0EN_MASK                   0x1 /* cf0en */
234311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF0EN_SHIFT                  6
234411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF1EN_MASK                   0x1 /* cf1en */
234511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF1EN_SHIFT                  7
234611e25f0dSDavid C Somayajulu 	u8 flags8;
234711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF2EN_MASK                   0x1 /* cf2en */
234811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF2EN_SHIFT                  0
234911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF3EN_MASK                   0x1 /* cf3en */
235011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF3EN_SHIFT                  1
235111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF4EN_MASK                   0x1 /* cf4en */
235211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF4EN_SHIFT                  2
235311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF5EN_MASK                   0x1 /* cf5en */
235411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF5EN_SHIFT                  3
235511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF6EN_MASK                   0x1 /* cf6en */
235611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF6EN_SHIFT                  4
235711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF7EN_MASK                   0x1 /* cf7en */
235811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF7EN_SHIFT                  5
235911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF8EN_MASK                   0x1 /* cf8en */
236011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF8EN_SHIFT                  6
236111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF9EN_MASK                   0x1 /* cf9en */
236211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF9EN_SHIFT                  7
236311e25f0dSDavid C Somayajulu 	u8 flags9;
236411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF10EN_MASK                  0x1 /* cf10en */
236511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF10EN_SHIFT                 0
236611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF11EN_MASK                  0x1 /* cf11en */
236711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF11EN_SHIFT                 1
236811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF12EN_MASK                  0x1 /* cf12en */
236911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF12EN_SHIFT                 2
237011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF13EN_MASK                  0x1 /* cf13en */
237111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF13EN_SHIFT                 3
237211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF14EN_MASK                  0x1 /* cf14en */
237311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF14EN_SHIFT                 4
237411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF15EN_MASK                  0x1 /* cf15en */
237511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_CF15EN_SHIFT                 5
237611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
237711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_GO_TO_BD_CONS_CF_EN_SHIFT    6
237811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
237911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_MULTI_UNICAST_CF_EN_SHIFT    7
238011e25f0dSDavid C Somayajulu 	u8 flags10;
238111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_EN_MASK                0x1 /* cf18en */
238211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_DQ_CF_EN_SHIFT               0
238311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
238411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TERMINATE_CF_EN_SHIFT        1
238511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
238611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_FLUSH_Q0_EN_SHIFT            2
238711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED11_MASK              0x1 /* cf21en */
238811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED11_SHIFT             3
238911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_EN_MASK            0x1 /* cf22en */
239011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_SLOW_PATH_EN_SHIFT           4
239111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
239211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_EN_RESERVED_SHIFT 5
239311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED12_MASK              0x1 /* rule0en */
239411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED12_SHIFT             6
239511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED13_MASK              0x1 /* rule1en */
239611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED13_SHIFT             7
239711e25f0dSDavid C Somayajulu 	u8 flags11;
239811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED14_MASK              0x1 /* rule2en */
239911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED14_SHIFT             0
240011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED15_MASK              0x1 /* rule3en */
240111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RESERVED15_SHIFT             1
240211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
240311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TX_DEC_RULE_EN_SHIFT         2
240411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE5EN_MASK                 0x1 /* rule5en */
240511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE5EN_SHIFT                3
240611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE6EN_MASK                 0x1 /* rule6en */
240711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE6EN_SHIFT                4
240811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE7EN_MASK                 0x1 /* rule7en */
240911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE7EN_SHIFT                5
241011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED1_MASK            0x1 /* rule8en */
241111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED1_SHIFT           6
241211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE9EN_MASK                 0x1 /* rule9en */
241311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE9EN_SHIFT                7
241411e25f0dSDavid C Somayajulu 	u8 flags12;
241511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE10EN_MASK                0x1 /* rule10en */
241611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE10EN_SHIFT               0
241711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE11EN_MASK                0x1 /* rule11en */
241811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE11EN_SHIFT               1
241911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED2_MASK            0x1 /* rule12en */
242011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED2_SHIFT           2
242111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED3_MASK            0x1 /* rule13en */
242211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED3_SHIFT           3
242311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE14EN_MASK                0x1 /* rule14en */
242411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE14EN_SHIFT               4
242511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE15EN_MASK                0x1 /* rule15en */
242611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE15EN_SHIFT               5
242711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE16EN_MASK                0x1 /* rule16en */
242811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE16EN_SHIFT               6
242911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE17EN_MASK                0x1 /* rule17en */
243011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE17EN_SHIFT               7
243111e25f0dSDavid C Somayajulu 	u8 flags13;
243211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE18EN_MASK                0x1 /* rule18en */
243311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE18EN_SHIFT               0
243411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE19EN_MASK                0x1 /* rule19en */
243511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_RULE19EN_SHIFT               1
243611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED4_MASK            0x1 /* rule20en */
243711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED4_SHIFT           2
243811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED5_MASK            0x1 /* rule21en */
243911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED5_SHIFT           3
244011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED6_MASK            0x1 /* rule22en */
244111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED6_SHIFT           4
244211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED7_MASK            0x1 /* rule23en */
244311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED7_SHIFT           5
244411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED8_MASK            0x1 /* rule24en */
244511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED8_SHIFT           6
244611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED9_MASK            0x1 /* rule25en */
244711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_A0_RESERVED9_SHIFT           7
244811e25f0dSDavid C Somayajulu 	u8 flags14;
244911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
245011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_USE_EXT_HDR_SHIFT       0
245111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
245211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_RAW_L3L4_SHIFT     1
245311e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
245411e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_INBAND_PROP_HDR_SHIFT   2
245511e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
245611e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_EDPM_SEND_EXT_TUNNEL_SHIFT   3
245711e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
245811e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_L2_EDPM_ENABLE_SHIFT         4
245911e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
246011e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_ROCE_EDPM_ENABLE_SHIFT       5
246111e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_MASK              0x3 /* cf23 */
246211e25f0dSDavid C Somayajulu #define E5XSTORMETHCONNAGCTXDQEXTLDPART_TPH_ENABLE_SHIFT             6
24639efd0ba7SDavid C Somayajulu 	u8 edpm_vport /* byte2 */;
246411e25f0dSDavid C Somayajulu 	__le16 physical_q0 /* physical_q0 */;
246511e25f0dSDavid C Somayajulu 	__le16 tx_l2_edpm_usg_cnt /* physical_q1 */;
246611e25f0dSDavid C Somayajulu 	__le16 edpm_num_bds /* physical_q2 */;
246711e25f0dSDavid C Somayajulu 	__le16 tx_bd_cons /* word3 */;
246811e25f0dSDavid C Somayajulu 	__le16 tx_bd_prod /* word4 */;
246911e25f0dSDavid C Somayajulu 	__le16 tx_class /* word5 */;
247011e25f0dSDavid C Somayajulu 	__le16 conn_dpi /* conn_dpi */;
247111e25f0dSDavid C Somayajulu 	u8 byte3 /* byte3 */;
247211e25f0dSDavid C Somayajulu 	u8 byte4 /* byte4 */;
247311e25f0dSDavid C Somayajulu 	u8 byte5 /* byte5 */;
247411e25f0dSDavid C Somayajulu 	u8 byte6 /* byte6 */;
247511e25f0dSDavid C Somayajulu 	__le32 reg0 /* reg0 */;
247611e25f0dSDavid C Somayajulu 	__le32 reg1 /* reg1 */;
247711e25f0dSDavid C Somayajulu 	__le32 reg2 /* reg2 */;
247811e25f0dSDavid C Somayajulu 	__le32 reg3 /* reg3 */;
247911e25f0dSDavid C Somayajulu 	__le32 reg4 /* reg4 */;
248011e25f0dSDavid C Somayajulu };
248111e25f0dSDavid C Somayajulu 
248211e25f0dSDavid C Somayajulu struct e5_mstorm_eth_conn_ag_ctx
248311e25f0dSDavid C Somayajulu {
248411e25f0dSDavid C Somayajulu 	u8 byte0 /* cdu_validation */;
248511e25f0dSDavid C Somayajulu 	u8 byte1 /* state_and_core_id */;
248611e25f0dSDavid C Somayajulu 	u8 flags0;
248711e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_MASK  0x1 /* exist_in_qm0 */
248811e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_EXIST_IN_QM0_SHIFT 0
248911e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_BIT1_MASK          0x1 /* exist_in_qm1 */
249011e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_BIT1_SHIFT         1
249111e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF0_MASK           0x3 /* cf0 */
249211e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF0_SHIFT          2
249311e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF1_MASK           0x3 /* cf1 */
249411e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF1_SHIFT          4
249511e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF2_MASK           0x3 /* cf2 */
249611e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF2_SHIFT          6
249711e25f0dSDavid C Somayajulu 	u8 flags1;
249811e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF0EN_MASK         0x1 /* cf0en */
249911e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF0EN_SHIFT        0
250011e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF1EN_MASK         0x1 /* cf1en */
250111e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF1EN_SHIFT        1
250211e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF2EN_MASK         0x1 /* cf2en */
250311e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_CF2EN_SHIFT        2
250411e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_RULE0EN_MASK       0x1 /* rule0en */
250511e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_RULE0EN_SHIFT      3
250611e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_RULE1EN_MASK       0x1 /* rule1en */
250711e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_RULE1EN_SHIFT      4
250811e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_RULE2EN_MASK       0x1 /* rule2en */
250911e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_RULE2EN_SHIFT      5
251011e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_RULE3EN_MASK       0x1 /* rule3en */
251111e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_RULE3EN_SHIFT      6
251211e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_RULE4EN_MASK       0x1 /* rule4en */
251311e25f0dSDavid C Somayajulu #define E5_MSTORM_ETH_CONN_AG_CTX_RULE4EN_SHIFT      7
251411e25f0dSDavid C Somayajulu 	__le16 word0 /* word0 */;
251511e25f0dSDavid C Somayajulu 	__le16 word1 /* word1 */;
251611e25f0dSDavid C Somayajulu 	__le32 reg0 /* reg0 */;
251711e25f0dSDavid C Somayajulu 	__le32 reg1 /* reg1 */;
251811e25f0dSDavid C Somayajulu };
251911e25f0dSDavid C Somayajulu 
252011e25f0dSDavid C Somayajulu struct e5_xstorm_eth_hw_conn_ag_ctx
252111e25f0dSDavid C Somayajulu {
252211e25f0dSDavid C Somayajulu 	u8 reserved0 /* cdu_validation */;
252311e25f0dSDavid C Somayajulu 	u8 state_and_core_id /* state_and_core_id */;
252411e25f0dSDavid C Somayajulu 	u8 flags0;
252511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM0_MASK            0x1 /* exist_in_qm0 */
252611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM0_SHIFT           0
252711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED1_MASK               0x1 /* exist_in_qm1 */
252811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED1_SHIFT              1
252911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED2_MASK               0x1 /* exist_in_qm2 */
253011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED2_SHIFT              2
253111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM3_MASK            0x1 /* exist_in_qm3 */
253211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EXIST_IN_QM3_SHIFT           3
253311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED3_MASK               0x1 /* bit4 */
253411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED3_SHIFT              4
253511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED4_MASK               0x1 /* cf_array_active */
253611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED4_SHIFT              5
253711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED5_MASK               0x1 /* bit6 */
253811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED5_SHIFT              6
253911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED6_MASK               0x1 /* bit7 */
254011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED6_SHIFT              7
254111e25f0dSDavid C Somayajulu 	u8 flags1;
254211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED7_MASK               0x1 /* bit8 */
254311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED7_SHIFT              0
254411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED8_MASK               0x1 /* bit9 */
254511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED8_SHIFT              1
254611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_MASK               0x1 /* bit10 */
254711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED9_SHIFT              2
254811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_MASK                   0x1 /* bit11 */
254911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_BIT11_SHIFT                  3
25509efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_COPY_CONDITION_LO_MASK  0x1 /* bit12 */
25519efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_COPY_CONDITION_LO_SHIFT 4
25529efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_COPY_CONDITION_HI_MASK  0x1 /* bit13 */
25539efd0ba7SDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_COPY_CONDITION_HI_SHIFT 5
255411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_MASK          0x1 /* bit14 */
255511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TX_RULE_ACTIVE_SHIFT         6
255611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_MASK            0x1 /* bit15 */
255711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_ACTIVE_SHIFT           7
255811e25f0dSDavid C Somayajulu 	u8 flags2;
255911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF0_MASK                     0x3 /* timer0cf */
256011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF0_SHIFT                    0
256111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF1_MASK                     0x3 /* timer1cf */
256211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF1_SHIFT                    2
256311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF2_MASK                     0x3 /* timer2cf */
256411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF2_SHIFT                    4
256511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF3_MASK                     0x3 /* timer_stop_all */
256611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF3_SHIFT                    6
256711e25f0dSDavid C Somayajulu 	u8 flags3;
256811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF4_MASK                     0x3 /* cf4 */
256911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF4_SHIFT                    0
257011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF5_MASK                     0x3 /* cf5 */
257111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF5_SHIFT                    2
257211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF6_MASK                     0x3 /* cf6 */
257311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF6_SHIFT                    4
257411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF7_MASK                     0x3 /* cf7 */
257511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF7_SHIFT                    6
257611e25f0dSDavid C Somayajulu 	u8 flags4;
257711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF8_MASK                     0x3 /* cf8 */
257811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF8_SHIFT                    0
257911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF9_MASK                     0x3 /* cf9 */
258011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF9_SHIFT                    2
258111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF10_MASK                    0x3 /* cf10 */
258211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF10_SHIFT                   4
258311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF11_MASK                    0x3 /* cf11 */
258411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF11_SHIFT                   6
258511e25f0dSDavid C Somayajulu 	u8 flags5;
258611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF12_MASK                    0x3 /* cf12 */
258711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF12_SHIFT                   0
258811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF13_MASK                    0x3 /* cf13 */
258911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF13_SHIFT                   2
259011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF14_MASK                    0x3 /* cf14 */
259111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF14_SHIFT                   4
259211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF15_MASK                    0x3 /* cf15 */
259311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF15_SHIFT                   6
259411e25f0dSDavid C Somayajulu 	u8 flags6;
259511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_MASK        0x3 /* cf16 */
259611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_SHIFT       0
259711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_MASK        0x3 /* cf_array_cf */
259811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_SHIFT       2
259911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_MASK                   0x3 /* cf18 */
260011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_SHIFT                  4
260111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_MASK            0x3 /* cf19 */
260211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_SHIFT           6
260311e25f0dSDavid C Somayajulu 	u8 flags7;
260411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_MASK                0x3 /* cf20 */
260511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_SHIFT               0
260611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED10_MASK              0x3 /* cf21 */
260711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED10_SHIFT             2
260811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_MASK               0x3 /* cf22 */
260911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_SHIFT              4
261011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF0EN_MASK                   0x1 /* cf0en */
261111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF0EN_SHIFT                  6
261211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF1EN_MASK                   0x1 /* cf1en */
261311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF1EN_SHIFT                  7
261411e25f0dSDavid C Somayajulu 	u8 flags8;
261511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF2EN_MASK                   0x1 /* cf2en */
261611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF2EN_SHIFT                  0
261711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF3EN_MASK                   0x1 /* cf3en */
261811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF3EN_SHIFT                  1
261911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF4EN_MASK                   0x1 /* cf4en */
262011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF4EN_SHIFT                  2
262111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF5EN_MASK                   0x1 /* cf5en */
262211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF5EN_SHIFT                  3
262311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF6EN_MASK                   0x1 /* cf6en */
262411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF6EN_SHIFT                  4
262511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF7EN_MASK                   0x1 /* cf7en */
262611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF7EN_SHIFT                  5
262711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF8EN_MASK                   0x1 /* cf8en */
262811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF8EN_SHIFT                  6
262911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF9EN_MASK                   0x1 /* cf9en */
263011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF9EN_SHIFT                  7
263111e25f0dSDavid C Somayajulu 	u8 flags9;
263211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF10EN_MASK                  0x1 /* cf10en */
263311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF10EN_SHIFT                 0
263411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF11EN_MASK                  0x1 /* cf11en */
263511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF11EN_SHIFT                 1
263611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF12EN_MASK                  0x1 /* cf12en */
263711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF12EN_SHIFT                 2
263811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF13EN_MASK                  0x1 /* cf13en */
263911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF13EN_SHIFT                 3
264011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF14EN_MASK                  0x1 /* cf14en */
264111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF14EN_SHIFT                 4
264211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF15EN_MASK                  0x1 /* cf15en */
264311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_CF15EN_SHIFT                 5
264411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_MASK     0x1 /* cf16en */
264511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_GO_TO_BD_CONS_CF_EN_SHIFT    6
264611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_EN_MASK     0x1 /* cf_array_cf_en */
264711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_MULTI_UNICAST_CF_EN_SHIFT    7
264811e25f0dSDavid C Somayajulu 	u8 flags10;
264911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_EN_MASK                0x1 /* cf18en */
265011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_DQ_CF_EN_SHIFT               0
265111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_EN_MASK         0x1 /* cf19en */
265211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TERMINATE_CF_EN_SHIFT        1
265311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_EN_MASK             0x1 /* cf20en */
265411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_FLUSH_Q0_EN_SHIFT            2
265511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED11_MASK              0x1 /* cf21en */
265611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED11_SHIFT             3
265711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_EN_MASK            0x1 /* cf22en */
265811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_SLOW_PATH_EN_SHIFT           4
265911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_MASK  0x1 /* cf23en */
266011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_EN_RESERVED_SHIFT 5
266111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED12_MASK              0x1 /* rule0en */
266211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED12_SHIFT             6
266311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED13_MASK              0x1 /* rule1en */
266411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED13_SHIFT             7
266511e25f0dSDavid C Somayajulu 	u8 flags11;
266611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED14_MASK              0x1 /* rule2en */
266711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED14_SHIFT             0
266811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED15_MASK              0x1 /* rule3en */
266911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RESERVED15_SHIFT             1
267011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TX_DEC_RULE_EN_MASK          0x1 /* rule4en */
267111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TX_DEC_RULE_EN_SHIFT         2
267211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE5EN_MASK                 0x1 /* rule5en */
267311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE5EN_SHIFT                3
267411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE6EN_MASK                 0x1 /* rule6en */
267511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE6EN_SHIFT                4
267611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE7EN_MASK                 0x1 /* rule7en */
267711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE7EN_SHIFT                5
267811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED1_MASK            0x1 /* rule8en */
267911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED1_SHIFT           6
268011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE9EN_MASK                 0x1 /* rule9en */
268111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE9EN_SHIFT                7
268211e25f0dSDavid C Somayajulu 	u8 flags12;
268311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE10EN_MASK                0x1 /* rule10en */
268411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE10EN_SHIFT               0
268511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE11EN_MASK                0x1 /* rule11en */
268611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE11EN_SHIFT               1
268711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED2_MASK            0x1 /* rule12en */
268811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED2_SHIFT           2
268911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED3_MASK            0x1 /* rule13en */
269011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED3_SHIFT           3
269111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE14EN_MASK                0x1 /* rule14en */
269211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE14EN_SHIFT               4
269311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE15EN_MASK                0x1 /* rule15en */
269411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE15EN_SHIFT               5
269511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE16EN_MASK                0x1 /* rule16en */
269611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE16EN_SHIFT               6
269711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE17EN_MASK                0x1 /* rule17en */
269811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE17EN_SHIFT               7
269911e25f0dSDavid C Somayajulu 	u8 flags13;
270011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE18EN_MASK                0x1 /* rule18en */
270111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE18EN_SHIFT               0
270211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE19EN_MASK                0x1 /* rule19en */
270311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_RULE19EN_SHIFT               1
270411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED4_MASK            0x1 /* rule20en */
270511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED4_SHIFT           2
270611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED5_MASK            0x1 /* rule21en */
270711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED5_SHIFT           3
270811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED6_MASK            0x1 /* rule22en */
270911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED6_SHIFT           4
271011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED7_MASK            0x1 /* rule23en */
271111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED7_SHIFT           5
271211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED8_MASK            0x1 /* rule24en */
271311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED8_SHIFT           6
271411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED9_MASK            0x1 /* rule25en */
271511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_A0_RESERVED9_SHIFT           7
271611e25f0dSDavid C Somayajulu 	u8 flags14;
271711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_USE_EXT_HDR_MASK        0x1 /* bit16 */
271811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_USE_EXT_HDR_SHIFT       0
271911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_MASK      0x1 /* bit17 */
272011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_RAW_L3L4_SHIFT     1
272111e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_MASK    0x1 /* bit18 */
272211e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_INBAND_PROP_HDR_SHIFT   2
272311e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_MASK    0x1 /* bit19 */
272411e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_EDPM_SEND_EXT_TUNNEL_SHIFT   3
272511e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_L2_EDPM_ENABLE_MASK          0x1 /* bit20 */
272611e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_L2_EDPM_ENABLE_SHIFT         4
272711e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_MASK        0x1 /* bit21 */
272811e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_ROCE_EDPM_ENABLE_SHIFT       5
272911e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_MASK              0x3 /* cf23 */
273011e25f0dSDavid C Somayajulu #define E5_XSTORM_ETH_HW_CONN_AG_CTX_TPH_ENABLE_SHIFT             6
27319efd0ba7SDavid C Somayajulu 	u8 edpm_vport /* byte2 */;
273211e25f0dSDavid C Somayajulu 	__le16 physical_q0 /* physical_q0 */;
273311e25f0dSDavid C Somayajulu 	__le16 tx_l2_edpm_usg_cnt /* physical_q1 */;
273411e25f0dSDavid C Somayajulu 	__le16 edpm_num_bds /* physical_q2 */;
273511e25f0dSDavid C Somayajulu 	__le16 tx_bd_cons /* word3 */;
273611e25f0dSDavid C Somayajulu 	__le16 tx_bd_prod /* word4 */;
273711e25f0dSDavid C Somayajulu 	__le16 tx_class /* word5 */;
273811e25f0dSDavid C Somayajulu 	__le16 conn_dpi /* conn_dpi */;
273911e25f0dSDavid C Somayajulu };
274011e25f0dSDavid C Somayajulu 
274111e25f0dSDavid C Somayajulu /*
274211e25f0dSDavid C Somayajulu  * GFT CAM line struct
274311e25f0dSDavid C Somayajulu  */
274411e25f0dSDavid C Somayajulu struct gft_cam_line
274511e25f0dSDavid C Somayajulu {
274611e25f0dSDavid C Somayajulu 	__le32 camline;
274711e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_VALID_MASK      0x1 /* Indication if the line is valid. */
274811e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_VALID_SHIFT     0
274911e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_DATA_MASK       0x3FFF /* Data bits, the word that compared with the profile key */
275011e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_DATA_SHIFT      1
275111e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MASK_BITS_MASK  0x3FFF /* Mask bits, indicate the bits in the data that are Dont-Care */
275211e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MASK_BITS_SHIFT 15
275311e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_RESERVED1_MASK  0x7
275411e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_RESERVED1_SHIFT 29
275511e25f0dSDavid C Somayajulu };
275611e25f0dSDavid C Somayajulu 
275711e25f0dSDavid C Somayajulu /*
2758217ec208SDavid C Somayajulu  * GFT CAM line struct with fields breakout
275911e25f0dSDavid C Somayajulu  */
276011e25f0dSDavid C Somayajulu struct gft_cam_line_mapped
276111e25f0dSDavid C Somayajulu {
276211e25f0dSDavid C Somayajulu 	__le32 camline;
276311e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_VALID_MASK                     0x1 /* Indication if the line is valid. */
276411e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_VALID_SHIFT                    0
2765217ec208SDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_IP_VERSION_MASK                0x1 /*  (use enum gft_profile_ip_version) */
276611e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_IP_VERSION_SHIFT               1
2767217ec208SDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_MASK         0x1 /*  (use enum gft_profile_ip_version) */
276811e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_SHIFT        2
2769217ec208SDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_MASK       0xF /*  (use enum gft_profile_upper_protocol_type) */
277011e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_SHIFT      3
2771217ec208SDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_MASK               0xF /*  (use enum gft_profile_tunnel_type) */
277211e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_SHIFT              7
277311e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_PF_ID_MASK                     0xF
277411e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_PF_ID_SHIFT                    11
2775217ec208SDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_IP_VERSION_MASK_MASK           0x1
277611e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_IP_VERSION_MASK_SHIFT          15
2777217ec208SDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_MASK_MASK    0x1
277811e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_TUNNEL_IP_VERSION_MASK_SHIFT   16
2779217ec208SDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_MASK_MASK  0xF
278011e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_UPPER_PROTOCOL_TYPE_MASK_SHIFT 17
2781217ec208SDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_MASK_MASK          0xF
278211e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_TUNNEL_TYPE_MASK_SHIFT         21
278311e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_PF_ID_MASK_MASK                0xF
278411e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_PF_ID_MASK_SHIFT               25
278511e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_RESERVED1_MASK                 0x7
278611e25f0dSDavid C Somayajulu #define GFT_CAM_LINE_MAPPED_RESERVED1_SHIFT                29
278711e25f0dSDavid C Somayajulu };
278811e25f0dSDavid C Somayajulu 
278911e25f0dSDavid C Somayajulu union gft_cam_line_union
279011e25f0dSDavid C Somayajulu {
279111e25f0dSDavid C Somayajulu 	struct gft_cam_line cam_line;
279211e25f0dSDavid C Somayajulu 	struct gft_cam_line_mapped cam_line_mapped;
279311e25f0dSDavid C Somayajulu };
279411e25f0dSDavid C Somayajulu 
279511e25f0dSDavid C Somayajulu /*
279611e25f0dSDavid C Somayajulu  * Used in gft_profile_key: Indication for ip version
279711e25f0dSDavid C Somayajulu  */
279811e25f0dSDavid C Somayajulu enum gft_profile_ip_version
279911e25f0dSDavid C Somayajulu {
280011e25f0dSDavid C Somayajulu 	GFT_PROFILE_IPV4=0,
280111e25f0dSDavid C Somayajulu 	GFT_PROFILE_IPV6=1,
280211e25f0dSDavid C Somayajulu 	MAX_GFT_PROFILE_IP_VERSION
280311e25f0dSDavid C Somayajulu };
280411e25f0dSDavid C Somayajulu 
280511e25f0dSDavid C Somayajulu /*
280611e25f0dSDavid C Somayajulu  * Profile key stucr fot GFT logic in Prs
280711e25f0dSDavid C Somayajulu  */
280811e25f0dSDavid C Somayajulu struct gft_profile_key
280911e25f0dSDavid C Somayajulu {
281011e25f0dSDavid C Somayajulu 	__le16 profile_key;
281111e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_IP_VERSION_MASK           0x1 /* use enum gft_profile_ip_version (use enum gft_profile_ip_version) */
281211e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_IP_VERSION_SHIFT          0
281311e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_TUNNEL_IP_VERSION_MASK    0x1 /* use enum gft_profile_ip_version (use enum gft_profile_ip_version) */
281411e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_TUNNEL_IP_VERSION_SHIFT   1
281511e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_UPPER_PROTOCOL_TYPE_MASK  0xF /* use enum gft_profile_upper_protocol_type (use enum gft_profile_upper_protocol_type) */
281611e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_UPPER_PROTOCOL_TYPE_SHIFT 2
281711e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_TUNNEL_TYPE_MASK          0xF /* use enum gft_profile_tunnel_type (use enum gft_profile_tunnel_type) */
281811e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_TUNNEL_TYPE_SHIFT         6
281911e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_PF_ID_MASK                0xF
282011e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_PF_ID_SHIFT               10
282111e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_RESERVED0_MASK            0x3
282211e25f0dSDavid C Somayajulu #define GFT_PROFILE_KEY_RESERVED0_SHIFT           14
282311e25f0dSDavid C Somayajulu };
282411e25f0dSDavid C Somayajulu 
282511e25f0dSDavid C Somayajulu /*
282611e25f0dSDavid C Somayajulu  * Used in gft_profile_key: Indication for tunnel type
282711e25f0dSDavid C Somayajulu  */
282811e25f0dSDavid C Somayajulu enum gft_profile_tunnel_type
282911e25f0dSDavid C Somayajulu {
283011e25f0dSDavid C Somayajulu 	GFT_PROFILE_NO_TUNNEL=0,
283111e25f0dSDavid C Somayajulu 	GFT_PROFILE_VXLAN_TUNNEL=1,
283211e25f0dSDavid C Somayajulu 	GFT_PROFILE_GRE_MAC_OR_NVGRE_TUNNEL=2,
283311e25f0dSDavid C Somayajulu 	GFT_PROFILE_GRE_IP_TUNNEL=3,
283411e25f0dSDavid C Somayajulu 	GFT_PROFILE_GENEVE_MAC_TUNNEL=4,
283511e25f0dSDavid C Somayajulu 	GFT_PROFILE_GENEVE_IP_TUNNEL=5,
283611e25f0dSDavid C Somayajulu 	MAX_GFT_PROFILE_TUNNEL_TYPE
283711e25f0dSDavid C Somayajulu };
283811e25f0dSDavid C Somayajulu 
283911e25f0dSDavid C Somayajulu /*
284011e25f0dSDavid C Somayajulu  * Used in gft_profile_key: Indication for protocol type
284111e25f0dSDavid C Somayajulu  */
284211e25f0dSDavid C Somayajulu enum gft_profile_upper_protocol_type
284311e25f0dSDavid C Somayajulu {
284411e25f0dSDavid C Somayajulu 	GFT_PROFILE_ROCE_PROTOCOL=0,
284511e25f0dSDavid C Somayajulu 	GFT_PROFILE_RROCE_PROTOCOL=1,
284611e25f0dSDavid C Somayajulu 	GFT_PROFILE_FCOE_PROTOCOL=2,
284711e25f0dSDavid C Somayajulu 	GFT_PROFILE_ICMP_PROTOCOL=3,
284811e25f0dSDavid C Somayajulu 	GFT_PROFILE_ARP_PROTOCOL=4,
284911e25f0dSDavid C Somayajulu 	GFT_PROFILE_USER_TCP_SRC_PORT_1_INNER=5,
285011e25f0dSDavid C Somayajulu 	GFT_PROFILE_USER_TCP_DST_PORT_1_INNER=6,
285111e25f0dSDavid C Somayajulu 	GFT_PROFILE_TCP_PROTOCOL=7,
285211e25f0dSDavid C Somayajulu 	GFT_PROFILE_USER_UDP_DST_PORT_1_INNER=8,
285311e25f0dSDavid C Somayajulu 	GFT_PROFILE_USER_UDP_DST_PORT_2_OUTER=9,
285411e25f0dSDavid C Somayajulu 	GFT_PROFILE_UDP_PROTOCOL=10,
285511e25f0dSDavid C Somayajulu 	GFT_PROFILE_USER_IP_1_INNER=11,
285611e25f0dSDavid C Somayajulu 	GFT_PROFILE_USER_IP_2_OUTER=12,
285711e25f0dSDavid C Somayajulu 	GFT_PROFILE_USER_ETH_1_INNER=13,
285811e25f0dSDavid C Somayajulu 	GFT_PROFILE_USER_ETH_2_OUTER=14,
285911e25f0dSDavid C Somayajulu 	GFT_PROFILE_RAW=15,
286011e25f0dSDavid C Somayajulu 	MAX_GFT_PROFILE_UPPER_PROTOCOL_TYPE
286111e25f0dSDavid C Somayajulu };
286211e25f0dSDavid C Somayajulu 
286311e25f0dSDavid C Somayajulu /*
286411e25f0dSDavid C Somayajulu  * GFT RAM line struct
286511e25f0dSDavid C Somayajulu  */
286611e25f0dSDavid C Somayajulu struct gft_ram_line
286711e25f0dSDavid C Somayajulu {
286811e25f0dSDavid C Somayajulu 	__le32 lo;
286911e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_VLAN_SELECT_MASK              0x3 /*  (use enum gft_vlan_select) */
287011e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_VLAN_SELECT_SHIFT             0
287111e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_ENTROPHY_MASK          0x1
287211e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_ENTROPHY_SHIFT         2
287311e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_TTL_EQUAL_ONE_MASK     0x1
287411e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_TTL_EQUAL_ONE_SHIFT    3
287511e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_TTL_MASK               0x1
287611e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_TTL_SHIFT              4
287711e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_ETHERTYPE_MASK         0x1
287811e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_ETHERTYPE_SHIFT        5
287911e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_DST_PORT_MASK          0x1
288011e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_DST_PORT_SHIFT         6
288111e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_SRC_PORT_MASK          0x1
288211e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_SRC_PORT_SHIFT         7
288311e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_DSCP_MASK              0x1
288411e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_DSCP_SHIFT             8
288511e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_OVER_IP_PROTOCOL_MASK  0x1
288611e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_OVER_IP_PROTOCOL_SHIFT 9
288711e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_DST_IP_MASK            0x1
288811e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_DST_IP_SHIFT           10
288911e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_SRC_IP_MASK            0x1
289011e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_SRC_IP_SHIFT           11
289111e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_PRIORITY_MASK          0x1
289211e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_PRIORITY_SHIFT         12
289311e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_PROVIDER_VLAN_MASK     0x1
289411e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_PROVIDER_VLAN_SHIFT    13
289511e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_VLAN_MASK              0x1
289611e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_VLAN_SHIFT             14
289711e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_DST_MAC_MASK           0x1
289811e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_DST_MAC_SHIFT          15
289911e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_SRC_MAC_MASK           0x1
290011e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TUNNEL_SRC_MAC_SHIFT          16
290111e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TTL_EQUAL_ONE_MASK            0x1
290211e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TTL_EQUAL_ONE_SHIFT           17
290311e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TTL_MASK                      0x1
290411e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TTL_SHIFT                     18
290511e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_ETHERTYPE_MASK                0x1
290611e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_ETHERTYPE_SHIFT               19
290711e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_RESERVED0_MASK                0x1
290811e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_RESERVED0_SHIFT               20
290911e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_FIN_MASK             0x1
291011e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_FIN_SHIFT            21
291111e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_SYN_MASK             0x1
291211e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_SYN_SHIFT            22
291311e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_RST_MASK             0x1
291411e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_RST_SHIFT            23
291511e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_PSH_MASK             0x1
291611e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_PSH_SHIFT            24
291711e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_ACK_MASK             0x1
291811e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_ACK_SHIFT            25
291911e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_URG_MASK             0x1
292011e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_URG_SHIFT            26
292111e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_ECE_MASK             0x1
292211e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_ECE_SHIFT            27
292311e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_CWR_MASK             0x1
292411e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_CWR_SHIFT            28
292511e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_NS_MASK              0x1
292611e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TCP_FLAG_NS_SHIFT             29
292711e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_DST_PORT_MASK                 0x1
292811e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_DST_PORT_SHIFT                30
292911e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_SRC_PORT_MASK                 0x1
293011e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_SRC_PORT_SHIFT                31
293111e25f0dSDavid C Somayajulu 	__le32 hi;
293211e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_DSCP_MASK                     0x1
293311e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_DSCP_SHIFT                    0
293411e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_OVER_IP_PROTOCOL_MASK         0x1
293511e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_OVER_IP_PROTOCOL_SHIFT        1
293611e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_DST_IP_MASK                   0x1
293711e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_DST_IP_SHIFT                  2
293811e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_SRC_IP_MASK                   0x1
293911e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_SRC_IP_SHIFT                  3
294011e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_PRIORITY_MASK                 0x1
294111e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_PRIORITY_SHIFT                4
294211e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_PROVIDER_VLAN_MASK            0x1
294311e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_PROVIDER_VLAN_SHIFT           5
294411e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_VLAN_MASK                     0x1
294511e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_VLAN_SHIFT                    6
294611e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_DST_MAC_MASK                  0x1
294711e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_DST_MAC_SHIFT                 7
294811e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_SRC_MAC_MASK                  0x1
294911e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_SRC_MAC_SHIFT                 8
295011e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TENANT_ID_MASK                0x1
295111e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_TENANT_ID_SHIFT               9
295211e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_RESERVED1_MASK                0x3FFFFF
295311e25f0dSDavid C Somayajulu #define GFT_RAM_LINE_RESERVED1_SHIFT               10
295411e25f0dSDavid C Somayajulu };
295511e25f0dSDavid C Somayajulu 
295611e25f0dSDavid C Somayajulu /*
295711e25f0dSDavid C Somayajulu  * Used in the first 2 bits for gft_ram_line: Indication for vlan mask
295811e25f0dSDavid C Somayajulu  */
295911e25f0dSDavid C Somayajulu enum gft_vlan_select
296011e25f0dSDavid C Somayajulu {
296111e25f0dSDavid C Somayajulu 	INNER_PROVIDER_VLAN=0,
296211e25f0dSDavid C Somayajulu 	INNER_VLAN=1,
296311e25f0dSDavid C Somayajulu 	OUTER_PROVIDER_VLAN=2,
296411e25f0dSDavid C Somayajulu 	OUTER_VLAN=3,
296511e25f0dSDavid C Somayajulu 	MAX_GFT_VLAN_SELECT
296611e25f0dSDavid C Somayajulu };
296711e25f0dSDavid C Somayajulu 
296811e25f0dSDavid C Somayajulu #endif /* __ECORE_HSI_ETH__ */
2969