Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /****************************************************************************
0003  * Driver for Solarflare network controllers and boards
0004  * Copyright 2018 Solarflare Communications Inc.
0005  * Copyright 2019-2022 Xilinx Inc.
0006  *
0007  * This program is free software; you can redistribute it and/or modify it
0008  * under the terms of the GNU General Public License version 2 as published
0009  * by the Free Software Foundation, incorporated herein by reference.
0010  */
0011 
0012 #ifndef EFX_EF100_REGS_H
0013 #define EFX_EF100_REGS_H
0014 
0015 /* EF100 hardware architecture definitions have a name prefix following
0016  * the format:
0017  *
0018  *     E<type>_<min-rev><max-rev>_
0019  *
0020  * The following <type> strings are used:
0021  *
0022  *             MMIO register  Host memory structure
0023  * -------------------------------------------------------------
0024  * Address     R
0025  * Bitfield    RF             SF
0026  * Enumerator  FE             SE
0027  *
0028  * <min-rev> is the first revision to which the definition applies:
0029  *
0030  *     G: Riverhead
0031  *
0032  * If the definition has been changed or removed in later revisions
0033  * then <max-rev> is the last revision to which the definition applies;
0034  * otherwise it is "Z".
0035  */
0036 
0037 /**************************************************************************
0038  *
0039  * EF100 registers and descriptors
0040  *
0041  **************************************************************************
0042  */
0043 
0044 /* HW_REV_ID_REG: Hardware revision info register */
0045 #define ER_GZ_HW_REV_ID 0x00000000
0046 
0047 /* NIC_REV_ID: SoftNIC revision info register */
0048 #define ER_GZ_NIC_REV_ID 0x00000004
0049 
0050 /* NIC_MAGIC: Signature register that should contain a well-known value */
0051 #define ER_GZ_NIC_MAGIC 0x00000008
0052 #define ERF_GZ_NIC_MAGIC_LBN 0
0053 #define ERF_GZ_NIC_MAGIC_WIDTH 32
0054 #define EFE_GZ_NIC_MAGIC_EXPECTED 0xEF100FCB
0055 
0056 /* MC_SFT_STATUS: MC soft status */
0057 #define ER_GZ_MC_SFT_STATUS 0x00000010
0058 #define ER_GZ_MC_SFT_STATUS_STEP 4
0059 #define ER_GZ_MC_SFT_STATUS_ROWS 2
0060 
0061 /* MC_DB_LWRD_REG: MC doorbell register, low word */
0062 #define ER_GZ_MC_DB_LWRD 0x00000020
0063 
0064 /* MC_DB_HWRD_REG: MC doorbell register, high word */
0065 #define ER_GZ_MC_DB_HWRD 0x00000024
0066 
0067 /* EVQ_INT_PRIME: Prime EVQ */
0068 #define ER_GZ_EVQ_INT_PRIME 0x00000040
0069 #define ERF_GZ_IDX_LBN 16
0070 #define ERF_GZ_IDX_WIDTH 16
0071 #define ERF_GZ_EVQ_ID_LBN 0
0072 #define ERF_GZ_EVQ_ID_WIDTH 16
0073 
0074 /* INT_AGG_RING_PRIME: Prime interrupt aggregation ring. */
0075 #define ER_GZ_INT_AGG_RING_PRIME 0x00000048
0076 /* defined as ERF_GZ_IDX_LBN 16; access=WO reset=0x0 */
0077 /* defined as ERF_GZ_IDX_WIDTH 16 */
0078 #define ERF_GZ_RING_ID_LBN 0
0079 #define ERF_GZ_RING_ID_WIDTH 16
0080 
0081 /* EVQ_TMR: EVQ timer control */
0082 #define ER_GZ_EVQ_TMR 0x00000104
0083 #define ER_GZ_EVQ_TMR_STEP 65536
0084 #define ER_GZ_EVQ_TMR_ROWS 1024
0085 
0086 /* EVQ_UNSOL_CREDIT_GRANT_SEQ: Grant credits for unsolicited events. */
0087 #define ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ 0x00000108
0088 #define ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ_STEP 65536
0089 #define ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ_ROWS 1024
0090 
0091 /* EVQ_DESC_CREDIT_GRANT_SEQ: Grant credits for descriptor proxy events. */
0092 #define ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ 0x00000110
0093 #define ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ_STEP 65536
0094 #define ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ_ROWS 1024
0095 
0096 /* RX_RING_DOORBELL: Ring Rx doorbell. */
0097 #define ER_GZ_RX_RING_DOORBELL 0x00000180
0098 #define ER_GZ_RX_RING_DOORBELL_STEP 65536
0099 #define ER_GZ_RX_RING_DOORBELL_ROWS 1024
0100 #define ERF_GZ_RX_RING_PIDX_LBN 16
0101 #define ERF_GZ_RX_RING_PIDX_WIDTH 16
0102 
0103 /* TX_RING_DOORBELL: Ring Tx doorbell. */
0104 #define ER_GZ_TX_RING_DOORBELL 0x00000200
0105 #define ER_GZ_TX_RING_DOORBELL_STEP 65536
0106 #define ER_GZ_TX_RING_DOORBELL_ROWS 1024
0107 #define ERF_GZ_TX_RING_PIDX_LBN 16
0108 #define ERF_GZ_TX_RING_PIDX_WIDTH 16
0109 
0110 /* TX_DESC_PUSH: Tx ring descriptor push. Reserved for future use. */
0111 #define ER_GZ_TX_DESC_PUSH 0x00000210
0112 #define ER_GZ_TX_DESC_PUSH_STEP 65536
0113 #define ER_GZ_TX_DESC_PUSH_ROWS 1024
0114 
0115 /* THE_TIME: NIC hardware time */
0116 #define ER_GZ_THE_TIME 0x00000280
0117 #define ER_GZ_THE_TIME_STEP 65536
0118 #define ER_GZ_THE_TIME_ROWS 1024
0119 #define ERF_GZ_THE_TIME_SECS_LBN 32
0120 #define ERF_GZ_THE_TIME_SECS_WIDTH 32
0121 #define ERF_GZ_THE_TIME_NANOS_LBN 2
0122 #define ERF_GZ_THE_TIME_NANOS_WIDTH 30
0123 #define ERF_GZ_THE_TIME_CLOCK_IN_SYNC_LBN 1
0124 #define ERF_GZ_THE_TIME_CLOCK_IN_SYNC_WIDTH 1
0125 #define ERF_GZ_THE_TIME_CLOCK_IS_SET_LBN 0
0126 #define ERF_GZ_THE_TIME_CLOCK_IS_SET_WIDTH 1
0127 
0128 /* PARAMS_TLV_LEN: Size of design parameters area in bytes */
0129 #define ER_GZ_PARAMS_TLV_LEN 0x00000c00
0130 #define ER_GZ_PARAMS_TLV_LEN_STEP 65536
0131 #define ER_GZ_PARAMS_TLV_LEN_ROWS 1024
0132 
0133 /* PARAMS_TLV: Design parameters */
0134 #define ER_GZ_PARAMS_TLV 0x00000c04
0135 #define ER_GZ_PARAMS_TLV_STEP 65536
0136 #define ER_GZ_PARAMS_TLV_ROWS 1024
0137 
0138 /* EW_EMBEDDED_EVENT */
0139 #define ESF_GZ_EV_256_EVENT_LBN 0
0140 #define ESF_GZ_EV_256_EVENT_WIDTH 64
0141 #define ESE_GZ_EW_EMBEDDED_EVENT_STRUCT_SIZE 64
0142 
0143 /* NMMU_PAGESZ_2M_ADDR */
0144 #define ESF_GZ_NMMU_2M_PAGE_SIZE_ID_LBN 59
0145 #define ESF_GZ_NMMU_2M_PAGE_SIZE_ID_WIDTH 5
0146 #define ESE_GZ_NMMU_PAGE_SIZE_2M 9
0147 #define ESF_GZ_NMMU_2M_PAGE_ID_LBN 21
0148 #define ESF_GZ_NMMU_2M_PAGE_ID_WIDTH 38
0149 #define ESF_GZ_NMMU_2M_PAGE_OFFSET_LBN 0
0150 #define ESF_GZ_NMMU_2M_PAGE_OFFSET_WIDTH 21
0151 #define ESE_GZ_NMMU_PAGESZ_2M_ADDR_STRUCT_SIZE 64
0152 
0153 /* PARAM_TLV */
0154 #define ESF_GZ_TLV_VALUE_LBN 16
0155 #define ESF_GZ_TLV_VALUE_WIDTH 8
0156 #define ESE_GZ_TLV_VALUE_LENMIN 8
0157 #define ESE_GZ_TLV_VALUE_LENMAX 2040
0158 #define ESF_GZ_TLV_LEN_LBN 8
0159 #define ESF_GZ_TLV_LEN_WIDTH 8
0160 #define ESF_GZ_TLV_TYPE_LBN 0
0161 #define ESF_GZ_TLV_TYPE_WIDTH 8
0162 #define ESE_GZ_DP_NMMU_GROUP_SIZE 5
0163 #define ESE_GZ_DP_EVQ_UNSOL_CREDIT_SEQ_BITS 4
0164 #define ESE_GZ_DP_TX_EV_NUM_DESCS_BITS 3
0165 #define ESE_GZ_DP_RX_EV_NUM_PACKETS_BITS 2
0166 #define ESE_GZ_DP_PARTIAL_TSTAMP_SUB_NANO_BITS 1
0167 #define ESE_GZ_DP_PAD 0
0168 #define ESE_GZ_PARAM_TLV_STRUCT_SIZE 24
0169 
0170 /* PCI_EXPRESS_XCAP_HDR */
0171 #define ESF_GZ_PCI_EXPRESS_XCAP_NEXT_LBN 20
0172 #define ESF_GZ_PCI_EXPRESS_XCAP_NEXT_WIDTH 12
0173 #define ESF_GZ_PCI_EXPRESS_XCAP_VER_LBN 16
0174 #define ESF_GZ_PCI_EXPRESS_XCAP_VER_WIDTH 4
0175 #define ESE_GZ_PCI_EXPRESS_XCAP_VER_VSEC 1
0176 #define ESF_GZ_PCI_EXPRESS_XCAP_ID_LBN 0
0177 #define ESF_GZ_PCI_EXPRESS_XCAP_ID_WIDTH 16
0178 #define ESE_GZ_PCI_EXPRESS_XCAP_ID_VNDR 0xb
0179 #define ESE_GZ_PCI_EXPRESS_XCAP_HDR_STRUCT_SIZE 32
0180 
0181 /* RHEAD_BASE_EVENT */
0182 #define ESF_GZ_E_TYPE_LBN 60
0183 #define ESF_GZ_E_TYPE_WIDTH 4
0184 #define ESF_GZ_EV_EVQ_PHASE_LBN 59
0185 #define ESF_GZ_EV_EVQ_PHASE_WIDTH 1
0186 #define ESE_GZ_RHEAD_BASE_EVENT_STRUCT_SIZE 64
0187 
0188 /* RHEAD_EW_EVENT */
0189 #define ESF_GZ_EV_256_EV32_PHASE_LBN 255
0190 #define ESF_GZ_EV_256_EV32_PHASE_WIDTH 1
0191 #define ESF_GZ_EV_256_EV32_TYPE_LBN 251
0192 #define ESF_GZ_EV_256_EV32_TYPE_WIDTH 4
0193 #define ESE_GZ_EF100_EVEW_VIRTQ_DESC 2
0194 #define ESE_GZ_EF100_EVEW_TXQ_DESC 1
0195 #define ESE_GZ_EF100_EVEW_64BIT 0
0196 #define ESE_GZ_RHEAD_EW_EVENT_STRUCT_SIZE 256
0197 
0198 /* RX_DESC */
0199 #define ESF_GZ_RX_BUF_ADDR_LBN 0
0200 #define ESF_GZ_RX_BUF_ADDR_WIDTH 64
0201 #define ESE_GZ_RX_DESC_STRUCT_SIZE 64
0202 
0203 /* TXQ_DESC_PROXY_EVENT */
0204 #define ESF_GZ_EV_TXQ_DP_VI_ID_LBN 128
0205 #define ESF_GZ_EV_TXQ_DP_VI_ID_WIDTH 16
0206 #define ESF_GZ_EV_TXQ_DP_TXQ_DESC_LBN 0
0207 #define ESF_GZ_EV_TXQ_DP_TXQ_DESC_WIDTH 128
0208 #define ESE_GZ_TXQ_DESC_PROXY_EVENT_STRUCT_SIZE 144
0209 
0210 /* TX_DESC_TYPE */
0211 #define ESF_GZ_TX_DESC_TYPE_LBN 124
0212 #define ESF_GZ_TX_DESC_TYPE_WIDTH 4
0213 #define ESE_GZ_TX_DESC_TYPE_DESC2CMPT 7
0214 #define ESE_GZ_TX_DESC_TYPE_MEM2MEM 4
0215 #define ESE_GZ_TX_DESC_TYPE_SEG 3
0216 #define ESE_GZ_TX_DESC_TYPE_TSO 2
0217 #define ESE_GZ_TX_DESC_TYPE_PREFIX 1
0218 #define ESE_GZ_TX_DESC_TYPE_SEND 0
0219 #define ESE_GZ_TX_DESC_TYPE_STRUCT_SIZE 128
0220 
0221 /* VIRTQ_DESC_PROXY_EVENT */
0222 #define ESF_GZ_EV_VQ_DP_AVAIL_ENTRY_LBN 144
0223 #define ESF_GZ_EV_VQ_DP_AVAIL_ENTRY_WIDTH 16
0224 #define ESF_GZ_EV_VQ_DP_VI_ID_LBN 128
0225 #define ESF_GZ_EV_VQ_DP_VI_ID_WIDTH 16
0226 #define ESF_GZ_EV_VQ_DP_VIRTQ_DESC_LBN 0
0227 #define ESF_GZ_EV_VQ_DP_VIRTQ_DESC_WIDTH 128
0228 #define ESE_GZ_VIRTQ_DESC_PROXY_EVENT_STRUCT_SIZE 160
0229 
0230 /* XIL_CFGBAR_TBL_ENTRY */
0231 #define ESF_GZ_CFGBAR_CONT_CAP_OFF_HI_LBN 96
0232 #define ESF_GZ_CFGBAR_CONT_CAP_OFF_HI_WIDTH 32
0233 #define ESF_GZ_CFGBAR_CONT_CAP_OFFSET_LBN 68
0234 #define ESF_GZ_CFGBAR_CONT_CAP_OFFSET_WIDTH 60
0235 #define ESE_GZ_CONT_CAP_OFFSET_BYTES_SHIFT 4
0236 #define ESF_GZ_CFGBAR_EF100_FUNC_CTL_WIN_OFF_LBN 67
0237 #define ESF_GZ_CFGBAR_EF100_FUNC_CTL_WIN_OFF_WIDTH 29
0238 #define ESE_GZ_EF100_FUNC_CTL_WIN_OFF_SHIFT 4
0239 #define ESF_GZ_CFGBAR_CONT_CAP_OFF_LO_LBN 68
0240 #define ESF_GZ_CFGBAR_CONT_CAP_OFF_LO_WIDTH 28
0241 #define ESF_GZ_CFGBAR_CONT_CAP_RSV_LBN 67
0242 #define ESF_GZ_CFGBAR_CONT_CAP_RSV_WIDTH 1
0243 #define ESF_GZ_CFGBAR_EF100_BAR_LBN 64
0244 #define ESF_GZ_CFGBAR_EF100_BAR_WIDTH 3
0245 #define ESE_GZ_CFGBAR_EF100_BAR_NUM_INVALID 7
0246 #define ESE_GZ_CFGBAR_EF100_BAR_NUM_EXPANSION_ROM 6
0247 #define ESF_GZ_CFGBAR_CONT_CAP_BAR_LBN 64
0248 #define ESF_GZ_CFGBAR_CONT_CAP_BAR_WIDTH 3
0249 #define ESE_GZ_CFGBAR_CONT_CAP_BAR_NUM_INVALID 7
0250 #define ESE_GZ_CFGBAR_CONT_CAP_BAR_NUM_EXPANSION_ROM 6
0251 #define ESF_GZ_CFGBAR_ENTRY_SIZE_LBN 32
0252 #define ESF_GZ_CFGBAR_ENTRY_SIZE_WIDTH 32
0253 #define ESE_GZ_CFGBAR_ENTRY_SIZE_EF100 12
0254 #define ESE_GZ_CFGBAR_ENTRY_HEADER_SIZE 8
0255 #define ESF_GZ_CFGBAR_ENTRY_LAST_LBN 28
0256 #define ESF_GZ_CFGBAR_ENTRY_LAST_WIDTH 1
0257 #define ESF_GZ_CFGBAR_ENTRY_REV_LBN 20
0258 #define ESF_GZ_CFGBAR_ENTRY_REV_WIDTH 8
0259 #define ESE_GZ_CFGBAR_ENTRY_REV_EF100 0
0260 #define ESF_GZ_CFGBAR_ENTRY_FORMAT_LBN 0
0261 #define ESF_GZ_CFGBAR_ENTRY_FORMAT_WIDTH 20
0262 #define ESE_GZ_CFGBAR_ENTRY_LAST 0xfffff
0263 #define ESE_GZ_CFGBAR_ENTRY_CONT_CAP_ADDR 0xffffe
0264 #define ESE_GZ_CFGBAR_ENTRY_EF100 0xef100
0265 #define ESE_GZ_XIL_CFGBAR_TBL_ENTRY_STRUCT_SIZE 128
0266 
0267 /* XIL_CFGBAR_VSEC */
0268 #define ESF_GZ_VSEC_TBL_OFF_HI_LBN 64
0269 #define ESF_GZ_VSEC_TBL_OFF_HI_WIDTH 32
0270 #define ESE_GZ_VSEC_TBL_OFF_HI_BYTES_SHIFT 32
0271 #define ESF_GZ_VSEC_TBL_OFF_LO_LBN 36
0272 #define ESF_GZ_VSEC_TBL_OFF_LO_WIDTH 28
0273 #define ESE_GZ_VSEC_TBL_OFF_LO_BYTES_SHIFT 4
0274 #define ESF_GZ_VSEC_TBL_BAR_LBN 32
0275 #define ESF_GZ_VSEC_TBL_BAR_WIDTH 4
0276 #define ESE_GZ_VSEC_BAR_NUM_INVALID 7
0277 #define ESE_GZ_VSEC_BAR_NUM_EXPANSION_ROM 6
0278 #define ESF_GZ_VSEC_LEN_LBN 20
0279 #define ESF_GZ_VSEC_LEN_WIDTH 12
0280 #define ESE_GZ_VSEC_LEN_HIGH_OFFT 16
0281 #define ESE_GZ_VSEC_LEN_MIN 12
0282 #define ESF_GZ_VSEC_VER_LBN 16
0283 #define ESF_GZ_VSEC_VER_WIDTH 4
0284 #define ESE_GZ_VSEC_VER_XIL_CFGBAR 0
0285 #define ESF_GZ_VSEC_ID_LBN 0
0286 #define ESF_GZ_VSEC_ID_WIDTH 16
0287 #define ESE_GZ_XILINX_VSEC_ID 0x20
0288 #define ESE_GZ_XIL_CFGBAR_VSEC_STRUCT_SIZE 96
0289 
0290 /* rh_egres_hclass */
0291 #define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L4_CSUM_LBN 15
0292 #define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L4_CSUM_WIDTH 1
0293 #define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L3_CLASS_LBN 13
0294 #define ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L3_CLASS_WIDTH 2
0295 #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CSUM_LBN 12
0296 #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CSUM_WIDTH 1
0297 #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CLASS_LBN 10
0298 #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CLASS_WIDTH 2
0299 #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L3_CLASS_LBN 8
0300 #define ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L3_CLASS_WIDTH 2
0301 #define ESF_GZ_RX_PREFIX_HCLASS_TUNNEL_CLASS_LBN 5
0302 #define ESF_GZ_RX_PREFIX_HCLASS_TUNNEL_CLASS_WIDTH 3
0303 #define ESF_GZ_RX_PREFIX_HCLASS_L2_N_VLAN_LBN 3
0304 #define ESF_GZ_RX_PREFIX_HCLASS_L2_N_VLAN_WIDTH 2
0305 #define ESF_GZ_RX_PREFIX_HCLASS_L2_CLASS_LBN 2
0306 #define ESF_GZ_RX_PREFIX_HCLASS_L2_CLASS_WIDTH 1
0307 #define ESF_GZ_RX_PREFIX_HCLASS_L2_STATUS_LBN 0
0308 #define ESF_GZ_RX_PREFIX_HCLASS_L2_STATUS_WIDTH 2
0309 #define ESE_GZ_RH_EGRES_HCLASS_STRUCT_SIZE 16
0310 
0311 /* sf_driver */
0312 #define ESF_GZ_DRIVER_E_TYPE_LBN 60
0313 #define ESF_GZ_DRIVER_E_TYPE_WIDTH 4
0314 #define ESF_GZ_DRIVER_PHASE_LBN 59
0315 #define ESF_GZ_DRIVER_PHASE_WIDTH 1
0316 #define ESF_GZ_DRIVER_DATA_LBN 0
0317 #define ESF_GZ_DRIVER_DATA_WIDTH 59
0318 #define ESE_GZ_SF_DRIVER_STRUCT_SIZE 64
0319 
0320 /* sf_ev_rsvd */
0321 #define ESF_GZ_EV_RSVD_TBD_NEXT_LBN 34
0322 #define ESF_GZ_EV_RSVD_TBD_NEXT_WIDTH 3
0323 #define ESF_GZ_EV_RSVD_EVENT_GEN_FLAGS_LBN 30
0324 #define ESF_GZ_EV_RSVD_EVENT_GEN_FLAGS_WIDTH 4
0325 #define ESF_GZ_EV_RSVD_SRC_QID_LBN 18
0326 #define ESF_GZ_EV_RSVD_SRC_QID_WIDTH 12
0327 #define ESF_GZ_EV_RSVD_SEQ_NUM_LBN 2
0328 #define ESF_GZ_EV_RSVD_SEQ_NUM_WIDTH 16
0329 #define ESF_GZ_EV_RSVD_TBD_LBN 0
0330 #define ESF_GZ_EV_RSVD_TBD_WIDTH 2
0331 #define ESE_GZ_SF_EV_RSVD_STRUCT_SIZE 37
0332 
0333 /* sf_flush_evnt */
0334 #define ESF_GZ_EV_FLSH_E_TYPE_LBN 60
0335 #define ESF_GZ_EV_FLSH_E_TYPE_WIDTH 4
0336 #define ESF_GZ_EV_FLSH_PHASE_LBN 59
0337 #define ESF_GZ_EV_FLSH_PHASE_WIDTH 1
0338 #define ESF_GZ_EV_FLSH_SUB_TYPE_LBN 53
0339 #define ESF_GZ_EV_FLSH_SUB_TYPE_WIDTH 6
0340 #define ESF_GZ_EV_FLSH_RSVD_LBN 10
0341 #define ESF_GZ_EV_FLSH_RSVD_WIDTH 43
0342 #define ESF_GZ_EV_FLSH_LABEL_LBN 4
0343 #define ESF_GZ_EV_FLSH_LABEL_WIDTH 6
0344 #define ESF_GZ_EV_FLSH_FLUSH_TYPE_LBN 0
0345 #define ESF_GZ_EV_FLSH_FLUSH_TYPE_WIDTH 4
0346 #define ESE_GZ_SF_FLUSH_EVNT_STRUCT_SIZE 64
0347 
0348 /* sf_rx_pkts */
0349 #define ESF_GZ_EV_RXPKTS_E_TYPE_LBN 60
0350 #define ESF_GZ_EV_RXPKTS_E_TYPE_WIDTH 4
0351 #define ESF_GZ_EV_RXPKTS_PHASE_LBN 59
0352 #define ESF_GZ_EV_RXPKTS_PHASE_WIDTH 1
0353 #define ESF_GZ_EV_RXPKTS_RSVD_LBN 22
0354 #define ESF_GZ_EV_RXPKTS_RSVD_WIDTH 37
0355 #define ESF_GZ_EV_RXPKTS_Q_LABEL_LBN 16
0356 #define ESF_GZ_EV_RXPKTS_Q_LABEL_WIDTH 6
0357 #define ESF_GZ_EV_RXPKTS_NUM_PKT_LBN 0
0358 #define ESF_GZ_EV_RXPKTS_NUM_PKT_WIDTH 16
0359 #define ESE_GZ_SF_RX_PKTS_STRUCT_SIZE 64
0360 
0361 /* sf_rx_prefix */
0362 #define ESF_GZ_RX_PREFIX_VLAN_STRIP_TCI_LBN 160
0363 #define ESF_GZ_RX_PREFIX_VLAN_STRIP_TCI_WIDTH 16
0364 #define ESF_GZ_RX_PREFIX_CSUM_FRAME_LBN 144
0365 #define ESF_GZ_RX_PREFIX_CSUM_FRAME_WIDTH 16
0366 #define ESF_GZ_RX_PREFIX_INGRESS_MPORT_LBN 128
0367 #define ESF_GZ_RX_PREFIX_INGRESS_MPORT_WIDTH 16
0368 #define ESF_GZ_RX_PREFIX_USER_MARK_LBN 96
0369 #define ESF_GZ_RX_PREFIX_USER_MARK_WIDTH 32
0370 #define ESF_GZ_RX_PREFIX_RSS_HASH_LBN 64
0371 #define ESF_GZ_RX_PREFIX_RSS_HASH_WIDTH 32
0372 #define ESF_GZ_RX_PREFIX_PARTIAL_TSTAMP_LBN 34
0373 #define ESF_GZ_RX_PREFIX_PARTIAL_TSTAMP_WIDTH 30
0374 #define ESF_GZ_RX_PREFIX_VSWITCH_STATUS_LBN 33
0375 #define ESF_GZ_RX_PREFIX_VSWITCH_STATUS_WIDTH 1
0376 #define ESF_GZ_RX_PREFIX_VLAN_STRIPPED_LBN 32
0377 #define ESF_GZ_RX_PREFIX_VLAN_STRIPPED_WIDTH 1
0378 #define ESF_GZ_RX_PREFIX_CLASS_LBN 16
0379 #define ESF_GZ_RX_PREFIX_CLASS_WIDTH 16
0380 #define ESF_GZ_RX_PREFIX_USER_FLAG_LBN 15
0381 #define ESF_GZ_RX_PREFIX_USER_FLAG_WIDTH 1
0382 #define ESF_GZ_RX_PREFIX_RSS_HASH_VALID_LBN 14
0383 #define ESF_GZ_RX_PREFIX_RSS_HASH_VALID_WIDTH 1
0384 #define ESF_GZ_RX_PREFIX_LENGTH_LBN 0
0385 #define ESF_GZ_RX_PREFIX_LENGTH_WIDTH 14
0386 #define ESE_GZ_SF_RX_PREFIX_STRUCT_SIZE 176
0387 
0388 /* sf_rxtx_generic */
0389 #define ESF_GZ_EV_BARRIER_LBN 167
0390 #define ESF_GZ_EV_BARRIER_WIDTH 1
0391 #define ESF_GZ_EV_RSVD_LBN 130
0392 #define ESF_GZ_EV_RSVD_WIDTH 37
0393 #define ESF_GZ_EV_DPRXY_LBN 129
0394 #define ESF_GZ_EV_DPRXY_WIDTH 1
0395 #define ESF_GZ_EV_VIRTIO_LBN 128
0396 #define ESF_GZ_EV_VIRTIO_WIDTH 1
0397 #define ESF_GZ_EV_COUNT_LBN 0
0398 #define ESF_GZ_EV_COUNT_WIDTH 128
0399 #define ESE_GZ_SF_RXTX_GENERIC_STRUCT_SIZE 168
0400 
0401 /* sf_ts_stamp */
0402 #define ESF_GZ_EV_TS_E_TYPE_LBN 60
0403 #define ESF_GZ_EV_TS_E_TYPE_WIDTH 4
0404 #define ESF_GZ_EV_TS_PHASE_LBN 59
0405 #define ESF_GZ_EV_TS_PHASE_WIDTH 1
0406 #define ESF_GZ_EV_TS_RSVD_LBN 56
0407 #define ESF_GZ_EV_TS_RSVD_WIDTH 3
0408 #define ESF_GZ_EV_TS_STATUS_LBN 54
0409 #define ESF_GZ_EV_TS_STATUS_WIDTH 2
0410 #define ESF_GZ_EV_TS_Q_LABEL_LBN 48
0411 #define ESF_GZ_EV_TS_Q_LABEL_WIDTH 6
0412 #define ESF_GZ_EV_TS_DESC_ID_LBN 32
0413 #define ESF_GZ_EV_TS_DESC_ID_WIDTH 16
0414 #define ESF_GZ_EV_TS_PARTIAL_STAMP_LBN 0
0415 #define ESF_GZ_EV_TS_PARTIAL_STAMP_WIDTH 32
0416 #define ESE_GZ_SF_TS_STAMP_STRUCT_SIZE 64
0417 
0418 /* sf_tx_cmplt */
0419 #define ESF_GZ_EV_TXCMPL_E_TYPE_LBN 60
0420 #define ESF_GZ_EV_TXCMPL_E_TYPE_WIDTH 4
0421 #define ESF_GZ_EV_TXCMPL_PHASE_LBN 59
0422 #define ESF_GZ_EV_TXCMPL_PHASE_WIDTH 1
0423 #define ESF_GZ_EV_TXCMPL_RSVD_LBN 22
0424 #define ESF_GZ_EV_TXCMPL_RSVD_WIDTH 37
0425 #define ESF_GZ_EV_TXCMPL_Q_LABEL_LBN 16
0426 #define ESF_GZ_EV_TXCMPL_Q_LABEL_WIDTH 6
0427 #define ESF_GZ_EV_TXCMPL_NUM_DESC_LBN 0
0428 #define ESF_GZ_EV_TXCMPL_NUM_DESC_WIDTH 16
0429 #define ESE_GZ_SF_TX_CMPLT_STRUCT_SIZE 64
0430 
0431 /* sf_tx_desc2cmpt_dsc_fmt */
0432 #define ESF_GZ_D2C_TGT_VI_ID_LBN 108
0433 #define ESF_GZ_D2C_TGT_VI_ID_WIDTH 16
0434 #define ESF_GZ_D2C_CMPT2_LBN 107
0435 #define ESF_GZ_D2C_CMPT2_WIDTH 1
0436 #define ESF_GZ_D2C_ABS_VI_ID_LBN 106
0437 #define ESF_GZ_D2C_ABS_VI_ID_WIDTH 1
0438 #define ESF_GZ_D2C_ORDERED_LBN 105
0439 #define ESF_GZ_D2C_ORDERED_WIDTH 1
0440 #define ESF_GZ_D2C_SKIP_N_LBN 97
0441 #define ESF_GZ_D2C_SKIP_N_WIDTH 8
0442 #define ESF_GZ_D2C_RSVD_LBN 64
0443 #define ESF_GZ_D2C_RSVD_WIDTH 33
0444 #define ESF_GZ_D2C_COMPLETION_LBN 0
0445 #define ESF_GZ_D2C_COMPLETION_WIDTH 64
0446 #define ESE_GZ_SF_TX_DESC2CMPT_DSC_FMT_STRUCT_SIZE 124
0447 
0448 /* sf_tx_mem2mem_dsc_fmt */
0449 #define ESF_GZ_M2M_ADDR_SPC_EN_LBN 123
0450 #define ESF_GZ_M2M_ADDR_SPC_EN_WIDTH 1
0451 #define ESF_GZ_M2M_TRANSLATE_ADDR_LBN 122
0452 #define ESF_GZ_M2M_TRANSLATE_ADDR_WIDTH 1
0453 #define ESF_GZ_M2M_RSVD_LBN 120
0454 #define ESF_GZ_M2M_RSVD_WIDTH 2
0455 #define ESF_GZ_M2M_ADDR_SPC_ID_LBN 84
0456 #define ESF_GZ_M2M_ADDR_SPC_ID_WIDTH 36
0457 #define ESF_GZ_M2M_LEN_MINUS_1_LBN 64
0458 #define ESF_GZ_M2M_LEN_MINUS_1_WIDTH 20
0459 #define ESF_GZ_M2M_ADDR_LBN 0
0460 #define ESF_GZ_M2M_ADDR_WIDTH 64
0461 #define ESE_GZ_SF_TX_MEM2MEM_DSC_FMT_STRUCT_SIZE 124
0462 
0463 /* sf_tx_ovr_dsc_fmt */
0464 #define ESF_GZ_TX_PREFIX_MARK_EN_LBN 123
0465 #define ESF_GZ_TX_PREFIX_MARK_EN_WIDTH 1
0466 #define ESF_GZ_TX_PREFIX_INGRESS_MPORT_EN_LBN 122
0467 #define ESF_GZ_TX_PREFIX_INGRESS_MPORT_EN_WIDTH 1
0468 #define ESF_GZ_TX_PREFIX_INLINE_CAPSULE_META_LBN 121
0469 #define ESF_GZ_TX_PREFIX_INLINE_CAPSULE_META_WIDTH 1
0470 #define ESF_GZ_TX_PREFIX_EGRESS_MPORT_EN_LBN 120
0471 #define ESF_GZ_TX_PREFIX_EGRESS_MPORT_EN_WIDTH 1
0472 #define ESF_GZ_TX_PREFIX_RSRVD_LBN 64
0473 #define ESF_GZ_TX_PREFIX_RSRVD_WIDTH 56
0474 #define ESF_GZ_TX_PREFIX_EGRESS_MPORT_LBN 48
0475 #define ESF_GZ_TX_PREFIX_EGRESS_MPORT_WIDTH 16
0476 #define ESF_GZ_TX_PREFIX_INGRESS_MPORT_LBN 32
0477 #define ESF_GZ_TX_PREFIX_INGRESS_MPORT_WIDTH 16
0478 #define ESF_GZ_TX_PREFIX_MARK_LBN 0
0479 #define ESF_GZ_TX_PREFIX_MARK_WIDTH 32
0480 #define ESE_GZ_SF_TX_OVR_DSC_FMT_STRUCT_SIZE 124
0481 
0482 /* sf_tx_seg_dsc_fmt */
0483 #define ESF_GZ_TX_SEG_ADDR_SPC_EN_LBN 123
0484 #define ESF_GZ_TX_SEG_ADDR_SPC_EN_WIDTH 1
0485 #define ESF_GZ_TX_SEG_TRANSLATE_ADDR_LBN 122
0486 #define ESF_GZ_TX_SEG_TRANSLATE_ADDR_WIDTH 1
0487 #define ESF_GZ_TX_SEG_RSVD2_LBN 120
0488 #define ESF_GZ_TX_SEG_RSVD2_WIDTH 2
0489 #define ESF_GZ_TX_SEG_ADDR_SPC_ID_LBN 84
0490 #define ESF_GZ_TX_SEG_ADDR_SPC_ID_WIDTH 36
0491 #define ESF_GZ_TX_SEG_RSVD_LBN 80
0492 #define ESF_GZ_TX_SEG_RSVD_WIDTH 4
0493 #define ESF_GZ_TX_SEG_LEN_LBN 64
0494 #define ESF_GZ_TX_SEG_LEN_WIDTH 16
0495 #define ESF_GZ_TX_SEG_ADDR_LBN 0
0496 #define ESF_GZ_TX_SEG_ADDR_WIDTH 64
0497 #define ESE_GZ_SF_TX_SEG_DSC_FMT_STRUCT_SIZE 124
0498 
0499 /* sf_tx_std_dsc_fmt */
0500 #define ESF_GZ_TX_SEND_VLAN_INSERT_TCI_LBN 108
0501 #define ESF_GZ_TX_SEND_VLAN_INSERT_TCI_WIDTH 16
0502 #define ESF_GZ_TX_SEND_VLAN_INSERT_EN_LBN 107
0503 #define ESF_GZ_TX_SEND_VLAN_INSERT_EN_WIDTH 1
0504 #define ESF_GZ_TX_SEND_TSTAMP_REQ_LBN 106
0505 #define ESF_GZ_TX_SEND_TSTAMP_REQ_WIDTH 1
0506 #define ESF_GZ_TX_SEND_CSO_OUTER_L4_LBN 105
0507 #define ESF_GZ_TX_SEND_CSO_OUTER_L4_WIDTH 1
0508 #define ESF_GZ_TX_SEND_CSO_OUTER_L3_LBN 104
0509 #define ESF_GZ_TX_SEND_CSO_OUTER_L3_WIDTH 1
0510 #define ESF_GZ_TX_SEND_CSO_INNER_L3_LBN 101
0511 #define ESF_GZ_TX_SEND_CSO_INNER_L3_WIDTH 3
0512 #define ESF_GZ_TX_SEND_RSVD_LBN 99
0513 #define ESF_GZ_TX_SEND_RSVD_WIDTH 2
0514 #define ESF_GZ_TX_SEND_CSO_PARTIAL_EN_LBN 97
0515 #define ESF_GZ_TX_SEND_CSO_PARTIAL_EN_WIDTH 2
0516 #define ESF_GZ_TX_SEND_CSO_PARTIAL_CSUM_W_LBN 92
0517 #define ESF_GZ_TX_SEND_CSO_PARTIAL_CSUM_W_WIDTH 5
0518 #define ESF_GZ_TX_SEND_CSO_PARTIAL_START_W_LBN 83
0519 #define ESF_GZ_TX_SEND_CSO_PARTIAL_START_W_WIDTH 9
0520 #define ESF_GZ_TX_SEND_NUM_SEGS_LBN 78
0521 #define ESF_GZ_TX_SEND_NUM_SEGS_WIDTH 5
0522 #define ESF_GZ_TX_SEND_LEN_LBN 64
0523 #define ESF_GZ_TX_SEND_LEN_WIDTH 14
0524 #define ESF_GZ_TX_SEND_ADDR_LBN 0
0525 #define ESF_GZ_TX_SEND_ADDR_WIDTH 64
0526 #define ESE_GZ_SF_TX_STD_DSC_FMT_STRUCT_SIZE 124
0527 
0528 /* sf_tx_tso_dsc_fmt */
0529 #define ESF_GZ_TX_TSO_VLAN_INSERT_TCI_LBN 108
0530 #define ESF_GZ_TX_TSO_VLAN_INSERT_TCI_WIDTH 16
0531 #define ESF_GZ_TX_TSO_VLAN_INSERT_EN_LBN 107
0532 #define ESF_GZ_TX_TSO_VLAN_INSERT_EN_WIDTH 1
0533 #define ESF_GZ_TX_TSO_TSTAMP_REQ_LBN 106
0534 #define ESF_GZ_TX_TSO_TSTAMP_REQ_WIDTH 1
0535 #define ESF_GZ_TX_TSO_CSO_OUTER_L4_LBN 105
0536 #define ESF_GZ_TX_TSO_CSO_OUTER_L4_WIDTH 1
0537 #define ESF_GZ_TX_TSO_CSO_OUTER_L3_LBN 104
0538 #define ESF_GZ_TX_TSO_CSO_OUTER_L3_WIDTH 1
0539 #define ESF_GZ_TX_TSO_CSO_INNER_L3_LBN 101
0540 #define ESF_GZ_TX_TSO_CSO_INNER_L3_WIDTH 3
0541 #define ESF_GZ_TX_TSO_RSVD_LBN 94
0542 #define ESF_GZ_TX_TSO_RSVD_WIDTH 7
0543 #define ESF_GZ_TX_TSO_CSO_INNER_L4_LBN 93
0544 #define ESF_GZ_TX_TSO_CSO_INNER_L4_WIDTH 1
0545 #define ESF_GZ_TX_TSO_INNER_L4_OFF_W_LBN 85
0546 #define ESF_GZ_TX_TSO_INNER_L4_OFF_W_WIDTH 8
0547 #define ESF_GZ_TX_TSO_INNER_L3_OFF_W_LBN 77
0548 #define ESF_GZ_TX_TSO_INNER_L3_OFF_W_WIDTH 8
0549 #define ESF_GZ_TX_TSO_OUTER_L4_OFF_W_LBN 69
0550 #define ESF_GZ_TX_TSO_OUTER_L4_OFF_W_WIDTH 8
0551 #define ESF_GZ_TX_TSO_OUTER_L3_OFF_W_LBN 64
0552 #define ESF_GZ_TX_TSO_OUTER_L3_OFF_W_WIDTH 5
0553 #define ESF_GZ_TX_TSO_PAYLOAD_LEN_LBN 42
0554 #define ESF_GZ_TX_TSO_PAYLOAD_LEN_WIDTH 22
0555 #define ESF_GZ_TX_TSO_HDR_LEN_W_LBN 34
0556 #define ESF_GZ_TX_TSO_HDR_LEN_W_WIDTH 8
0557 #define ESF_GZ_TX_TSO_ED_OUTER_UDP_LEN_LBN 33
0558 #define ESF_GZ_TX_TSO_ED_OUTER_UDP_LEN_WIDTH 1
0559 #define ESF_GZ_TX_TSO_ED_INNER_IP_LEN_LBN 32
0560 #define ESF_GZ_TX_TSO_ED_INNER_IP_LEN_WIDTH 1
0561 #define ESF_GZ_TX_TSO_ED_OUTER_IP_LEN_LBN 31
0562 #define ESF_GZ_TX_TSO_ED_OUTER_IP_LEN_WIDTH 1
0563 #define ESF_GZ_TX_TSO_ED_INNER_IP4_ID_LBN 29
0564 #define ESF_GZ_TX_TSO_ED_INNER_IP4_ID_WIDTH 2
0565 #define ESF_GZ_TX_TSO_ED_OUTER_IP4_ID_LBN 27
0566 #define ESF_GZ_TX_TSO_ED_OUTER_IP4_ID_WIDTH 2
0567 #define ESF_GZ_TX_TSO_PAYLOAD_NUM_SEGS_LBN 17
0568 #define ESF_GZ_TX_TSO_PAYLOAD_NUM_SEGS_WIDTH 10
0569 #define ESF_GZ_TX_TSO_HDR_NUM_SEGS_LBN 14
0570 #define ESF_GZ_TX_TSO_HDR_NUM_SEGS_WIDTH 3
0571 #define ESF_GZ_TX_TSO_MSS_LBN 0
0572 #define ESF_GZ_TX_TSO_MSS_WIDTH 14
0573 #define ESE_GZ_SF_TX_TSO_DSC_FMT_STRUCT_SIZE 124
0574 
0575 
0576 /* Enum D2VIO_MSG_OP */
0577 #define ESE_GZ_QUE_JBDNE 3
0578 #define ESE_GZ_QUE_EVICT 2
0579 #define ESE_GZ_QUE_EMPTY 1
0580 #define ESE_GZ_NOP 0
0581 
0582 /* Enum DESIGN_PARAMS */
0583 #define ESE_EF100_DP_GZ_RX_MAX_RUNT 17
0584 #define ESE_EF100_DP_GZ_VI_STRIDES 16
0585 #define ESE_EF100_DP_GZ_NMMU_PAGE_SIZES 15
0586 #define ESE_EF100_DP_GZ_EVQ_TIMER_TICK_NANOS 14
0587 #define ESE_EF100_DP_GZ_MEM2MEM_MAX_LEN 13
0588 #define ESE_EF100_DP_GZ_COMPAT 12
0589 #define ESE_EF100_DP_GZ_TSO_MAX_NUM_FRAMES 11
0590 #define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_NUM_SEGS 10
0591 #define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_LEN 9
0592 #define ESE_EF100_DP_GZ_TXQ_SIZE_GRANULARITY 8
0593 #define ESE_EF100_DP_GZ_RXQ_SIZE_GRANULARITY 7
0594 #define ESE_EF100_DP_GZ_TSO_MAX_HDR_NUM_SEGS 6
0595 #define ESE_EF100_DP_GZ_TSO_MAX_HDR_LEN 5
0596 #define ESE_EF100_DP_GZ_RX_L4_CSUM_PROTOCOLS 4
0597 #define ESE_EF100_DP_GZ_NMMU_GROUP_SIZE 3
0598 #define ESE_EF100_DP_GZ_EVQ_UNSOL_CREDIT_SEQ_BITS 2
0599 #define ESE_EF100_DP_GZ_PARTIAL_TSTAMP_SUB_NANO_BITS 1
0600 #define ESE_EF100_DP_GZ_PAD 0
0601 
0602 /* Enum DESIGN_PARAM_DEFAULTS */
0603 #define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_LEN_DEFAULT 0x3fffff
0604 #define ESE_EF100_DP_GZ_TSO_MAX_NUM_FRAMES_DEFAULT 8192
0605 #define ESE_EF100_DP_GZ_MEM2MEM_MAX_LEN_DEFAULT 8192
0606 #define ESE_EF100_DP_GZ_RX_L4_CSUM_PROTOCOLS_DEFAULT 0x1106
0607 #define ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_NUM_SEGS_DEFAULT 0x3ff
0608 #define ESE_EF100_DP_GZ_RX_MAX_RUNT_DEFAULT 640
0609 #define ESE_EF100_DP_GZ_EVQ_TIMER_TICK_NANOS_DEFAULT 512
0610 #define ESE_EF100_DP_GZ_NMMU_PAGE_SIZES_DEFAULT 512
0611 #define ESE_EF100_DP_GZ_TSO_MAX_HDR_LEN_DEFAULT 192
0612 #define ESE_EF100_DP_GZ_RXQ_SIZE_GRANULARITY_DEFAULT 64
0613 #define ESE_EF100_DP_GZ_TXQ_SIZE_GRANULARITY_DEFAULT 64
0614 #define ESE_EF100_DP_GZ_NMMU_GROUP_SIZE_DEFAULT 32
0615 #define ESE_EF100_DP_GZ_VI_STRIDES_DEFAULT 16
0616 #define ESE_EF100_DP_GZ_EVQ_UNSOL_CREDIT_SEQ_BITS_DEFAULT 7
0617 #define ESE_EF100_DP_GZ_TSO_MAX_HDR_NUM_SEGS_DEFAULT 4
0618 #define ESE_EF100_DP_GZ_PARTIAL_TSTAMP_SUB_NANO_BITS_DEFAULT 2
0619 #define ESE_EF100_DP_GZ_COMPAT_DEFAULT 0
0620 
0621 /* Enum HOST_IF_CONSTANTS */
0622 #define ESE_GZ_FCW_LEN 0x4C
0623 #define ESE_GZ_RX_PKT_PREFIX_LEN 22
0624 
0625 /* Enum PCI_CONSTANTS */
0626 #define ESE_GZ_PCI_BASE_CONFIG_SPACE_SIZE 256
0627 #define ESE_GZ_PCI_EXPRESS_XCAP_HDR_SIZE 4
0628 
0629 /* Enum RH_DSC_TYPE */
0630 #define ESE_GZ_TX_TOMB 0xF
0631 #define ESE_GZ_TX_VIO 0xE
0632 #define ESE_GZ_TX_TSO_OVRRD 0x8
0633 #define ESE_GZ_TX_D2CMP 0x7
0634 #define ESE_GZ_TX_DATA 0x6
0635 #define ESE_GZ_TX_D2M 0x5
0636 #define ESE_GZ_TX_M2M 0x4
0637 #define ESE_GZ_TX_SEG 0x3
0638 #define ESE_GZ_TX_TSO 0x2
0639 #define ESE_GZ_TX_OVRRD 0x1
0640 #define ESE_GZ_TX_SEND 0x0
0641 
0642 /* Enum RH_HCLASS_L2_CLASS */
0643 #define ESE_GZ_RH_HCLASS_L2_CLASS_E2_0123VLAN 1
0644 #define ESE_GZ_RH_HCLASS_L2_CLASS_OTHER 0
0645 
0646 /* Enum RH_HCLASS_L2_STATUS */
0647 #define ESE_GZ_RH_HCLASS_L2_STATUS_RESERVED 3
0648 #define ESE_GZ_RH_HCLASS_L2_STATUS_FCS_ERR 2
0649 #define ESE_GZ_RH_HCLASS_L2_STATUS_LEN_ERR 1
0650 #define ESE_GZ_RH_HCLASS_L2_STATUS_OK 0
0651 
0652 /* Enum RH_HCLASS_L3_CLASS */
0653 #define ESE_GZ_RH_HCLASS_L3_CLASS_OTHER 3
0654 #define ESE_GZ_RH_HCLASS_L3_CLASS_IP6 2
0655 #define ESE_GZ_RH_HCLASS_L3_CLASS_IP4BAD 1
0656 #define ESE_GZ_RH_HCLASS_L3_CLASS_IP4GOOD 0
0657 
0658 /* Enum RH_HCLASS_L4_CLASS */
0659 #define ESE_GZ_RH_HCLASS_L4_CLASS_OTHER 3
0660 #define ESE_GZ_RH_HCLASS_L4_CLASS_FRAG 2
0661 #define ESE_GZ_RH_HCLASS_L4_CLASS_UDP 1
0662 #define ESE_GZ_RH_HCLASS_L4_CLASS_TCP 0
0663 
0664 /* Enum RH_HCLASS_L4_CSUM */
0665 #define ESE_GZ_RH_HCLASS_L4_CSUM_GOOD 1
0666 #define ESE_GZ_RH_HCLASS_L4_CSUM_BAD_OR_UNKNOWN 0
0667 
0668 /* Enum RH_HCLASS_TUNNEL_CLASS */
0669 #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_7 7
0670 #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_6 6
0671 #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_5 5
0672 #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_4 4
0673 #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_GENEVE 3
0674 #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_NVGRE 2
0675 #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_VXLAN 1
0676 #define ESE_GZ_RH_HCLASS_TUNNEL_CLASS_NONE 0
0677 
0678 /* Enum SF_CTL_EVENT_SUBTYPE */
0679 #define ESE_GZ_EF100_CTL_EV_EVQ_TIMEOUT 0x3
0680 #define ESE_GZ_EF100_CTL_EV_FLUSH 0x2
0681 #define ESE_GZ_EF100_CTL_EV_TIME_SYNC 0x1
0682 #define ESE_GZ_EF100_CTL_EV_UNSOL_OVERFLOW 0x0
0683 
0684 /* Enum SF_EVENT_TYPE */
0685 #define ESE_GZ_EF100_EV_DRIVER 0x5
0686 #define ESE_GZ_EF100_EV_MCDI 0x4
0687 #define ESE_GZ_EF100_EV_CONTROL 0x3
0688 #define ESE_GZ_EF100_EV_TX_TIMESTAMP 0x2
0689 #define ESE_GZ_EF100_EV_TX_COMPLETION 0x1
0690 #define ESE_GZ_EF100_EV_RX_PKTS 0x0
0691 
0692 /* Enum SF_EW_EVENT_TYPE */
0693 #define ESE_GZ_EF100_EWEV_VIRTQ_DESC 0x2
0694 #define ESE_GZ_EF100_EWEV_TXQ_DESC 0x1
0695 #define ESE_GZ_EF100_EWEV_64BIT 0x0
0696 
0697 /* Enum TX_DESC_CSO_PARTIAL_EN */
0698 #define ESE_GZ_TX_DESC_CSO_PARTIAL_EN_TCP 2
0699 #define ESE_GZ_TX_DESC_CSO_PARTIAL_EN_UDP 1
0700 #define ESE_GZ_TX_DESC_CSO_PARTIAL_EN_OFF 0
0701 
0702 /* Enum TX_DESC_CS_INNER_L3 */
0703 #define ESE_GZ_TX_DESC_CS_INNER_L3_GENEVE 3
0704 #define ESE_GZ_TX_DESC_CS_INNER_L3_NVGRE 2
0705 #define ESE_GZ_TX_DESC_CS_INNER_L3_VXLAN 1
0706 #define ESE_GZ_TX_DESC_CS_INNER_L3_OFF 0
0707 
0708 /* Enum TX_DESC_IP4_ID */
0709 #define ESE_GZ_TX_DESC_IP4_ID_INC_MOD16 2
0710 #define ESE_GZ_TX_DESC_IP4_ID_INC_MOD15 1
0711 #define ESE_GZ_TX_DESC_IP4_ID_NO_OP 0
0712 
0713 /* Enum VIRTIO_NET_HDR_F */
0714 #define ESE_GZ_NEEDS_CSUM 0x1
0715 
0716 /* Enum VIRTIO_NET_HDR_GSO */
0717 #define ESE_GZ_TCPV6 0x4
0718 #define ESE_GZ_UDP 0x3
0719 #define ESE_GZ_TCPV4 0x1
0720 #define ESE_GZ_NONE 0x0
0721 /**************************************************************************/
0722 
0723 #define ESF_GZ_EV_DEBUG_EVENT_GEN_FLAGS_LBN 44
0724 #define ESF_GZ_EV_DEBUG_EVENT_GEN_FLAGS_WIDTH 4
0725 #define ESF_GZ_EV_DEBUG_SRC_QID_LBN 32
0726 #define ESF_GZ_EV_DEBUG_SRC_QID_WIDTH 12
0727 #define ESF_GZ_EV_DEBUG_SEQ_NUM_LBN 16
0728 #define ESF_GZ_EV_DEBUG_SEQ_NUM_WIDTH 16
0729 
0730 #endif /* EFX_EF100_REGS_H */