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