xref: /dpdk/drivers/common/sfc_efx/base/efx_regs_ef100.h (revision c4f4a0e60dcb2a3877a4a751d7641fa1d9c46c29)
14d80109cSAndrew Rybchenko /* SPDX-License-Identifier: BSD-3-Clause
24d80109cSAndrew Rybchenko  *
3672386c1SAndrew Rybchenko  * Copyright(c) 2019-2021 Xilinx, Inc.
44d80109cSAndrew Rybchenko  * Copyright(c) 2018-2019 Solarflare Communications Inc.
54d80109cSAndrew Rybchenko  */
64d80109cSAndrew Rybchenko 
74d80109cSAndrew Rybchenko #ifndef	_SYS_EFX_EF100_REGS_H
84d80109cSAndrew Rybchenko #define	_SYS_EFX_EF100_REGS_H
94d80109cSAndrew Rybchenko 
104d80109cSAndrew Rybchenko #ifdef	__cplusplus
114d80109cSAndrew Rybchenko extern "C" {
124d80109cSAndrew Rybchenko #endif
134d80109cSAndrew Rybchenko 
144d80109cSAndrew Rybchenko /**************************************************************************
154d80109cSAndrew Rybchenko  * NOTE: the line below marks the start of the autogenerated section
164d80109cSAndrew Rybchenko  * EF100 registers and descriptors
174d80109cSAndrew Rybchenko  *
184d80109cSAndrew Rybchenko  **************************************************************************
194d80109cSAndrew Rybchenko  */
204d80109cSAndrew Rybchenko 
214d80109cSAndrew Rybchenko /*
224d80109cSAndrew Rybchenko  * HW_REV_ID_REG(32bit):
234d80109cSAndrew Rybchenko  * Hardware revision info register
244d80109cSAndrew Rybchenko  */
254d80109cSAndrew Rybchenko 
264d80109cSAndrew Rybchenko #define	ER_GZ_HW_REV_ID_REG_OFST 0x00000000
274d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
284d80109cSAndrew Rybchenko #define	ER_GZ_HW_REV_ID_REG_RESET 0x0
294d80109cSAndrew Rybchenko 
304d80109cSAndrew Rybchenko 
314d80109cSAndrew Rybchenko 
324d80109cSAndrew Rybchenko 
334d80109cSAndrew Rybchenko /*
344d80109cSAndrew Rybchenko  * NIC_REV_ID(32bit):
354d80109cSAndrew Rybchenko  * SoftNIC revision info register
364d80109cSAndrew Rybchenko  */
374d80109cSAndrew Rybchenko 
384d80109cSAndrew Rybchenko #define	ER_GZ_NIC_REV_ID_OFST 0x00000004
394d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
404d80109cSAndrew Rybchenko #define	ER_GZ_NIC_REV_ID_RESET 0x0
414d80109cSAndrew Rybchenko 
424d80109cSAndrew Rybchenko 
434d80109cSAndrew Rybchenko 
444d80109cSAndrew Rybchenko 
454d80109cSAndrew Rybchenko /*
464d80109cSAndrew Rybchenko  * NIC_MAGIC(32bit):
474d80109cSAndrew Rybchenko  * Signature register that should contain a well-known value
484d80109cSAndrew Rybchenko  */
494d80109cSAndrew Rybchenko 
504d80109cSAndrew Rybchenko #define	ER_GZ_NIC_MAGIC_OFST 0x00000008
514d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
524d80109cSAndrew Rybchenko #define	ER_GZ_NIC_MAGIC_RESET 0x0
534d80109cSAndrew Rybchenko 
544d80109cSAndrew Rybchenko 
554d80109cSAndrew Rybchenko #define	ERF_GZ_NIC_MAGIC_LBN 0
564d80109cSAndrew Rybchenko #define	ERF_GZ_NIC_MAGIC_WIDTH 32
574d80109cSAndrew Rybchenko #define	EFE_GZ_NIC_MAGIC_EXPECTED 0xEF100FCB
584d80109cSAndrew Rybchenko 
594d80109cSAndrew Rybchenko 
604d80109cSAndrew Rybchenko /*
614d80109cSAndrew Rybchenko  * MC_SFT_STATUS(32bit):
624d80109cSAndrew Rybchenko  * MC soft status
634d80109cSAndrew Rybchenko  */
644d80109cSAndrew Rybchenko 
654d80109cSAndrew Rybchenko #define	ER_GZ_MC_SFT_STATUS_OFST 0x00000010
664d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
674d80109cSAndrew Rybchenko #define	ER_GZ_MC_SFT_STATUS_STEP 4
684d80109cSAndrew Rybchenko #define	ER_GZ_MC_SFT_STATUS_ROWS 2
694d80109cSAndrew Rybchenko #define	ER_GZ_MC_SFT_STATUS_RESET 0x0
704d80109cSAndrew Rybchenko 
714d80109cSAndrew Rybchenko 
724d80109cSAndrew Rybchenko 
734d80109cSAndrew Rybchenko 
744d80109cSAndrew Rybchenko /*
754d80109cSAndrew Rybchenko  * MC_DB_LWRD_REG(32bit):
764d80109cSAndrew Rybchenko  * MC doorbell register, low word
774d80109cSAndrew Rybchenko  */
784d80109cSAndrew Rybchenko 
794d80109cSAndrew Rybchenko #define	ER_GZ_MC_DB_LWRD_REG_OFST 0x00000020
804d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
814d80109cSAndrew Rybchenko #define	ER_GZ_MC_DB_LWRD_REG_RESET 0x0
824d80109cSAndrew Rybchenko 
834d80109cSAndrew Rybchenko 
844d80109cSAndrew Rybchenko 
854d80109cSAndrew Rybchenko 
864d80109cSAndrew Rybchenko /*
874d80109cSAndrew Rybchenko  * MC_DB_HWRD_REG(32bit):
884d80109cSAndrew Rybchenko  * MC doorbell register, high word
894d80109cSAndrew Rybchenko  */
904d80109cSAndrew Rybchenko 
914d80109cSAndrew Rybchenko #define	ER_GZ_MC_DB_HWRD_REG_OFST 0x00000024
924d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
934d80109cSAndrew Rybchenko #define	ER_GZ_MC_DB_HWRD_REG_RESET 0x0
944d80109cSAndrew Rybchenko 
954d80109cSAndrew Rybchenko 
964d80109cSAndrew Rybchenko 
974d80109cSAndrew Rybchenko 
984d80109cSAndrew Rybchenko /*
994d80109cSAndrew Rybchenko  * EVQ_INT_PRIME(32bit):
1004d80109cSAndrew Rybchenko  * Prime EVQ
1014d80109cSAndrew Rybchenko  */
1024d80109cSAndrew Rybchenko 
1034d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_INT_PRIME_OFST 0x00000040
1044d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
1054d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_INT_PRIME_RESET 0x0
1064d80109cSAndrew Rybchenko 
1074d80109cSAndrew Rybchenko 
1084d80109cSAndrew Rybchenko #define	ERF_GZ_IDX_LBN 16
1094d80109cSAndrew Rybchenko #define	ERF_GZ_IDX_WIDTH 16
1104d80109cSAndrew Rybchenko #define	ERF_GZ_EVQ_ID_LBN 0
1114d80109cSAndrew Rybchenko #define	ERF_GZ_EVQ_ID_WIDTH 16
1124d80109cSAndrew Rybchenko 
1134d80109cSAndrew Rybchenko 
1144d80109cSAndrew Rybchenko /*
1154d80109cSAndrew Rybchenko  * INT_AGG_RING_PRIME(32bit):
1164d80109cSAndrew Rybchenko  * Prime interrupt aggregation ring.
1174d80109cSAndrew Rybchenko  */
1184d80109cSAndrew Rybchenko 
1194d80109cSAndrew Rybchenko #define	ER_GZ_INT_AGG_RING_PRIME_OFST 0x00000048
1204d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
1214d80109cSAndrew Rybchenko #define	ER_GZ_INT_AGG_RING_PRIME_RESET 0x0
1224d80109cSAndrew Rybchenko 
1234d80109cSAndrew Rybchenko 
1244d80109cSAndrew Rybchenko /* defined as ERF_GZ_IDX_LBN 16; */
1254d80109cSAndrew Rybchenko /* defined as ERF_GZ_IDX_WIDTH 16 */
1264d80109cSAndrew Rybchenko #define	ERF_GZ_RING_ID_LBN 0
1274d80109cSAndrew Rybchenko #define	ERF_GZ_RING_ID_WIDTH 16
1284d80109cSAndrew Rybchenko 
1294d80109cSAndrew Rybchenko 
1304d80109cSAndrew Rybchenko /*
1314d80109cSAndrew Rybchenko  * EVQ_TMR(32bit):
1324d80109cSAndrew Rybchenko  * EVQ timer control
1334d80109cSAndrew Rybchenko  */
1344d80109cSAndrew Rybchenko 
1354d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_TMR_OFST 0x00000104
1364d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
1374d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_TMR_STEP 65536
1384d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_TMR_ROWS 1024
1394d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_TMR_RESET 0x0
1404d80109cSAndrew Rybchenko 
1414d80109cSAndrew Rybchenko 
1424d80109cSAndrew Rybchenko 
1434d80109cSAndrew Rybchenko 
1444d80109cSAndrew Rybchenko /*
1454d80109cSAndrew Rybchenko  * EVQ_UNSOL_CREDIT_GRANT_SEQ(32bit):
1464d80109cSAndrew Rybchenko  * Grant credits for unsolicited events.
1474d80109cSAndrew Rybchenko  */
1484d80109cSAndrew Rybchenko 
1494d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ_OFST 0x00000108
1504d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
1514d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ_STEP 65536
1524d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ_ROWS 1024
1534d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_UNSOL_CREDIT_GRANT_SEQ_RESET 0x0
1544d80109cSAndrew Rybchenko 
1554d80109cSAndrew Rybchenko 
1564d80109cSAndrew Rybchenko 
1574d80109cSAndrew Rybchenko 
1584d80109cSAndrew Rybchenko /*
1594d80109cSAndrew Rybchenko  * EVQ_DESC_CREDIT_GRANT_SEQ(32bit):
1604d80109cSAndrew Rybchenko  * Grant credits for descriptor proxy events.
1614d80109cSAndrew Rybchenko  */
1624d80109cSAndrew Rybchenko 
1634d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ_OFST 0x00000110
1644d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
1654d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ_STEP 65536
1664d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ_ROWS 1024
1674d80109cSAndrew Rybchenko #define	ER_GZ_EVQ_DESC_CREDIT_GRANT_SEQ_RESET 0x0
1684d80109cSAndrew Rybchenko 
1694d80109cSAndrew Rybchenko 
1704d80109cSAndrew Rybchenko 
1714d80109cSAndrew Rybchenko 
1724d80109cSAndrew Rybchenko /*
1734d80109cSAndrew Rybchenko  * RX_RING_DOORBELL(32bit):
1744d80109cSAndrew Rybchenko  * Ring Rx doorbell.
1754d80109cSAndrew Rybchenko  */
1764d80109cSAndrew Rybchenko 
1774d80109cSAndrew Rybchenko #define	ER_GZ_RX_RING_DOORBELL_OFST 0x00000180
1784d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
1794d80109cSAndrew Rybchenko #define	ER_GZ_RX_RING_DOORBELL_STEP 65536
1804d80109cSAndrew Rybchenko #define	ER_GZ_RX_RING_DOORBELL_ROWS 1024
1814d80109cSAndrew Rybchenko #define	ER_GZ_RX_RING_DOORBELL_RESET 0x0
1824d80109cSAndrew Rybchenko 
1834d80109cSAndrew Rybchenko 
1844d80109cSAndrew Rybchenko #define	ERF_GZ_RX_RING_PIDX_LBN 16
1854d80109cSAndrew Rybchenko #define	ERF_GZ_RX_RING_PIDX_WIDTH 16
1864d80109cSAndrew Rybchenko 
1874d80109cSAndrew Rybchenko 
1884d80109cSAndrew Rybchenko /*
1894d80109cSAndrew Rybchenko  * TX_RING_DOORBELL(32bit):
1904d80109cSAndrew Rybchenko  * Ring Tx doorbell.
1914d80109cSAndrew Rybchenko  */
1924d80109cSAndrew Rybchenko 
1934d80109cSAndrew Rybchenko #define	ER_GZ_TX_RING_DOORBELL_OFST 0x00000200
1944d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
1954d80109cSAndrew Rybchenko #define	ER_GZ_TX_RING_DOORBELL_STEP 65536
1964d80109cSAndrew Rybchenko #define	ER_GZ_TX_RING_DOORBELL_ROWS 1024
1974d80109cSAndrew Rybchenko #define	ER_GZ_TX_RING_DOORBELL_RESET 0x0
1984d80109cSAndrew Rybchenko 
1994d80109cSAndrew Rybchenko 
2004d80109cSAndrew Rybchenko #define	ERF_GZ_TX_RING_PIDX_LBN 16
2014d80109cSAndrew Rybchenko #define	ERF_GZ_TX_RING_PIDX_WIDTH 16
2024d80109cSAndrew Rybchenko 
2034d80109cSAndrew Rybchenko 
2044d80109cSAndrew Rybchenko /*
2054d80109cSAndrew Rybchenko  * TX_DESC_PUSH(128bit):
2064d80109cSAndrew Rybchenko  * Tx ring descriptor push. Reserved for future use.
2074d80109cSAndrew Rybchenko  */
2084d80109cSAndrew Rybchenko 
2094d80109cSAndrew Rybchenko #define	ER_GZ_TX_DESC_PUSH_OFST 0x00000210
2104d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
2114d80109cSAndrew Rybchenko #define	ER_GZ_TX_DESC_PUSH_STEP 65536
2124d80109cSAndrew Rybchenko #define	ER_GZ_TX_DESC_PUSH_ROWS 1024
2134d80109cSAndrew Rybchenko #define	ER_GZ_TX_DESC_PUSH_RESET 0x0
2144d80109cSAndrew Rybchenko 
2154d80109cSAndrew Rybchenko 
2164d80109cSAndrew Rybchenko 
2174d80109cSAndrew Rybchenko 
2184d80109cSAndrew Rybchenko /*
2194d80109cSAndrew Rybchenko  * THE_TIME(64bit):
2204d80109cSAndrew Rybchenko  * NIC hardware time
2214d80109cSAndrew Rybchenko  */
2224d80109cSAndrew Rybchenko 
2234d80109cSAndrew Rybchenko #define	ER_GZ_THE_TIME_OFST 0x00000280
2244d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
2254d80109cSAndrew Rybchenko #define	ER_GZ_THE_TIME_STEP 65536
2264d80109cSAndrew Rybchenko #define	ER_GZ_THE_TIME_ROWS 1024
2274d80109cSAndrew Rybchenko #define	ER_GZ_THE_TIME_RESET 0x0
2284d80109cSAndrew Rybchenko 
2294d80109cSAndrew Rybchenko 
2304d80109cSAndrew Rybchenko #define	ERF_GZ_THE_TIME_SECS_LBN 32
2314d80109cSAndrew Rybchenko #define	ERF_GZ_THE_TIME_SECS_WIDTH 32
2324d80109cSAndrew Rybchenko #define	ERF_GZ_THE_TIME_NANOS_LBN 2
2334d80109cSAndrew Rybchenko #define	ERF_GZ_THE_TIME_NANOS_WIDTH 30
2344d80109cSAndrew Rybchenko #define	ERF_GZ_THE_TIME_CLOCK_IN_SYNC_LBN 1
2354d80109cSAndrew Rybchenko #define	ERF_GZ_THE_TIME_CLOCK_IN_SYNC_WIDTH 1
2364d80109cSAndrew Rybchenko #define	ERF_GZ_THE_TIME_CLOCK_IS_SET_LBN 0
2374d80109cSAndrew Rybchenko #define	ERF_GZ_THE_TIME_CLOCK_IS_SET_WIDTH 1
2384d80109cSAndrew Rybchenko 
2394d80109cSAndrew Rybchenko 
2404d80109cSAndrew Rybchenko /*
2414d80109cSAndrew Rybchenko  * PARAMS_TLV_LEN(32bit):
2424d80109cSAndrew Rybchenko  * Size of design parameters area in bytes
2434d80109cSAndrew Rybchenko  */
2444d80109cSAndrew Rybchenko 
2454d80109cSAndrew Rybchenko #define	ER_GZ_PARAMS_TLV_LEN_OFST 0x00000c00
2464d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
2474d80109cSAndrew Rybchenko #define	ER_GZ_PARAMS_TLV_LEN_STEP 65536
2484d80109cSAndrew Rybchenko #define	ER_GZ_PARAMS_TLV_LEN_ROWS 1024
2494d80109cSAndrew Rybchenko #define	ER_GZ_PARAMS_TLV_LEN_RESET 0x0
2504d80109cSAndrew Rybchenko 
2514d80109cSAndrew Rybchenko 
2524d80109cSAndrew Rybchenko 
2534d80109cSAndrew Rybchenko 
2544d80109cSAndrew Rybchenko /*
2554d80109cSAndrew Rybchenko  * PARAMS_TLV(8160bit):
2564d80109cSAndrew Rybchenko  * Design parameters
2574d80109cSAndrew Rybchenko  */
2584d80109cSAndrew Rybchenko 
2594d80109cSAndrew Rybchenko #define	ER_GZ_PARAMS_TLV_OFST 0x00000c04
2604d80109cSAndrew Rybchenko /* rhead=rhead_host_regs */
2614d80109cSAndrew Rybchenko #define	ER_GZ_PARAMS_TLV_STEP 65536
2624d80109cSAndrew Rybchenko #define	ER_GZ_PARAMS_TLV_ROWS 1024
2634d80109cSAndrew Rybchenko #define	ER_GZ_PARAMS_TLV_RESET 0x0
2644d80109cSAndrew Rybchenko 
2654d80109cSAndrew Rybchenko 
2664d80109cSAndrew Rybchenko 
2674d80109cSAndrew Rybchenko 
2684d80109cSAndrew Rybchenko /* ES_EW_EMBEDDED_EVENT */
2694d80109cSAndrew Rybchenko #define	ESF_GZ_EV_256_EVENT_DW0_LBN 0
2704d80109cSAndrew Rybchenko #define	ESF_GZ_EV_256_EVENT_DW0_WIDTH 32
2714d80109cSAndrew Rybchenko #define	ESF_GZ_EV_256_EVENT_DW1_LBN 32
2724d80109cSAndrew Rybchenko #define	ESF_GZ_EV_256_EVENT_DW1_WIDTH 32
2734d80109cSAndrew Rybchenko #define	ESF_GZ_EV_256_EVENT_LBN 0
2744d80109cSAndrew Rybchenko #define	ESF_GZ_EV_256_EVENT_WIDTH 64
2754d80109cSAndrew Rybchenko #define	ESE_GZ_EW_EMBEDDED_EVENT_STRUCT_SIZE 64
2764d80109cSAndrew Rybchenko 
2774d80109cSAndrew Rybchenko 
2784d80109cSAndrew Rybchenko /* ES_NMMU_PAGESZ_2M_ADDR */
2794d80109cSAndrew Rybchenko #define	ESF_GZ_NMMU_2M_PAGE_SIZE_ID_LBN 59
2804d80109cSAndrew Rybchenko #define	ESF_GZ_NMMU_2M_PAGE_SIZE_ID_WIDTH 5
2814d80109cSAndrew Rybchenko #define	ESE_GZ_NMMU_PAGE_SIZE_2M 9
2824d80109cSAndrew Rybchenko #define	ESF_GZ_NMMU_2M_PAGE_ID_DW0_LBN 21
2834d80109cSAndrew Rybchenko #define	ESF_GZ_NMMU_2M_PAGE_ID_DW0_WIDTH 32
2844d80109cSAndrew Rybchenko #define	ESF_GZ_NMMU_2M_PAGE_ID_DW1_LBN 53
2854d80109cSAndrew Rybchenko #define	ESF_GZ_NMMU_2M_PAGE_ID_DW1_WIDTH 6
2864d80109cSAndrew Rybchenko #define	ESF_GZ_NMMU_2M_PAGE_ID_LBN 21
2874d80109cSAndrew Rybchenko #define	ESF_GZ_NMMU_2M_PAGE_ID_WIDTH 38
2884d80109cSAndrew Rybchenko #define	ESF_GZ_NMMU_2M_PAGE_OFFSET_LBN 0
2894d80109cSAndrew Rybchenko #define	ESF_GZ_NMMU_2M_PAGE_OFFSET_WIDTH 21
2904d80109cSAndrew Rybchenko #define	ESE_GZ_NMMU_PAGESZ_2M_ADDR_STRUCT_SIZE 64
2914d80109cSAndrew Rybchenko 
2924d80109cSAndrew Rybchenko 
2934d80109cSAndrew Rybchenko /* ES_PARAM_TLV */
2944d80109cSAndrew Rybchenko #define	ESF_GZ_TLV_VALUE_LBN 16
2954d80109cSAndrew Rybchenko #define	ESF_GZ_TLV_VALUE_WIDTH 8
2964d80109cSAndrew Rybchenko #define	ESE_GZ_TLV_VALUE_LENMIN 8
2974d80109cSAndrew Rybchenko #define	ESE_GZ_TLV_VALUE_LENMAX 2040
2984d80109cSAndrew Rybchenko #define	ESF_GZ_TLV_LEN_LBN 8
2994d80109cSAndrew Rybchenko #define	ESF_GZ_TLV_LEN_WIDTH 8
3004d80109cSAndrew Rybchenko #define	ESF_GZ_TLV_TYPE_LBN 0
3014d80109cSAndrew Rybchenko #define	ESF_GZ_TLV_TYPE_WIDTH 8
3024d80109cSAndrew Rybchenko #define	ESE_GZ_DP_NMMU_GROUP_SIZE 5
3034d80109cSAndrew Rybchenko #define	ESE_GZ_DP_EVQ_UNSOL_CREDIT_SEQ_BITS 4
3044d80109cSAndrew Rybchenko #define	ESE_GZ_DP_TX_EV_NUM_DESCS_BITS 3
3054d80109cSAndrew Rybchenko #define	ESE_GZ_DP_RX_EV_NUM_PACKETS_BITS 2
3064d80109cSAndrew Rybchenko #define	ESE_GZ_DP_PARTIAL_TSTAMP_SUB_NANO_BITS 1
3074d80109cSAndrew Rybchenko #define	ESE_GZ_DP_PAD 0
3084d80109cSAndrew Rybchenko #define	ESE_GZ_PARAM_TLV_STRUCT_SIZE 24
3094d80109cSAndrew Rybchenko 
3104d80109cSAndrew Rybchenko 
3114d80109cSAndrew Rybchenko /* ES_PCI_EXPRESS_XCAP_HDR */
3124d80109cSAndrew Rybchenko #define	ESF_GZ_PCI_EXPRESS_XCAP_NEXT_LBN 20
3134d80109cSAndrew Rybchenko #define	ESF_GZ_PCI_EXPRESS_XCAP_NEXT_WIDTH 12
3144d80109cSAndrew Rybchenko #define	ESF_GZ_PCI_EXPRESS_XCAP_VER_LBN 16
3154d80109cSAndrew Rybchenko #define	ESF_GZ_PCI_EXPRESS_XCAP_VER_WIDTH 4
3164d80109cSAndrew Rybchenko #define	ESE_GZ_PCI_EXPRESS_XCAP_VER_VSEC 1
3174d80109cSAndrew Rybchenko #define	ESF_GZ_PCI_EXPRESS_XCAP_ID_LBN 0
3184d80109cSAndrew Rybchenko #define	ESF_GZ_PCI_EXPRESS_XCAP_ID_WIDTH 16
3194d80109cSAndrew Rybchenko #define	ESE_GZ_PCI_EXPRESS_XCAP_ID_VNDR 0xb
3204d80109cSAndrew Rybchenko #define	ESE_GZ_PCI_EXPRESS_XCAP_HDR_STRUCT_SIZE 32
3214d80109cSAndrew Rybchenko 
3224d80109cSAndrew Rybchenko 
3234d80109cSAndrew Rybchenko /* ES_RHEAD_BASE_EVENT */
3244d80109cSAndrew Rybchenko #define	ESF_GZ_E_TYPE_LBN 60
3254d80109cSAndrew Rybchenko #define	ESF_GZ_E_TYPE_WIDTH 4
3264d80109cSAndrew Rybchenko #define	ESF_GZ_EV_EVQ_PHASE_LBN 59
3274d80109cSAndrew Rybchenko #define	ESF_GZ_EV_EVQ_PHASE_WIDTH 1
3284d80109cSAndrew Rybchenko #define	ESE_GZ_RHEAD_BASE_EVENT_STRUCT_SIZE 64
3294d80109cSAndrew Rybchenko 
3304d80109cSAndrew Rybchenko 
3314d80109cSAndrew Rybchenko /* ES_RHEAD_EW_EVENT */
3324d80109cSAndrew Rybchenko #define	ESF_GZ_EV_256_EV32_PHASE_LBN 255
3334d80109cSAndrew Rybchenko #define	ESF_GZ_EV_256_EV32_PHASE_WIDTH 1
3344d80109cSAndrew Rybchenko #define	ESF_GZ_EV_256_EV32_TYPE_LBN 251
3354d80109cSAndrew Rybchenko #define	ESF_GZ_EV_256_EV32_TYPE_WIDTH 4
3364d80109cSAndrew Rybchenko #define	ESE_GZ_EF100_EVEW_VIRTQ_DESC 2
3374d80109cSAndrew Rybchenko #define	ESE_GZ_EF100_EVEW_TXQ_DESC 1
3384d80109cSAndrew Rybchenko #define	ESE_GZ_EF100_EVEW_64BIT 0
3394d80109cSAndrew Rybchenko #define	ESE_GZ_RHEAD_EW_EVENT_STRUCT_SIZE 256
3404d80109cSAndrew Rybchenko 
3414d80109cSAndrew Rybchenko 
3424d80109cSAndrew Rybchenko /* ES_RX_DESC */
3434d80109cSAndrew Rybchenko #define	ESF_GZ_RX_BUF_ADDR_DW0_LBN 0
3444d80109cSAndrew Rybchenko #define	ESF_GZ_RX_BUF_ADDR_DW0_WIDTH 32
3454d80109cSAndrew Rybchenko #define	ESF_GZ_RX_BUF_ADDR_DW1_LBN 32
3464d80109cSAndrew Rybchenko #define	ESF_GZ_RX_BUF_ADDR_DW1_WIDTH 32
3474d80109cSAndrew Rybchenko #define	ESF_GZ_RX_BUF_ADDR_LBN 0
3484d80109cSAndrew Rybchenko #define	ESF_GZ_RX_BUF_ADDR_WIDTH 64
3494d80109cSAndrew Rybchenko #define	ESE_GZ_RX_DESC_STRUCT_SIZE 64
3504d80109cSAndrew Rybchenko 
3514d80109cSAndrew Rybchenko 
3524d80109cSAndrew Rybchenko /* ES_TXQ_DESC_PROXY_EVENT */
3534d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_VI_ID_LBN 128
3544d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_VI_ID_WIDTH 16
3554d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_TXQ_DESC_DW0_LBN 0
3564d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_TXQ_DESC_DW0_WIDTH 32
3574d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_TXQ_DESC_DW1_LBN 32
3584d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_TXQ_DESC_DW1_WIDTH 32
3594d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_TXQ_DESC_DW2_LBN 64
3604d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_TXQ_DESC_DW2_WIDTH 32
3614d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_TXQ_DESC_DW3_LBN 96
3624d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_TXQ_DESC_DW3_WIDTH 32
3634d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_TXQ_DESC_LBN 0
3644d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXQ_DP_TXQ_DESC_WIDTH 128
3654d80109cSAndrew Rybchenko #define	ESE_GZ_TXQ_DESC_PROXY_EVENT_STRUCT_SIZE 144
3664d80109cSAndrew Rybchenko 
3674d80109cSAndrew Rybchenko 
3684d80109cSAndrew Rybchenko /* ES_TX_DESC_TYPE */
3694d80109cSAndrew Rybchenko #define	ESF_GZ_TX_DESC_TYPE_LBN 124
3704d80109cSAndrew Rybchenko #define	ESF_GZ_TX_DESC_TYPE_WIDTH 4
3714d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_TYPE_DESC2CMPT 7
3724d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_TYPE_MEM2MEM 4
3734d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_TYPE_SEG 3
3744d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_TYPE_TSO 2
3754d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_TYPE_PREFIX 1
3764d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_TYPE_SEND 0
3774d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_TYPE_STRUCT_SIZE 128
3784d80109cSAndrew Rybchenko 
3794d80109cSAndrew Rybchenko 
3804d80109cSAndrew Rybchenko /* ES_VIRTQ_DESC_PROXY_EVENT */
3814d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_AVAIL_ENTRY_LBN 144
3824d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_AVAIL_ENTRY_WIDTH 16
3834d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VI_ID_LBN 128
3844d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VI_ID_WIDTH 16
3854d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VIRTQ_DESC_DW0_LBN 0
3864d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VIRTQ_DESC_DW0_WIDTH 32
3874d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VIRTQ_DESC_DW1_LBN 32
3884d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VIRTQ_DESC_DW1_WIDTH 32
3894d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VIRTQ_DESC_DW2_LBN 64
3904d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VIRTQ_DESC_DW2_WIDTH 32
3914d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VIRTQ_DESC_DW3_LBN 96
3924d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VIRTQ_DESC_DW3_WIDTH 32
3934d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VIRTQ_DESC_LBN 0
3944d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VQ_DP_VIRTQ_DESC_WIDTH 128
3954d80109cSAndrew Rybchenko #define	ESE_GZ_VIRTQ_DESC_PROXY_EVENT_STRUCT_SIZE 160
3964d80109cSAndrew Rybchenko 
3974d80109cSAndrew Rybchenko 
3984d80109cSAndrew Rybchenko /* ES_XIL_CFGBAR_TBL_ENTRY */
3994d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_OFF_HI_LBN 96
4004d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_OFF_HI_WIDTH 32
4014d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_OFFSET_DW0_LBN 68
4024d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_OFFSET_DW0_WIDTH 32
4034d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_OFFSET_DW1_LBN 100
4044d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_OFFSET_DW1_WIDTH 28
4054d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_OFFSET_LBN 68
4064d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_OFFSET_WIDTH 60
4074d80109cSAndrew Rybchenko #define	ESE_GZ_CONT_CAP_OFFSET_BYTES_SHIFT 4
4084d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_EF100_FUNC_CTL_WIN_OFF_LBN 67
4094d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_EF100_FUNC_CTL_WIN_OFF_WIDTH 29
4104d80109cSAndrew Rybchenko #define	ESE_GZ_EF100_FUNC_CTL_WIN_OFF_SHIFT 4
4114d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_OFF_LO_LBN 68
4124d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_OFF_LO_WIDTH 28
4134d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_RSV_LBN 67
4144d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_RSV_WIDTH 1
4154d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_EF100_BAR_LBN 64
4164d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_EF100_BAR_WIDTH 3
4174d80109cSAndrew Rybchenko #define	ESE_GZ_CFGBAR_EF100_BAR_NUM_INVALID 7
4184d80109cSAndrew Rybchenko #define	ESE_GZ_CFGBAR_EF100_BAR_NUM_EXPANSION_ROM 6
4194d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_BAR_LBN 64
4204d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_CONT_CAP_BAR_WIDTH 3
4214d80109cSAndrew Rybchenko #define	ESE_GZ_CFGBAR_CONT_CAP_BAR_NUM_INVALID 7
4224d80109cSAndrew Rybchenko #define	ESE_GZ_CFGBAR_CONT_CAP_BAR_NUM_EXPANSION_ROM 6
4234d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_ENTRY_SIZE_LBN 32
4244d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_ENTRY_SIZE_WIDTH 32
4254d80109cSAndrew Rybchenko #define	ESE_GZ_CFGBAR_ENTRY_SIZE_EF100 12
4264d80109cSAndrew Rybchenko #define	ESE_GZ_CFGBAR_ENTRY_HEADER_SIZE 8
4274d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_ENTRY_LAST_LBN 28
4284d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_ENTRY_LAST_WIDTH 1
4294d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_ENTRY_REV_LBN 20
4304d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_ENTRY_REV_WIDTH 8
4314d80109cSAndrew Rybchenko #define	ESE_GZ_CFGBAR_ENTRY_REV_EF100 0
4324d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_ENTRY_FORMAT_LBN 0
4334d80109cSAndrew Rybchenko #define	ESF_GZ_CFGBAR_ENTRY_FORMAT_WIDTH 20
4344d80109cSAndrew Rybchenko #define	ESE_GZ_CFGBAR_ENTRY_LAST 0xfffff
4354d80109cSAndrew Rybchenko #define	ESE_GZ_CFGBAR_ENTRY_CONT_CAP_ADDR 0xffffe
4364d80109cSAndrew Rybchenko #define	ESE_GZ_CFGBAR_ENTRY_EF100 0xef100
4374d80109cSAndrew Rybchenko #define	ESE_GZ_XIL_CFGBAR_TBL_ENTRY_STRUCT_SIZE 128
4384d80109cSAndrew Rybchenko 
4394d80109cSAndrew Rybchenko 
4404d80109cSAndrew Rybchenko /* ES_XIL_CFGBAR_VSEC */
4414d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_TBL_OFF_HI_LBN 64
4424d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_TBL_OFF_HI_WIDTH 32
4434d80109cSAndrew Rybchenko #define	ESE_GZ_VSEC_TBL_OFF_HI_BYTES_SHIFT 32
4444d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_TBL_OFF_LO_LBN 36
4454d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_TBL_OFF_LO_WIDTH 28
4464d80109cSAndrew Rybchenko #define	ESE_GZ_VSEC_TBL_OFF_LO_BYTES_SHIFT 4
4474d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_TBL_BAR_LBN 32
4484d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_TBL_BAR_WIDTH 4
4494d80109cSAndrew Rybchenko #define	ESE_GZ_VSEC_BAR_NUM_INVALID 7
4504d80109cSAndrew Rybchenko #define	ESE_GZ_VSEC_BAR_NUM_EXPANSION_ROM 6
4514d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_LEN_LBN 20
4524d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_LEN_WIDTH 12
4534d80109cSAndrew Rybchenko #define	ESE_GZ_VSEC_LEN_HIGH_OFFT 16
4544d80109cSAndrew Rybchenko #define	ESE_GZ_VSEC_LEN_MIN 12
4554d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_VER_LBN 16
4564d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_VER_WIDTH 4
4574d80109cSAndrew Rybchenko #define	ESE_GZ_VSEC_VER_XIL_CFGBAR 0
4584d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_ID_LBN 0
4594d80109cSAndrew Rybchenko #define	ESF_GZ_VSEC_ID_WIDTH 16
4604d80109cSAndrew Rybchenko #define	ESE_GZ_XILINX_VSEC_ID 0x20
4614d80109cSAndrew Rybchenko #define	ESE_GZ_XIL_CFGBAR_VSEC_STRUCT_SIZE 96
4624d80109cSAndrew Rybchenko 
4634d80109cSAndrew Rybchenko 
464*c4f4a0e6SAndrew Rybchenko /* ES_addr_spc */
465*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_FORMAT_1_FUNCTION_LBN 28
466*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_FORMAT_1_FUNCTION_WIDTH 8
467*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_FORMAT_2_FUNCTION_LBN 24
468*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_FORMAT_2_FUNCTION_WIDTH 12
469*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_FORMAT_1_PROFILE_ID_LBN 24
470*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_FORMAT_1_PROFILE_ID_WIDTH 4
471*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_PASID_LBN 2
472*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_PASID_WIDTH 22
473*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_FORMAT_LBN 0
474*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_FORMAT_WIDTH 2
475*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_ADDR_SPC_FORMAT_1 3
476*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_FORMAT_2_PROFILE_ID_IDX_LBN 0
477*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_ADDR_SPC_FORMAT_2_PROFILE_ID_IDX_WIDTH 2
478*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_ADDR_SPC_STRUCT_SIZE 36
479*c4f4a0e6SAndrew Rybchenko 
480*c4f4a0e6SAndrew Rybchenko 
4814d80109cSAndrew Rybchenko /* ES_rh_egres_hclass */
4824d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L4_CSUM_LBN 15
4834d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L4_CSUM_WIDTH 1
4844d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L3_CLASS_LBN 13
4854d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_TUN_OUTER_L3_CLASS_WIDTH 2
4864d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CSUM_LBN 12
4874d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CSUM_WIDTH 1
4884d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CLASS_LBN 10
4894d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L4_CLASS_WIDTH 2
4904d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L3_CLASS_LBN 8
4914d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_NT_OR_INNER_L3_CLASS_WIDTH 2
4924d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_TUNNEL_CLASS_LBN 5
4934d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_TUNNEL_CLASS_WIDTH 3
4944d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_L2_N_VLAN_LBN 3
4954d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_L2_N_VLAN_WIDTH 2
4964d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_L2_CLASS_LBN 2
4974d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_L2_CLASS_WIDTH 1
4984d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_L2_STATUS_LBN 0
4994d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_HCLASS_L2_STATUS_WIDTH 2
5004d80109cSAndrew Rybchenko #define	ESE_GZ_RH_EGRES_HCLASS_STRUCT_SIZE 16
5014d80109cSAndrew Rybchenko 
5024d80109cSAndrew Rybchenko 
5034d80109cSAndrew Rybchenko /* ES_sf_driver */
5044d80109cSAndrew Rybchenko #define	ESF_GZ_DRIVER_E_TYPE_LBN 60
5054d80109cSAndrew Rybchenko #define	ESF_GZ_DRIVER_E_TYPE_WIDTH 4
5064d80109cSAndrew Rybchenko #define	ESF_GZ_DRIVER_PHASE_LBN 59
5074d80109cSAndrew Rybchenko #define	ESF_GZ_DRIVER_PHASE_WIDTH 1
5084d80109cSAndrew Rybchenko #define	ESF_GZ_DRIVER_DATA_DW0_LBN 0
5094d80109cSAndrew Rybchenko #define	ESF_GZ_DRIVER_DATA_DW0_WIDTH 32
5104d80109cSAndrew Rybchenko #define	ESF_GZ_DRIVER_DATA_DW1_LBN 32
5114d80109cSAndrew Rybchenko #define	ESF_GZ_DRIVER_DATA_DW1_WIDTH 27
5124d80109cSAndrew Rybchenko #define	ESF_GZ_DRIVER_DATA_LBN 0
5134d80109cSAndrew Rybchenko #define	ESF_GZ_DRIVER_DATA_WIDTH 59
5144d80109cSAndrew Rybchenko #define	ESE_GZ_SF_DRIVER_STRUCT_SIZE 64
5154d80109cSAndrew Rybchenko 
5164d80109cSAndrew Rybchenko 
5174d80109cSAndrew Rybchenko /* ES_sf_ev_rsvd */
5184d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_TBD_NEXT_LBN 34
5194d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_TBD_NEXT_WIDTH 3
5204d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_EVENT_GEN_FLAGS_LBN 30
5214d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_EVENT_GEN_FLAGS_WIDTH 4
5224d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_SRC_QID_LBN 18
5234d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_SRC_QID_WIDTH 12
5244d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_SEQ_NUM_LBN 2
5254d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_SEQ_NUM_WIDTH 16
5264d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_TBD_LBN 0
5274d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_TBD_WIDTH 2
5284d80109cSAndrew Rybchenko #define	ESE_GZ_SF_EV_RSVD_STRUCT_SIZE 37
5294d80109cSAndrew Rybchenko 
5304d80109cSAndrew Rybchenko 
5314d80109cSAndrew Rybchenko /* ES_sf_flush_evnt */
5324d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_E_TYPE_LBN 60
5334d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_E_TYPE_WIDTH 4
5344d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_PHASE_LBN 59
5354d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_PHASE_WIDTH 1
5364d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_SUB_TYPE_LBN 53
5374d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_SUB_TYPE_WIDTH 6
5384d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_RSVD_DW0_LBN 10
5394d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_RSVD_DW0_WIDTH 32
5404d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_RSVD_DW1_LBN 42
5414d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_RSVD_DW1_WIDTH 11
5424d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_RSVD_LBN 10
5434d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_RSVD_WIDTH 43
5444d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_LABEL_LBN 4
5454d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_LABEL_WIDTH 6
5464d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_FLUSH_TYPE_LBN 0
5474d80109cSAndrew Rybchenko #define	ESF_GZ_EV_FLSH_FLUSH_TYPE_WIDTH 4
5484d80109cSAndrew Rybchenko #define	ESE_GZ_SF_FLUSH_EVNT_STRUCT_SIZE 64
5494d80109cSAndrew Rybchenko 
5504d80109cSAndrew Rybchenko 
5514d80109cSAndrew Rybchenko /* ES_sf_rx_pkts */
5524d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_E_TYPE_LBN 60
5534d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_E_TYPE_WIDTH 4
5544d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_PHASE_LBN 59
5554d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_PHASE_WIDTH 1
5564d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_RSVD_DW0_LBN 22
5574d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_RSVD_DW0_WIDTH 32
5584d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_RSVD_DW1_LBN 54
5594d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_RSVD_DW1_WIDTH 5
5604d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_RSVD_LBN 22
5614d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_RSVD_WIDTH 37
5624d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_Q_LABEL_LBN 16
5634d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_Q_LABEL_WIDTH 6
5644d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_NUM_PKT_LBN 0
5654d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RXPKTS_NUM_PKT_WIDTH 16
5664d80109cSAndrew Rybchenko #define	ESE_GZ_SF_RX_PKTS_STRUCT_SIZE 64
5674d80109cSAndrew Rybchenko 
5684d80109cSAndrew Rybchenko 
5694d80109cSAndrew Rybchenko /* ES_sf_rx_prefix */
5704d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_VLAN_STRIP_TCI_LBN 160
5714d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_VLAN_STRIP_TCI_WIDTH 16
5724d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_CSUM_FRAME_LBN 144
5734d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_CSUM_FRAME_WIDTH 16
574*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_INGRESS_MPORT_LBN 128
575*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_INGRESS_MPORT_WIDTH 16
5764d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_USER_MARK_LBN 96
5774d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_USER_MARK_WIDTH 32
5784d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_RSS_HASH_LBN 64
5794d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_RSS_HASH_WIDTH 32
580*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_PARTIAL_TSTAMP_LBN 34
581*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_PARTIAL_TSTAMP_WIDTH 30
582*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_VSWITCH_STATUS_LBN 33
583*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_VSWITCH_STATUS_WIDTH 1
584*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_VLAN_STRIPPED_LBN 32
585*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_VLAN_STRIPPED_WIDTH 1
5864d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_CLASS_LBN 16
5874d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_CLASS_WIDTH 16
5884d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_USER_FLAG_LBN 15
5894d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_USER_FLAG_WIDTH 1
5904d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_RSS_HASH_VALID_LBN 14
5914d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_RSS_HASH_VALID_WIDTH 1
5924d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_LENGTH_LBN 0
5934d80109cSAndrew Rybchenko #define	ESF_GZ_RX_PREFIX_LENGTH_WIDTH 14
5944d80109cSAndrew Rybchenko #define	ESE_GZ_SF_RX_PREFIX_STRUCT_SIZE 176
5954d80109cSAndrew Rybchenko 
5964d80109cSAndrew Rybchenko 
5974d80109cSAndrew Rybchenko /* ES_sf_rxtx_generic */
5984d80109cSAndrew Rybchenko #define	ESF_GZ_EV_BARRIER_LBN 167
5994d80109cSAndrew Rybchenko #define	ESF_GZ_EV_BARRIER_WIDTH 1
6004d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_DW0_LBN 130
6014d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_DW0_WIDTH 32
6024d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_DW1_LBN 162
6034d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_DW1_WIDTH 5
6044d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_LBN 130
6054d80109cSAndrew Rybchenko #define	ESF_GZ_EV_RSVD_WIDTH 37
6064d80109cSAndrew Rybchenko #define	ESF_GZ_EV_DPRXY_LBN 129
6074d80109cSAndrew Rybchenko #define	ESF_GZ_EV_DPRXY_WIDTH 1
6084d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VIRTIO_LBN 128
6094d80109cSAndrew Rybchenko #define	ESF_GZ_EV_VIRTIO_WIDTH 1
6104d80109cSAndrew Rybchenko #define	ESF_GZ_EV_COUNT_DW0_LBN 0
6114d80109cSAndrew Rybchenko #define	ESF_GZ_EV_COUNT_DW0_WIDTH 32
6124d80109cSAndrew Rybchenko #define	ESF_GZ_EV_COUNT_DW1_LBN 32
6134d80109cSAndrew Rybchenko #define	ESF_GZ_EV_COUNT_DW1_WIDTH 32
6144d80109cSAndrew Rybchenko #define	ESF_GZ_EV_COUNT_DW2_LBN 64
6154d80109cSAndrew Rybchenko #define	ESF_GZ_EV_COUNT_DW2_WIDTH 32
6164d80109cSAndrew Rybchenko #define	ESF_GZ_EV_COUNT_DW3_LBN 96
6174d80109cSAndrew Rybchenko #define	ESF_GZ_EV_COUNT_DW3_WIDTH 32
6184d80109cSAndrew Rybchenko #define	ESF_GZ_EV_COUNT_LBN 0
6194d80109cSAndrew Rybchenko #define	ESF_GZ_EV_COUNT_WIDTH 128
6204d80109cSAndrew Rybchenko #define	ESE_GZ_SF_RXTX_GENERIC_STRUCT_SIZE 168
6214d80109cSAndrew Rybchenko 
6224d80109cSAndrew Rybchenko 
6234d80109cSAndrew Rybchenko /* ES_sf_ts_stamp */
6244d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_E_TYPE_LBN 60
6254d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_E_TYPE_WIDTH 4
6264d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_PHASE_LBN 59
6274d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_PHASE_WIDTH 1
6284d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_RSVD_LBN 56
6294d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_RSVD_WIDTH 3
6304d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_STATUS_LBN 54
6314d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_STATUS_WIDTH 2
6324d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_Q_LABEL_LBN 48
6334d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_Q_LABEL_WIDTH 6
6344d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_DESC_ID_LBN 32
6354d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_DESC_ID_WIDTH 16
6364d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_PARTIAL_STAMP_LBN 0
6374d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TS_PARTIAL_STAMP_WIDTH 32
6384d80109cSAndrew Rybchenko #define	ESE_GZ_SF_TS_STAMP_STRUCT_SIZE 64
6394d80109cSAndrew Rybchenko 
6404d80109cSAndrew Rybchenko 
6414d80109cSAndrew Rybchenko /* ES_sf_tx_cmplt */
6424d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_E_TYPE_LBN 60
6434d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_E_TYPE_WIDTH 4
6444d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_PHASE_LBN 59
6454d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_PHASE_WIDTH 1
6464d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_RSVD_DW0_LBN 22
6474d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_RSVD_DW0_WIDTH 32
6484d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_RSVD_DW1_LBN 54
6494d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_RSVD_DW1_WIDTH 5
6504d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_RSVD_LBN 22
6514d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_RSVD_WIDTH 37
6524d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_Q_LABEL_LBN 16
6534d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_Q_LABEL_WIDTH 6
6544d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_NUM_DESC_LBN 0
6554d80109cSAndrew Rybchenko #define	ESF_GZ_EV_TXCMPL_NUM_DESC_WIDTH 16
6564d80109cSAndrew Rybchenko #define	ESE_GZ_SF_TX_CMPLT_STRUCT_SIZE 64
6574d80109cSAndrew Rybchenko 
6584d80109cSAndrew Rybchenko 
6594d80109cSAndrew Rybchenko /* ES_sf_tx_desc2cmpt_dsc_fmt */
6604d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_TGT_VI_ID_LBN 108
6614d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_TGT_VI_ID_WIDTH 16
6624d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_CMPT2_LBN 107
6634d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_CMPT2_WIDTH 1
6644d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_ABS_VI_ID_LBN 106
6654d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_ABS_VI_ID_WIDTH 1
6664d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_ORDERED_LBN 105
6674d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_ORDERED_WIDTH 1
6684d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_SKIP_N_LBN 97
6694d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_SKIP_N_WIDTH 8
6704d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_RSVD_DW0_LBN 64
6714d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_RSVD_DW0_WIDTH 32
6724d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_RSVD_DW1_LBN 96
6734d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_RSVD_DW1_WIDTH 1
6744d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_RSVD_LBN 64
6754d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_RSVD_WIDTH 33
6764d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_COMPLETION_DW0_LBN 0
6774d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_COMPLETION_DW0_WIDTH 32
6784d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_COMPLETION_DW1_LBN 32
6794d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_COMPLETION_DW1_WIDTH 32
6804d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_COMPLETION_LBN 0
6814d80109cSAndrew Rybchenko #define	ESF_GZ_D2C_COMPLETION_WIDTH 64
6824d80109cSAndrew Rybchenko #define	ESE_GZ_SF_TX_DESC2CMPT_DSC_FMT_STRUCT_SIZE 124
6834d80109cSAndrew Rybchenko 
6844d80109cSAndrew Rybchenko 
6854d80109cSAndrew Rybchenko /* ES_sf_tx_mem2mem_dsc_fmt */
6864d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_SPC_EN_LBN 123
6874d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_SPC_EN_WIDTH 1
6884d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_TRANSLATE_ADDR_LBN 122
6894d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_TRANSLATE_ADDR_WIDTH 1
6904d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_RSVD_LBN 120
6914d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_RSVD_WIDTH 2
692*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_SPC_ID_DW0_LBN 84
693*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_SPC_ID_DW0_WIDTH 32
694*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_SPC_ID_DW1_LBN 116
695*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_SPC_ID_DW1_WIDTH 4
696*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_SPC_ID_LBN 84
697*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_SPC_ID_WIDTH 36
6984d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_LEN_MINUS_1_LBN 64
6994d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_LEN_MINUS_1_WIDTH 20
7004d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_DW0_LBN 0
7014d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_DW0_WIDTH 32
7024d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_DW1_LBN 32
7034d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_DW1_WIDTH 32
7044d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_LBN 0
7054d80109cSAndrew Rybchenko #define	ESF_GZ_M2M_ADDR_WIDTH 64
7064d80109cSAndrew Rybchenko #define	ESE_GZ_SF_TX_MEM2MEM_DSC_FMT_STRUCT_SIZE 124
7074d80109cSAndrew Rybchenko 
7084d80109cSAndrew Rybchenko 
7094d80109cSAndrew Rybchenko /* ES_sf_tx_ovr_dsc_fmt */
7104d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_MARK_EN_LBN 123
7114d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_MARK_EN_WIDTH 1
7124d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_INGRESS_MPORT_EN_LBN 122
7134d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_INGRESS_MPORT_EN_WIDTH 1
7144d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_INLINE_CAPSULE_META_LBN 121
7154d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_INLINE_CAPSULE_META_WIDTH 1
7164d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_EGRESS_MPORT_EN_LBN 120
7174d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_EGRESS_MPORT_EN_WIDTH 1
7184d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_RSRVD_DW0_LBN 64
7194d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_RSRVD_DW0_WIDTH 32
7204d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_RSRVD_DW1_LBN 96
7214d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_RSRVD_DW1_WIDTH 24
7224d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_RSRVD_LBN 64
7234d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_RSRVD_WIDTH 56
7244d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_EGRESS_MPORT_LBN 48
7254d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_EGRESS_MPORT_WIDTH 16
7264d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_INGRESS_MPORT_LBN 32
7274d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_INGRESS_MPORT_WIDTH 16
7284d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_MARK_LBN 0
7294d80109cSAndrew Rybchenko #define	ESF_GZ_TX_PREFIX_MARK_WIDTH 32
7304d80109cSAndrew Rybchenko #define	ESE_GZ_SF_TX_OVR_DSC_FMT_STRUCT_SIZE 124
7314d80109cSAndrew Rybchenko 
7324d80109cSAndrew Rybchenko 
7334d80109cSAndrew Rybchenko /* ES_sf_tx_seg_dsc_fmt */
7344d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_SPC_EN_LBN 123
7354d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_SPC_EN_WIDTH 1
7364d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_TRANSLATE_ADDR_LBN 122
7374d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_TRANSLATE_ADDR_WIDTH 1
7384d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_RSVD2_LBN 120
7394d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_RSVD2_WIDTH 2
740*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_SPC_ID_DW0_LBN 84
741*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_SPC_ID_DW0_WIDTH 32
742*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_SPC_ID_DW1_LBN 116
743*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_SPC_ID_DW1_WIDTH 4
744*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_SPC_ID_LBN 84
745*c4f4a0e6SAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_SPC_ID_WIDTH 36
7464d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_RSVD_LBN 80
7474d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_RSVD_WIDTH 4
7484d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_LEN_LBN 64
7494d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_LEN_WIDTH 16
7504d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_DW0_LBN 0
7514d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_DW0_WIDTH 32
7524d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_DW1_LBN 32
7534d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_DW1_WIDTH 32
7544d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_LBN 0
7554d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEG_ADDR_WIDTH 64
7564d80109cSAndrew Rybchenko #define	ESE_GZ_SF_TX_SEG_DSC_FMT_STRUCT_SIZE 124
7574d80109cSAndrew Rybchenko 
7584d80109cSAndrew Rybchenko 
7594d80109cSAndrew Rybchenko /* ES_sf_tx_std_dsc_fmt */
7604d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_VLAN_INSERT_TCI_LBN 108
7614d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_VLAN_INSERT_TCI_WIDTH 16
7624d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_VLAN_INSERT_EN_LBN 107
7634d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_VLAN_INSERT_EN_WIDTH 1
7644d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_TSTAMP_REQ_LBN 106
7654d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_TSTAMP_REQ_WIDTH 1
7664d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_OUTER_L4_LBN 105
7674d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_OUTER_L4_WIDTH 1
7684d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_OUTER_L3_LBN 104
7694d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_OUTER_L3_WIDTH 1
7704d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_INNER_L3_LBN 101
7714d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_INNER_L3_WIDTH 3
7724d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_RSVD_LBN 99
7734d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_RSVD_WIDTH 2
7744d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_PARTIAL_EN_LBN 97
7754d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_PARTIAL_EN_WIDTH 2
7764d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_PARTIAL_CSUM_W_LBN 92
7774d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_PARTIAL_CSUM_W_WIDTH 5
7784d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_PARTIAL_START_W_LBN 83
7794d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_CSO_PARTIAL_START_W_WIDTH 9
7804d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_NUM_SEGS_LBN 78
7814d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_NUM_SEGS_WIDTH 5
7824d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_LEN_LBN 64
7834d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_LEN_WIDTH 14
7844d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_ADDR_DW0_LBN 0
7854d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_ADDR_DW0_WIDTH 32
7864d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_ADDR_DW1_LBN 32
7874d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_ADDR_DW1_WIDTH 32
7884d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_ADDR_LBN 0
7894d80109cSAndrew Rybchenko #define	ESF_GZ_TX_SEND_ADDR_WIDTH 64
7904d80109cSAndrew Rybchenko #define	ESE_GZ_SF_TX_STD_DSC_FMT_STRUCT_SIZE 124
7914d80109cSAndrew Rybchenko 
7924d80109cSAndrew Rybchenko 
7934d80109cSAndrew Rybchenko /* ES_sf_tx_tso_dsc_fmt */
7944d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_VLAN_INSERT_TCI_LBN 108
7954d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_VLAN_INSERT_TCI_WIDTH 16
7964d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_VLAN_INSERT_EN_LBN 107
7974d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_VLAN_INSERT_EN_WIDTH 1
7984d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_TSTAMP_REQ_LBN 106
7994d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_TSTAMP_REQ_WIDTH 1
8004d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_CSO_OUTER_L4_LBN 105
8014d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_CSO_OUTER_L4_WIDTH 1
8024d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_CSO_OUTER_L3_LBN 104
8034d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_CSO_OUTER_L3_WIDTH 1
8044d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_CSO_INNER_L3_LBN 101
8054d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_CSO_INNER_L3_WIDTH 3
8064d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_RSVD_LBN 94
8074d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_RSVD_WIDTH 7
8084d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_CSO_INNER_L4_LBN 93
8094d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_CSO_INNER_L4_WIDTH 1
8104d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_INNER_L4_OFF_W_LBN 85
8114d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_INNER_L4_OFF_W_WIDTH 8
8124d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_INNER_L3_OFF_W_LBN 77
8134d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_INNER_L3_OFF_W_WIDTH 8
8144d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_OUTER_L4_OFF_W_LBN 69
8154d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_OUTER_L4_OFF_W_WIDTH 8
8164d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_OUTER_L3_OFF_W_LBN 64
8174d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_OUTER_L3_OFF_W_WIDTH 5
8184d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_PAYLOAD_LEN_LBN 42
8194d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_PAYLOAD_LEN_WIDTH 22
8204d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_HDR_LEN_W_LBN 34
8214d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_HDR_LEN_W_WIDTH 8
8224d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_ED_OUTER_UDP_LEN_LBN 33
8234d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_ED_OUTER_UDP_LEN_WIDTH 1
8244d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_ED_INNER_IP_LEN_LBN 32
8254d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_ED_INNER_IP_LEN_WIDTH 1
8264d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_ED_OUTER_IP_LEN_LBN 31
8274d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_ED_OUTER_IP_LEN_WIDTH 1
8284d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_ED_INNER_IP4_ID_LBN 29
8294d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_ED_INNER_IP4_ID_WIDTH 2
8304d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_ED_OUTER_IP4_ID_LBN 27
8314d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_ED_OUTER_IP4_ID_WIDTH 2
8324d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_PAYLOAD_NUM_SEGS_LBN 17
8334d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_PAYLOAD_NUM_SEGS_WIDTH 10
8344d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_HDR_NUM_SEGS_LBN 14
8354d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_HDR_NUM_SEGS_WIDTH 3
8364d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_MSS_LBN 0
8374d80109cSAndrew Rybchenko #define	ESF_GZ_TX_TSO_MSS_WIDTH 14
8384d80109cSAndrew Rybchenko #define	ESE_GZ_SF_TX_TSO_DSC_FMT_STRUCT_SIZE 124
8394d80109cSAndrew Rybchenko 
8404d80109cSAndrew Rybchenko 
8414d80109cSAndrew Rybchenko 
842*c4f4a0e6SAndrew Rybchenko /* Enum D2VIO_MSG_OP */
843*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_QUE_JBDNE 3
844*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_QUE_EVICT 2
845*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_QUE_EMPTY 1
846*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_NOP 0
847*c4f4a0e6SAndrew Rybchenko 
8484d80109cSAndrew Rybchenko /* Enum DESIGN_PARAMS */
8494d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_RX_MAX_RUNT 17
8504d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_VI_STRIDES 16
8514d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_NMMU_PAGE_SIZES 15
8524d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_EVQ_TIMER_TICK_NANOS 14
8534d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_MEM2MEM_MAX_LEN 13
8544d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_COMPAT 12
8554d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TSO_MAX_NUM_FRAMES 11
8564d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_NUM_SEGS 10
8574d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_LEN 9
8584d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TXQ_SIZE_GRANULARITY 8
8594d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_RXQ_SIZE_GRANULARITY 7
8604d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TSO_MAX_HDR_NUM_SEGS 6
8614d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TSO_MAX_HDR_LEN 5
8624d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_RX_L4_CSUM_PROTOCOLS 4
8634d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_NMMU_GROUP_SIZE 3
8644d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_EVQ_UNSOL_CREDIT_SEQ_BITS 2
8654d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_PARTIAL_TSTAMP_SUB_NANO_BITS 1
8664d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_PAD 0
8674d80109cSAndrew Rybchenko 
8684d80109cSAndrew Rybchenko /* Enum DESIGN_PARAM_DEFAULTS */
8694d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_LEN_DEFAULT 0x3fffff
8704d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TSO_MAX_NUM_FRAMES_DEFAULT 8192
8714d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_MEM2MEM_MAX_LEN_DEFAULT 8192
8724d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_RX_L4_CSUM_PROTOCOLS_DEFAULT 0x1106
8734d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TSO_MAX_PAYLOAD_NUM_SEGS_DEFAULT 0x3ff
8744d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_RX_MAX_RUNT_DEFAULT 640
8754d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_EVQ_TIMER_TICK_NANOS_DEFAULT 512
8764d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_NMMU_PAGE_SIZES_DEFAULT 512
8774d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TSO_MAX_HDR_LEN_DEFAULT 192
8784d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_RXQ_SIZE_GRANULARITY_DEFAULT 64
8794d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TXQ_SIZE_GRANULARITY_DEFAULT 64
8804d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_NMMU_GROUP_SIZE_DEFAULT 32
8814d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_VI_STRIDES_DEFAULT 16
8824d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_EVQ_UNSOL_CREDIT_SEQ_BITS_DEFAULT 7
8834d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_TSO_MAX_HDR_NUM_SEGS_DEFAULT 4
8844d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_PARTIAL_TSTAMP_SUB_NANO_BITS_DEFAULT 2
8854d80109cSAndrew Rybchenko #define	ESE_EF100_DP_GZ_COMPAT_DEFAULT 0
8864d80109cSAndrew Rybchenko 
8874d80109cSAndrew Rybchenko /* Enum HOST_IF_CONSTANTS */
8884d80109cSAndrew Rybchenko #define	ESE_GZ_FCW_LEN 0x4C
8894d80109cSAndrew Rybchenko #define	ESE_GZ_RX_PKT_PREFIX_LEN 22
8904d80109cSAndrew Rybchenko 
8914d80109cSAndrew Rybchenko /* Enum PCI_CONSTANTS */
8924d80109cSAndrew Rybchenko #define	ESE_GZ_PCI_BASE_CONFIG_SPACE_SIZE 256
8934d80109cSAndrew Rybchenko #define	ESE_GZ_PCI_EXPRESS_XCAP_HDR_SIZE 4
8944d80109cSAndrew Rybchenko 
895*c4f4a0e6SAndrew Rybchenko /* Enum RH_DSC_TYPE */
896*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_TOMB 0xF
897*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_VIO 0xE
898*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_TSO_OVRRD 0x8
899*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_D2CMP 0x7
900*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_DATA 0x6
901*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_D2M 0x5
902*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_M2M 0x4
903*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_SEG 0x3
904*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_TSO 0x2
905*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_OVRRD 0x1
906*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TX_SEND 0x0
907*c4f4a0e6SAndrew Rybchenko 
9084d80109cSAndrew Rybchenko /* Enum RH_HCLASS_L2_CLASS */
9094d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L2_CLASS_E2_0123VLAN 1
9104d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L2_CLASS_OTHER 0
9114d80109cSAndrew Rybchenko 
9124d80109cSAndrew Rybchenko /* Enum RH_HCLASS_L2_STATUS */
9134d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L2_STATUS_RESERVED 3
9144d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L2_STATUS_FCS_ERR 2
9154d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L2_STATUS_LEN_ERR 1
9164d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L2_STATUS_OK 0
9174d80109cSAndrew Rybchenko 
9184d80109cSAndrew Rybchenko /* Enum RH_HCLASS_L3_CLASS */
9194d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L3_CLASS_OTHER 3
9204d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L3_CLASS_IP6 2
9214d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L3_CLASS_IP4BAD 1
9224d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L3_CLASS_IP4GOOD 0
9234d80109cSAndrew Rybchenko 
9244d80109cSAndrew Rybchenko /* Enum RH_HCLASS_L4_CLASS */
9254d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L4_CLASS_OTHER 3
9264d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L4_CLASS_FRAG 2
9274d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L4_CLASS_UDP 1
9284d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L4_CLASS_TCP 0
9294d80109cSAndrew Rybchenko 
9304d80109cSAndrew Rybchenko /* Enum RH_HCLASS_L4_CSUM */
9314d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L4_CSUM_GOOD 1
9324d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_L4_CSUM_BAD_OR_UNKNOWN 0
9334d80109cSAndrew Rybchenko 
9344d80109cSAndrew Rybchenko /* Enum RH_HCLASS_TUNNEL_CLASS */
9354d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_7 7
9364d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_6 6
9374d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_5 5
9384d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_TUNNEL_CLASS_RESERVED_4 4
9394d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_TUNNEL_CLASS_GENEVE 3
9404d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_TUNNEL_CLASS_NVGRE 2
9414d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_TUNNEL_CLASS_VXLAN 1
9424d80109cSAndrew Rybchenko #define	ESE_GZ_RH_HCLASS_TUNNEL_CLASS_NONE 0
9434d80109cSAndrew Rybchenko 
944*c4f4a0e6SAndrew Rybchenko /* Enum SF_CTL_EVENT_SUBTYPE */
945*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_CTL_EV_EVQ_TIMEOUT 0x3
946*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_CTL_EV_FLUSH 0x2
947*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_CTL_EV_TIME_SYNC 0x1
948*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_CTL_EV_UNSOL_OVERFLOW 0x0
949*c4f4a0e6SAndrew Rybchenko 
950*c4f4a0e6SAndrew Rybchenko /* Enum SF_EVENT_TYPE */
951*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_EV_DRIVER 0x5
952*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_EV_MCDI 0x4
953*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_EV_CONTROL 0x3
954*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_EV_TX_TIMESTAMP 0x2
955*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_EV_TX_COMPLETION 0x1
956*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_EV_RX_PKTS 0x0
957*c4f4a0e6SAndrew Rybchenko 
958*c4f4a0e6SAndrew Rybchenko /* Enum SF_EW_EVENT_TYPE */
959*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_EWEV_VIRTQ_DESC 0x2
960*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_EWEV_TXQ_DESC 0x1
961*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_EF100_EWEV_64BIT 0x0
962*c4f4a0e6SAndrew Rybchenko 
9634d80109cSAndrew Rybchenko /* Enum TX_DESC_CSO_PARTIAL_EN */
9644d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_CSO_PARTIAL_EN_TCP 2
9654d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_CSO_PARTIAL_EN_UDP 1
9664d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_CSO_PARTIAL_EN_OFF 0
9674d80109cSAndrew Rybchenko 
9684d80109cSAndrew Rybchenko /* Enum TX_DESC_CS_INNER_L3 */
9694d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_CS_INNER_L3_GENEVE 3
9704d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_CS_INNER_L3_NVGRE 2
9714d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_CS_INNER_L3_VXLAN 1
9724d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_CS_INNER_L3_OFF 0
9734d80109cSAndrew Rybchenko 
9744d80109cSAndrew Rybchenko /* Enum TX_DESC_IP4_ID */
9754d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_IP4_ID_INC_MOD16 2
9764d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_IP4_ID_INC_MOD15 1
9774d80109cSAndrew Rybchenko #define	ESE_GZ_TX_DESC_IP4_ID_NO_OP 0
978*c4f4a0e6SAndrew Rybchenko 
979*c4f4a0e6SAndrew Rybchenko /* Enum VIRTIO_NET_HDR_F */
980*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_NEEDS_CSUM 0x1
981*c4f4a0e6SAndrew Rybchenko 
982*c4f4a0e6SAndrew Rybchenko /* Enum VIRTIO_NET_HDR_GSO */
983*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TCPV6 0x4
984*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_UDP 0x3
985*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_TCPV4 0x1
986*c4f4a0e6SAndrew Rybchenko #define	ESE_GZ_NONE 0x0
9874d80109cSAndrew Rybchenko /*************************************************************************
9884d80109cSAndrew Rybchenko  * NOTE: the comment line above marks the end of the autogenerated section
9894d80109cSAndrew Rybchenko  */
9904d80109cSAndrew Rybchenko 
9914d80109cSAndrew Rybchenko 
9924d80109cSAndrew Rybchenko #ifdef	__cplusplus
9934d80109cSAndrew Rybchenko }
9944d80109cSAndrew Rybchenko #endif
9954d80109cSAndrew Rybchenko 
9964d80109cSAndrew Rybchenko #endif /* _SYS_EFX_EF100_REGS_H */
997