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