xref: /dpdk/drivers/common/sfc_efx/base/efx_regs_ef10.h (revision 672386c1e9e1f64f7aa3b1360ad22dc737ea8d72)
15e111ed8SAndrew Rybchenko /* SPDX-License-Identifier: BSD-3-Clause
25e111ed8SAndrew Rybchenko  *
3*672386c1SAndrew Rybchenko  * Copyright(c) 2019-2021 Xilinx, Inc.
45e111ed8SAndrew Rybchenko  * Copyright(c) 2007-2019 Solarflare Communications Inc.
55e111ed8SAndrew Rybchenko  */
65e111ed8SAndrew Rybchenko 
75e111ed8SAndrew Rybchenko #ifndef	_SYS_EFX_EF10_REGS_H
85e111ed8SAndrew Rybchenko #define	_SYS_EFX_EF10_REGS_H
95e111ed8SAndrew Rybchenko 
105e111ed8SAndrew Rybchenko #ifdef	__cplusplus
115e111ed8SAndrew Rybchenko extern "C" {
125e111ed8SAndrew Rybchenko #endif
135e111ed8SAndrew Rybchenko 
145e111ed8SAndrew Rybchenko /**************************************************************************
155e111ed8SAndrew Rybchenko  * NOTE: the line below marks the start of the autogenerated section
165e111ed8SAndrew Rybchenko  * EF10 registers and descriptors
175e111ed8SAndrew Rybchenko  *
185e111ed8SAndrew Rybchenko  **************************************************************************
195e111ed8SAndrew Rybchenko  */
205e111ed8SAndrew Rybchenko 
215e111ed8SAndrew Rybchenko /*
225e111ed8SAndrew Rybchenko  * BIU_HW_REV_ID_REG(32bit):
235e111ed8SAndrew Rybchenko  *
245e111ed8SAndrew Rybchenko  */
255e111ed8SAndrew Rybchenko 
265e111ed8SAndrew Rybchenko #define	ER_DZ_BIU_HW_REV_ID_REG_OFST 0x00000000
275e111ed8SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */
285e111ed8SAndrew Rybchenko #define	ER_DZ_BIU_HW_REV_ID_REG_RESET 0xeb14face
295e111ed8SAndrew Rybchenko 
305e111ed8SAndrew Rybchenko 
315e111ed8SAndrew Rybchenko #define	ERF_DZ_HW_REV_ID_LBN 0
325e111ed8SAndrew Rybchenko #define	ERF_DZ_HW_REV_ID_WIDTH 32
335e111ed8SAndrew Rybchenko 
345e111ed8SAndrew Rybchenko 
355e111ed8SAndrew Rybchenko /*
365e111ed8SAndrew Rybchenko  * BIU_MC_SFT_STATUS_REG(32bit):
375e111ed8SAndrew Rybchenko  *
385e111ed8SAndrew Rybchenko  */
395e111ed8SAndrew Rybchenko 
405e111ed8SAndrew Rybchenko #define	ER_DZ_BIU_MC_SFT_STATUS_REG_OFST 0x00000010
415e111ed8SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */
425e111ed8SAndrew Rybchenko #define	ER_DZ_BIU_MC_SFT_STATUS_REG_STEP 4
435e111ed8SAndrew Rybchenko #define	ER_DZ_BIU_MC_SFT_STATUS_REG_ROWS 8
445e111ed8SAndrew Rybchenko #define	ER_DZ_BIU_MC_SFT_STATUS_REG_RESET 0x1111face
455e111ed8SAndrew Rybchenko 
465e111ed8SAndrew Rybchenko 
475e111ed8SAndrew Rybchenko #define	ERF_DZ_MC_SFT_STATUS_LBN 0
485e111ed8SAndrew Rybchenko #define	ERF_DZ_MC_SFT_STATUS_WIDTH 32
495e111ed8SAndrew Rybchenko 
505e111ed8SAndrew Rybchenko 
515e111ed8SAndrew Rybchenko /*
525e111ed8SAndrew Rybchenko  * BIU_INT_ISR_REG(32bit):
535e111ed8SAndrew Rybchenko  *
545e111ed8SAndrew Rybchenko  */
555e111ed8SAndrew Rybchenko 
565e111ed8SAndrew Rybchenko #define	ER_DZ_BIU_INT_ISR_REG_OFST 0x00000090
575e111ed8SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */
585e111ed8SAndrew Rybchenko #define	ER_DZ_BIU_INT_ISR_REG_RESET 0x0
595e111ed8SAndrew Rybchenko 
605e111ed8SAndrew Rybchenko 
615e111ed8SAndrew Rybchenko #define	ERF_DZ_ISR_REG_LBN 0
625e111ed8SAndrew Rybchenko #define	ERF_DZ_ISR_REG_WIDTH 32
635e111ed8SAndrew Rybchenko 
645e111ed8SAndrew Rybchenko 
655e111ed8SAndrew Rybchenko /*
665e111ed8SAndrew Rybchenko  * MC_DB_LWRD_REG(32bit):
675e111ed8SAndrew Rybchenko  *
685e111ed8SAndrew Rybchenko  */
695e111ed8SAndrew Rybchenko 
705e111ed8SAndrew Rybchenko #define	ER_DZ_MC_DB_LWRD_REG_OFST 0x00000200
715e111ed8SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */
725e111ed8SAndrew Rybchenko #define	ER_DZ_MC_DB_LWRD_REG_RESET 0x0
735e111ed8SAndrew Rybchenko 
745e111ed8SAndrew Rybchenko 
755e111ed8SAndrew Rybchenko #define	ERF_DZ_MC_DOORBELL_L_LBN 0
765e111ed8SAndrew Rybchenko #define	ERF_DZ_MC_DOORBELL_L_WIDTH 32
775e111ed8SAndrew Rybchenko 
785e111ed8SAndrew Rybchenko 
795e111ed8SAndrew Rybchenko /*
805e111ed8SAndrew Rybchenko  * MC_DB_HWRD_REG(32bit):
815e111ed8SAndrew Rybchenko  *
825e111ed8SAndrew Rybchenko  */
835e111ed8SAndrew Rybchenko 
845e111ed8SAndrew Rybchenko #define	ER_DZ_MC_DB_HWRD_REG_OFST 0x00000204
855e111ed8SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */
865e111ed8SAndrew Rybchenko #define	ER_DZ_MC_DB_HWRD_REG_RESET 0x0
875e111ed8SAndrew Rybchenko 
885e111ed8SAndrew Rybchenko 
895e111ed8SAndrew Rybchenko #define	ERF_DZ_MC_DOORBELL_H_LBN 0
905e111ed8SAndrew Rybchenko #define	ERF_DZ_MC_DOORBELL_H_WIDTH 32
915e111ed8SAndrew Rybchenko 
925e111ed8SAndrew Rybchenko 
935e111ed8SAndrew Rybchenko /*
945e111ed8SAndrew Rybchenko  * EVQ_RPTR_REG(32bit):
955e111ed8SAndrew Rybchenko  *
965e111ed8SAndrew Rybchenko  */
975e111ed8SAndrew Rybchenko 
985e111ed8SAndrew Rybchenko #define	ER_DZ_EVQ_RPTR_REG_OFST 0x00000400
995e111ed8SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */
1005e111ed8SAndrew Rybchenko #define	ER_DZ_EVQ_RPTR_REG_STEP 8192
1015e111ed8SAndrew Rybchenko #define	ER_DZ_EVQ_RPTR_REG_ROWS 2048
1025e111ed8SAndrew Rybchenko #define	ER_DZ_EVQ_RPTR_REG_RESET 0x0
1035e111ed8SAndrew Rybchenko 
1045e111ed8SAndrew Rybchenko 
1055e111ed8SAndrew Rybchenko #define	ERF_DZ_EVQ_RPTR_VLD_LBN 15
1065e111ed8SAndrew Rybchenko #define	ERF_DZ_EVQ_RPTR_VLD_WIDTH 1
1075e111ed8SAndrew Rybchenko #define	ERF_DZ_EVQ_RPTR_LBN 0
1085e111ed8SAndrew Rybchenko #define	ERF_DZ_EVQ_RPTR_WIDTH 15
1095e111ed8SAndrew Rybchenko 
1105e111ed8SAndrew Rybchenko 
1115e111ed8SAndrew Rybchenko /*
1125e111ed8SAndrew Rybchenko  * EVQ_RPTR_REG_64K(32bit):
1135e111ed8SAndrew Rybchenko  *
1145e111ed8SAndrew Rybchenko  */
1155e111ed8SAndrew Rybchenko 
1165e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_RPTR_REG_64K_OFST 0x00000400
1175e111ed8SAndrew Rybchenko /* medford2a0=pf_dbell_bar */
1185e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_RPTR_REG_64K_STEP 65536
1195e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_RPTR_REG_64K_ROWS 2048
1205e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_RPTR_REG_64K_RESET 0x0
1215e111ed8SAndrew Rybchenko 
1225e111ed8SAndrew Rybchenko 
1235e111ed8SAndrew Rybchenko #define	ERF_FZ_EVQ_RPTR_VLD_LBN 15
1245e111ed8SAndrew Rybchenko #define	ERF_FZ_EVQ_RPTR_VLD_WIDTH 1
1255e111ed8SAndrew Rybchenko #define	ERF_FZ_EVQ_RPTR_LBN 0
1265e111ed8SAndrew Rybchenko #define	ERF_FZ_EVQ_RPTR_WIDTH 15
1275e111ed8SAndrew Rybchenko 
1285e111ed8SAndrew Rybchenko 
1295e111ed8SAndrew Rybchenko /*
1305e111ed8SAndrew Rybchenko  * EVQ_RPTR_REG_16K(32bit):
1315e111ed8SAndrew Rybchenko  *
1325e111ed8SAndrew Rybchenko  */
1335e111ed8SAndrew Rybchenko 
1345e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_RPTR_REG_16K_OFST 0x00000400
1355e111ed8SAndrew Rybchenko /* medford2a0=pf_dbell_bar */
1365e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_RPTR_REG_16K_STEP 16384
1375e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_RPTR_REG_16K_ROWS 2048
1385e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_RPTR_REG_16K_RESET 0x0
1395e111ed8SAndrew Rybchenko 
1405e111ed8SAndrew Rybchenko 
1415e111ed8SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_VLD_LBN 15; */
1425e111ed8SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_VLD_WIDTH 1 */
1435e111ed8SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_LBN 0; */
1445e111ed8SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_WIDTH 15 */
1455e111ed8SAndrew Rybchenko 
1465e111ed8SAndrew Rybchenko 
1475e111ed8SAndrew Rybchenko /*
1485e111ed8SAndrew Rybchenko  * EVQ_TMR_REG_64K(32bit):
1495e111ed8SAndrew Rybchenko  *
1505e111ed8SAndrew Rybchenko  */
1515e111ed8SAndrew Rybchenko 
1525e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_TMR_REG_64K_OFST 0x00000420
1535e111ed8SAndrew Rybchenko /* medford2a0=pf_dbell_bar */
1545e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_TMR_REG_64K_STEP 65536
1555e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_TMR_REG_64K_ROWS 2048
1565e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_TMR_REG_64K_RESET 0x0
1575e111ed8SAndrew Rybchenko 
1585e111ed8SAndrew Rybchenko 
1595e111ed8SAndrew Rybchenko #define	ERF_FZ_TC_TMR_REL_VAL_LBN 16
1605e111ed8SAndrew Rybchenko #define	ERF_FZ_TC_TMR_REL_VAL_WIDTH 14
1615e111ed8SAndrew Rybchenko #define	ERF_FZ_TC_TIMER_MODE_LBN 14
1625e111ed8SAndrew Rybchenko #define	ERF_FZ_TC_TIMER_MODE_WIDTH 2
1635e111ed8SAndrew Rybchenko #define	ERF_FZ_TC_TIMER_VAL_LBN 0
1645e111ed8SAndrew Rybchenko #define	ERF_FZ_TC_TIMER_VAL_WIDTH 14
1655e111ed8SAndrew Rybchenko 
1665e111ed8SAndrew Rybchenko 
1675e111ed8SAndrew Rybchenko /*
1685e111ed8SAndrew Rybchenko  * EVQ_TMR_REG_16K(32bit):
1695e111ed8SAndrew Rybchenko  *
1705e111ed8SAndrew Rybchenko  */
1715e111ed8SAndrew Rybchenko 
1725e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_TMR_REG_16K_OFST 0x00000420
1735e111ed8SAndrew Rybchenko /* medford2a0=pf_dbell_bar */
1745e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_TMR_REG_16K_STEP 16384
1755e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_TMR_REG_16K_ROWS 2048
1765e111ed8SAndrew Rybchenko #define	ER_FZ_EVQ_TMR_REG_16K_RESET 0x0
1775e111ed8SAndrew Rybchenko 
1785e111ed8SAndrew Rybchenko 
1795e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_LBN 16; */
1805e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_WIDTH 14 */
1815e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_MODE_LBN 14; */
1825e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_MODE_WIDTH 2 */
1835e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_VAL_LBN 0; */
1845e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_VAL_WIDTH 14 */
1855e111ed8SAndrew Rybchenko 
1865e111ed8SAndrew Rybchenko 
1875e111ed8SAndrew Rybchenko /*
1885e111ed8SAndrew Rybchenko  * EVQ_TMR_REG(32bit):
1895e111ed8SAndrew Rybchenko  *
1905e111ed8SAndrew Rybchenko  */
1915e111ed8SAndrew Rybchenko 
1925e111ed8SAndrew Rybchenko #define	ER_DZ_EVQ_TMR_REG_OFST 0x00000420
1935e111ed8SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */
1945e111ed8SAndrew Rybchenko #define	ER_DZ_EVQ_TMR_REG_STEP 8192
1955e111ed8SAndrew Rybchenko #define	ER_DZ_EVQ_TMR_REG_ROWS 2048
1965e111ed8SAndrew Rybchenko #define	ER_DZ_EVQ_TMR_REG_RESET 0x0
1975e111ed8SAndrew Rybchenko 
1985e111ed8SAndrew Rybchenko 
1995e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_LBN 16; */
2005e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_WIDTH 14 */
2015e111ed8SAndrew Rybchenko #define	ERF_DZ_TC_TIMER_MODE_LBN 14
2025e111ed8SAndrew Rybchenko #define	ERF_DZ_TC_TIMER_MODE_WIDTH 2
2035e111ed8SAndrew Rybchenko #define	ERF_DZ_TC_TIMER_VAL_LBN 0
2045e111ed8SAndrew Rybchenko #define	ERF_DZ_TC_TIMER_VAL_WIDTH 14
2055e111ed8SAndrew Rybchenko 
2065e111ed8SAndrew Rybchenko 
2075e111ed8SAndrew Rybchenko /*
2085e111ed8SAndrew Rybchenko  * RX_DESC_UPD_REG_16K(32bit):
2095e111ed8SAndrew Rybchenko  *
2105e111ed8SAndrew Rybchenko  */
2115e111ed8SAndrew Rybchenko 
2125e111ed8SAndrew Rybchenko #define	ER_FZ_RX_DESC_UPD_REG_16K_OFST 0x00000830
2135e111ed8SAndrew Rybchenko /* medford2a0=pf_dbell_bar */
2145e111ed8SAndrew Rybchenko #define	ER_FZ_RX_DESC_UPD_REG_16K_STEP 16384
2155e111ed8SAndrew Rybchenko #define	ER_FZ_RX_DESC_UPD_REG_16K_ROWS 2048
2165e111ed8SAndrew Rybchenko #define	ER_FZ_RX_DESC_UPD_REG_16K_RESET 0x0
2175e111ed8SAndrew Rybchenko 
2185e111ed8SAndrew Rybchenko 
2195e111ed8SAndrew Rybchenko #define	ERF_FZ_RX_DESC_WPTR_LBN 0
2205e111ed8SAndrew Rybchenko #define	ERF_FZ_RX_DESC_WPTR_WIDTH 12
2215e111ed8SAndrew Rybchenko 
2225e111ed8SAndrew Rybchenko 
2235e111ed8SAndrew Rybchenko /*
2245e111ed8SAndrew Rybchenko  * RX_DESC_UPD_REG(32bit):
2255e111ed8SAndrew Rybchenko  *
2265e111ed8SAndrew Rybchenko  */
2275e111ed8SAndrew Rybchenko 
2285e111ed8SAndrew Rybchenko #define	ER_DZ_RX_DESC_UPD_REG_OFST 0x00000830
2295e111ed8SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */
2305e111ed8SAndrew Rybchenko #define	ER_DZ_RX_DESC_UPD_REG_STEP 8192
2315e111ed8SAndrew Rybchenko #define	ER_DZ_RX_DESC_UPD_REG_ROWS 2048
2325e111ed8SAndrew Rybchenko #define	ER_DZ_RX_DESC_UPD_REG_RESET 0x0
2335e111ed8SAndrew Rybchenko 
2345e111ed8SAndrew Rybchenko 
2355e111ed8SAndrew Rybchenko #define	ERF_DZ_RX_DESC_WPTR_LBN 0
2365e111ed8SAndrew Rybchenko #define	ERF_DZ_RX_DESC_WPTR_WIDTH 12
2375e111ed8SAndrew Rybchenko 
2385e111ed8SAndrew Rybchenko 
2395e111ed8SAndrew Rybchenko /*
2405e111ed8SAndrew Rybchenko  * RX_DESC_UPD_REG_64K(32bit):
2415e111ed8SAndrew Rybchenko  *
2425e111ed8SAndrew Rybchenko  */
2435e111ed8SAndrew Rybchenko 
2445e111ed8SAndrew Rybchenko #define	ER_FZ_RX_DESC_UPD_REG_64K_OFST 0x00000830
2455e111ed8SAndrew Rybchenko /* medford2a0=pf_dbell_bar */
2465e111ed8SAndrew Rybchenko #define	ER_FZ_RX_DESC_UPD_REG_64K_STEP 65536
2475e111ed8SAndrew Rybchenko #define	ER_FZ_RX_DESC_UPD_REG_64K_ROWS 2048
2485e111ed8SAndrew Rybchenko #define	ER_FZ_RX_DESC_UPD_REG_64K_RESET 0x0
2495e111ed8SAndrew Rybchenko 
2505e111ed8SAndrew Rybchenko 
2515e111ed8SAndrew Rybchenko /* defined as ERF_FZ_RX_DESC_WPTR_LBN 0; */
2525e111ed8SAndrew Rybchenko /* defined as ERF_FZ_RX_DESC_WPTR_WIDTH 12 */
2535e111ed8SAndrew Rybchenko 
2545e111ed8SAndrew Rybchenko 
2555e111ed8SAndrew Rybchenko /*
2565e111ed8SAndrew Rybchenko  * TX_DESC_UPD_REG_64K(96bit):
2575e111ed8SAndrew Rybchenko  *
2585e111ed8SAndrew Rybchenko  */
2595e111ed8SAndrew Rybchenko 
2605e111ed8SAndrew Rybchenko #define	ER_FZ_TX_DESC_UPD_REG_64K_OFST 0x00000a10
2615e111ed8SAndrew Rybchenko /* medford2a0=pf_dbell_bar */
2625e111ed8SAndrew Rybchenko #define	ER_FZ_TX_DESC_UPD_REG_64K_STEP 65536
2635e111ed8SAndrew Rybchenko #define	ER_FZ_TX_DESC_UPD_REG_64K_ROWS 2048
2645e111ed8SAndrew Rybchenko #define	ER_FZ_TX_DESC_UPD_REG_64K_RESET 0x0
2655e111ed8SAndrew Rybchenko 
2665e111ed8SAndrew Rybchenko 
2675e111ed8SAndrew Rybchenko #define	ERF_FZ_RSVD_LBN 76
2685e111ed8SAndrew Rybchenko #define	ERF_FZ_RSVD_WIDTH 20
2695e111ed8SAndrew Rybchenko #define	ERF_FZ_TX_DESC_WPTR_LBN 64
2705e111ed8SAndrew Rybchenko #define	ERF_FZ_TX_DESC_WPTR_WIDTH 12
2715e111ed8SAndrew Rybchenko #define	ERF_FZ_TX_DESC_HWORD_LBN 32
2725e111ed8SAndrew Rybchenko #define	ERF_FZ_TX_DESC_HWORD_WIDTH 32
2735e111ed8SAndrew Rybchenko #define	ERF_FZ_TX_DESC_LWORD_LBN 0
2745e111ed8SAndrew Rybchenko #define	ERF_FZ_TX_DESC_LWORD_WIDTH 32
2755e111ed8SAndrew Rybchenko 
2765e111ed8SAndrew Rybchenko 
2775e111ed8SAndrew Rybchenko /*
2785e111ed8SAndrew Rybchenko  * TX_DESC_UPD_REG_16K(96bit):
2795e111ed8SAndrew Rybchenko  *
2805e111ed8SAndrew Rybchenko  */
2815e111ed8SAndrew Rybchenko 
2825e111ed8SAndrew Rybchenko #define	ER_FZ_TX_DESC_UPD_REG_16K_OFST 0x00000a10
2835e111ed8SAndrew Rybchenko /* medford2a0=pf_dbell_bar */
2845e111ed8SAndrew Rybchenko #define	ER_FZ_TX_DESC_UPD_REG_16K_STEP 16384
2855e111ed8SAndrew Rybchenko #define	ER_FZ_TX_DESC_UPD_REG_16K_ROWS 2048
2865e111ed8SAndrew Rybchenko #define	ER_FZ_TX_DESC_UPD_REG_16K_RESET 0x0
2875e111ed8SAndrew Rybchenko 
2885e111ed8SAndrew Rybchenko 
2895e111ed8SAndrew Rybchenko /* defined as ERF_FZ_RSVD_LBN 76; */
2905e111ed8SAndrew Rybchenko /* defined as ERF_FZ_RSVD_WIDTH 20 */
2915e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_WPTR_LBN 64; */
2925e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_WPTR_WIDTH 12 */
2935e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_HWORD_LBN 32; */
2945e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_HWORD_WIDTH 32 */
2955e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_LWORD_LBN 0; */
2965e111ed8SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_LWORD_WIDTH 32 */
2975e111ed8SAndrew Rybchenko 
2985e111ed8SAndrew Rybchenko 
2995e111ed8SAndrew Rybchenko /*
3005e111ed8SAndrew Rybchenko  * TX_DESC_UPD_REG(96bit):
3015e111ed8SAndrew Rybchenko  *
3025e111ed8SAndrew Rybchenko  */
3035e111ed8SAndrew Rybchenko 
3045e111ed8SAndrew Rybchenko #define	ER_DZ_TX_DESC_UPD_REG_OFST 0x00000a10
3055e111ed8SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */
3065e111ed8SAndrew Rybchenko #define	ER_DZ_TX_DESC_UPD_REG_STEP 8192
3075e111ed8SAndrew Rybchenko #define	ER_DZ_TX_DESC_UPD_REG_ROWS 2048
3085e111ed8SAndrew Rybchenko #define	ER_DZ_TX_DESC_UPD_REG_RESET 0x0
3095e111ed8SAndrew Rybchenko 
3105e111ed8SAndrew Rybchenko 
3115e111ed8SAndrew Rybchenko #define	ERF_DZ_RSVD_LBN 76
3125e111ed8SAndrew Rybchenko #define	ERF_DZ_RSVD_WIDTH 20
3135e111ed8SAndrew Rybchenko #define	ERF_DZ_TX_DESC_WPTR_LBN 64
3145e111ed8SAndrew Rybchenko #define	ERF_DZ_TX_DESC_WPTR_WIDTH 12
3155e111ed8SAndrew Rybchenko #define	ERF_DZ_TX_DESC_HWORD_LBN 32
3165e111ed8SAndrew Rybchenko #define	ERF_DZ_TX_DESC_HWORD_WIDTH 32
3175e111ed8SAndrew Rybchenko #define	ERF_DZ_TX_DESC_LWORD_LBN 0
3185e111ed8SAndrew Rybchenko #define	ERF_DZ_TX_DESC_LWORD_WIDTH 32
3195e111ed8SAndrew Rybchenko 
3205e111ed8SAndrew Rybchenko 
3215e111ed8SAndrew Rybchenko /* ES_DRIVER_EV */
3225e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_CODE_LBN 60
3235e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_CODE_WIDTH 4
3245e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_SUB_CODE_LBN 56
3255e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_SUB_CODE_WIDTH 4
3265e111ed8SAndrew Rybchenko #define	ESE_DZ_DRV_TIMER_EV 3
3275e111ed8SAndrew Rybchenko #define	ESE_DZ_DRV_START_UP_EV 2
3285e111ed8SAndrew Rybchenko #define	ESE_DZ_DRV_WAKE_UP_EV 1
3295e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_SUB_DATA_DW0_LBN 0
3305e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_SUB_DATA_DW0_WIDTH 32
3315e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_SUB_DATA_DW1_LBN 32
3325e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_SUB_DATA_DW1_WIDTH 24
3335e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_SUB_DATA_LBN 0
3345e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_SUB_DATA_WIDTH 56
3355e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_EVQ_ID_LBN 0
3365e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_EVQ_ID_WIDTH 14
3375e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_TMR_ID_LBN 0
3385e111ed8SAndrew Rybchenko #define	ESF_DZ_DRV_TMR_ID_WIDTH 14
3395e111ed8SAndrew Rybchenko 
3405e111ed8SAndrew Rybchenko 
3415e111ed8SAndrew Rybchenko /* ES_EVENT_ENTRY */
3425e111ed8SAndrew Rybchenko #define	ESF_DZ_EV_CODE_LBN 60
3435e111ed8SAndrew Rybchenko #define	ESF_DZ_EV_CODE_WIDTH 4
3445e111ed8SAndrew Rybchenko #define	ESE_DZ_EV_CODE_MCDI_EV 12
3455e111ed8SAndrew Rybchenko #define	ESE_DZ_EV_CODE_DRIVER_EV 5
3465e111ed8SAndrew Rybchenko #define	ESE_DZ_EV_CODE_TX_EV 2
3475e111ed8SAndrew Rybchenko #define	ESE_DZ_EV_CODE_RX_EV 0
3485e111ed8SAndrew Rybchenko #define	ESE_DZ_OTHER other
3495e111ed8SAndrew Rybchenko #define	ESF_DZ_EV_DATA_DW0_LBN 0
3505e111ed8SAndrew Rybchenko #define	ESF_DZ_EV_DATA_DW0_WIDTH 32
3515e111ed8SAndrew Rybchenko #define	ESF_DZ_EV_DATA_DW1_LBN 32
3525e111ed8SAndrew Rybchenko #define	ESF_DZ_EV_DATA_DW1_WIDTH 28
3535e111ed8SAndrew Rybchenko #define	ESF_DZ_EV_DATA_LBN 0
3545e111ed8SAndrew Rybchenko #define	ESF_DZ_EV_DATA_WIDTH 60
3555e111ed8SAndrew Rybchenko 
3565e111ed8SAndrew Rybchenko 
3575e111ed8SAndrew Rybchenko /* ES_MC_EVENT */
3585e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_CODE_LBN 60
3595e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_CODE_WIDTH 4
3605e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_OVERRIDE_HOLDOFF_LBN 59
3615e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_OVERRIDE_HOLDOFF_WIDTH 1
3625e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_DROP_EVENT_LBN 58
3635e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_DROP_EVENT_WIDTH 1
3645e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_SOFT_DW0_LBN 0
3655e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_SOFT_DW0_WIDTH 32
3665e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_SOFT_DW1_LBN 32
3675e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_SOFT_DW1_WIDTH 26
3685e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_SOFT_LBN 0
3695e111ed8SAndrew Rybchenko #define	ESF_DZ_MC_SOFT_WIDTH 58
3705e111ed8SAndrew Rybchenko 
3715e111ed8SAndrew Rybchenko 
3725e111ed8SAndrew Rybchenko /* ES_RX_EVENT */
3735e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_CODE_LBN 60
3745e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_CODE_WIDTH 4
3755e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_OVERRIDE_HOLDOFF_LBN 59
3765e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_OVERRIDE_HOLDOFF_WIDTH 1
3775e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_DROP_EVENT_LBN 58
3785e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_DROP_EVENT_WIDTH 1
3795e111ed8SAndrew Rybchenko #define	ESF_DD_RX_EV_RSVD2_LBN 54
3805e111ed8SAndrew Rybchenko #define	ESF_DD_RX_EV_RSVD2_WIDTH 4
3815e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_LBN 57
3825e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1
3835e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_IP_INNER_CHKSUM_ERR_LBN 56
3845e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_IP_INNER_CHKSUM_ERR_WIDTH 1
3855e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_EV_RSVD2_LBN 54
3865e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_EV_RSVD2_WIDTH 2
3875e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_EV_SOFT2_LBN 52
3885e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_EV_SOFT2_WIDTH 2
3895e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_DSC_PTR_LBITS_LBN 48
3905e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_DSC_PTR_LBITS_WIDTH 4
3915e111ed8SAndrew Rybchenko #define	ESF_DE_RX_L4_CLASS_LBN 45
3925e111ed8SAndrew Rybchenko #define	ESF_DE_RX_L4_CLASS_WIDTH 3
3935e111ed8SAndrew Rybchenko #define	ESE_DE_L4_CLASS_RSVD7 7
3945e111ed8SAndrew Rybchenko #define	ESE_DE_L4_CLASS_RSVD6 6
3955e111ed8SAndrew Rybchenko #define	ESE_DE_L4_CLASS_RSVD5 5
3965e111ed8SAndrew Rybchenko #define	ESE_DE_L4_CLASS_RSVD4 4
3975e111ed8SAndrew Rybchenko #define	ESE_DE_L4_CLASS_RSVD3 3
3985e111ed8SAndrew Rybchenko #define	ESE_DE_L4_CLASS_UDP 2
3995e111ed8SAndrew Rybchenko #define	ESE_DE_L4_CLASS_TCP 1
4005e111ed8SAndrew Rybchenko #define	ESE_DE_L4_CLASS_UNKNOWN 0
4015e111ed8SAndrew Rybchenko #define	ESF_FZ_RX_FASTPD_INDCTR_LBN 47
4025e111ed8SAndrew Rybchenko #define	ESF_FZ_RX_FASTPD_INDCTR_WIDTH 1
4035e111ed8SAndrew Rybchenko #define	ESF_FZ_RX_L4_CLASS_LBN 45
4045e111ed8SAndrew Rybchenko #define	ESF_FZ_RX_L4_CLASS_WIDTH 2
4055e111ed8SAndrew Rybchenko #define	ESE_FZ_L4_CLASS_RSVD3 3
4065e111ed8SAndrew Rybchenko #define	ESE_FZ_L4_CLASS_UDP 2
4075e111ed8SAndrew Rybchenko #define	ESE_FZ_L4_CLASS_TCP 1
4085e111ed8SAndrew Rybchenko #define	ESE_FZ_L4_CLASS_UNKNOWN 0
4095e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_L3_CLASS_LBN 42
4105e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_L3_CLASS_WIDTH 3
4115e111ed8SAndrew Rybchenko #define	ESE_DZ_L3_CLASS_RSVD7 7
4125e111ed8SAndrew Rybchenko #define	ESE_DZ_L3_CLASS_IP6_FRAG 6
4135e111ed8SAndrew Rybchenko #define	ESE_DZ_L3_CLASS_ARP 5
4145e111ed8SAndrew Rybchenko #define	ESE_DZ_L3_CLASS_IP4_FRAG 4
4155e111ed8SAndrew Rybchenko #define	ESE_DZ_L3_CLASS_FCOE 3
4165e111ed8SAndrew Rybchenko #define	ESE_DZ_L3_CLASS_IP6 2
4175e111ed8SAndrew Rybchenko #define	ESE_DZ_L3_CLASS_IP4 1
4185e111ed8SAndrew Rybchenko #define	ESE_DZ_L3_CLASS_UNKNOWN 0
4195e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_ETH_TAG_CLASS_LBN 39
4205e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_ETH_TAG_CLASS_WIDTH 3
4215e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_TAG_CLASS_RSVD7 7
4225e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_TAG_CLASS_RSVD6 6
4235e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_TAG_CLASS_RSVD5 5
4245e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_TAG_CLASS_RSVD4 4
4255e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_TAG_CLASS_RSVD3 3
4265e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_TAG_CLASS_VLAN2 2
4275e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_TAG_CLASS_VLAN1 1
4285e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_TAG_CLASS_NONE 0
4295e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_ETH_BASE_CLASS_LBN 36
4305e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_ETH_BASE_CLASS_WIDTH 3
4315e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_BASE_CLASS_LLC_SNAP 2
4325e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_BASE_CLASS_LLC 1
4335e111ed8SAndrew Rybchenko #define	ESE_DZ_ETH_BASE_CLASS_ETH2 0
4345e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_MAC_CLASS_LBN 35
4355e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_MAC_CLASS_WIDTH 1
4365e111ed8SAndrew Rybchenko #define	ESE_DZ_MAC_CLASS_MCAST 1
4375e111ed8SAndrew Rybchenko #define	ESE_DZ_MAC_CLASS_UCAST 0
4385e111ed8SAndrew Rybchenko #define	ESF_DD_RX_EV_SOFT1_LBN 32
4395e111ed8SAndrew Rybchenko #define	ESF_DD_RX_EV_SOFT1_WIDTH 3
4405e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_EV_SOFT1_LBN 34
4415e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_EV_SOFT1_WIDTH 1
4425e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_ENCAP_HDR_LBN 32
4435e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_ENCAP_HDR_WIDTH 2
4445e111ed8SAndrew Rybchenko #define	ESE_EZ_ENCAP_HDR_GRE 2
4455e111ed8SAndrew Rybchenko #define	ESE_EZ_ENCAP_HDR_VXLAN 1
4465e111ed8SAndrew Rybchenko #define	ESE_EZ_ENCAP_HDR_NONE 0
4475e111ed8SAndrew Rybchenko #define	ESF_DD_RX_EV_RSVD1_LBN 30
4485e111ed8SAndrew Rybchenko #define	ESF_DD_RX_EV_RSVD1_WIDTH 2
4495e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_EV_RSVD1_LBN 31
4505e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_EV_RSVD1_WIDTH 1
4515e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_ABORT_LBN 30
4525e111ed8SAndrew Rybchenko #define	ESF_EZ_RX_ABORT_WIDTH 1
4535e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_ECC_ERR_LBN 29
4545e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_ECC_ERR_WIDTH 1
4555e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_TRUNC_ERR_LBN 29
4565e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_TRUNC_ERR_WIDTH 1
4575e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_CRC1_ERR_LBN 28
4585e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_CRC1_ERR_WIDTH 1
4595e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_CRC0_ERR_LBN 27
4605e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_CRC0_ERR_WIDTH 1
4615e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_TCPUDP_CKSUM_ERR_LBN 26
4625e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_TCPUDP_CKSUM_ERR_WIDTH 1
4635e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_IPCKSUM_ERR_LBN 25
4645e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_IPCKSUM_ERR_WIDTH 1
4655e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_ECRC_ERR_LBN 24
4665e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_ECRC_ERR_WIDTH 1
4675e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_QLABEL_LBN 16
4685e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_QLABEL_WIDTH 5
4695e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_PARSE_INCOMPLETE_LBN 15
4705e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_PARSE_INCOMPLETE_WIDTH 1
4715e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_CONT_LBN 14
4725e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_CONT_WIDTH 1
4735e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_BYTES_LBN 0
4745e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_BYTES_WIDTH 14
4755e111ed8SAndrew Rybchenko 
4765e111ed8SAndrew Rybchenko 
4775e111ed8SAndrew Rybchenko /* ES_RX_KER_DESC */
4785e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_KER_RESERVED_LBN 62
4795e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_KER_RESERVED_WIDTH 2
4805e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_KER_BYTE_CNT_LBN 48
4815e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_KER_BYTE_CNT_WIDTH 14
4825e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_KER_BUF_ADDR_DW0_LBN 0
4835e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_KER_BUF_ADDR_DW0_WIDTH 32
4845e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_KER_BUF_ADDR_DW1_LBN 32
4855e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_KER_BUF_ADDR_DW1_WIDTH 16
4865e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_KER_BUF_ADDR_LBN 0
4875e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_KER_BUF_ADDR_WIDTH 48
4885e111ed8SAndrew Rybchenko 
4895e111ed8SAndrew Rybchenko 
4905e111ed8SAndrew Rybchenko /* ES_TX_CSUM_TSTAMP_DESC */
4915e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_LBN 63
4925e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
4935e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_LBN 60
4945e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_WIDTH 3
4955e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_TSO 7
4965e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_VLAN 6
4975e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
4985e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TS_AT_TXDP_LBN 8
4995e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TS_AT_TXDP_WIDTH 1
5005e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_LBN 7
5015e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_WIDTH 1
5025e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_INNER_IP_CSUM_LBN 6
5035e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_INNER_IP_CSUM_WIDTH 1
5045e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TIMESTAMP_LBN 5
5055e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TIMESTAMP_WIDTH 1
5065e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_CRC_MODE_LBN 2
5075e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_CRC_MODE_WIDTH 3
5085e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_FCOIP_MPA 5
5095e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_FCOIP_FCOE 4
5105e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_ISCSI_HDR_AND_PYLD 3
5115e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_ISCSI_HDR 2
5125e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_FCOE 1
5135e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_OFF 0
5145e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_UDP_TCP_CSUM_LBN 1
5155e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_UDP_TCP_CSUM_WIDTH 1
5165e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_IP_CSUM_LBN 0
5175e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_IP_CSUM_WIDTH 1
5185e111ed8SAndrew Rybchenko 
5195e111ed8SAndrew Rybchenko 
5205e111ed8SAndrew Rybchenko /* ES_TX_EVENT */
5215e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_CODE_LBN 60
5225e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_CODE_WIDTH 4
5235e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OVERRIDE_HOLDOFF_LBN 59
5245e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OVERRIDE_HOLDOFF_WIDTH 1
5255e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DROP_EVENT_LBN 58
5265e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DROP_EVENT_WIDTH 1
5275e111ed8SAndrew Rybchenko #define	ESF_DD_TX_EV_RSVD_LBN 48
5285e111ed8SAndrew Rybchenko #define	ESF_DD_TX_EV_RSVD_WIDTH 10
5295e111ed8SAndrew Rybchenko #define	ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_LBN 57
5305e111ed8SAndrew Rybchenko #define	ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1
5315e111ed8SAndrew Rybchenko #define	ESF_EZ_IP_INNER_CHKSUM_ERR_LBN 56
5325e111ed8SAndrew Rybchenko #define	ESF_EZ_IP_INNER_CHKSUM_ERR_WIDTH 1
5335e111ed8SAndrew Rybchenko #define	ESF_EZ_TX_EV_RSVD_LBN 48
5345e111ed8SAndrew Rybchenko #define	ESF_EZ_TX_EV_RSVD_WIDTH 8
5355e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_SOFT2_LBN 32
5365e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_SOFT2_WIDTH 16
5375e111ed8SAndrew Rybchenko #define	ESF_DD_TX_SOFT1_LBN 24
5385e111ed8SAndrew Rybchenko #define	ESF_DD_TX_SOFT1_WIDTH 8
5395e111ed8SAndrew Rybchenko #define	ESF_EZ_TX_CAN_MERGE_LBN 31
5405e111ed8SAndrew Rybchenko #define	ESF_EZ_TX_CAN_MERGE_WIDTH 1
5415e111ed8SAndrew Rybchenko #define	ESF_EZ_TX_SOFT1_LBN 24
5425e111ed8SAndrew Rybchenko #define	ESF_EZ_TX_SOFT1_WIDTH 7
5435e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_QLABEL_LBN 16
5445e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_QLABEL_WIDTH 5
5455e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESCR_INDX_LBN 0
5465e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESCR_INDX_WIDTH 16
5475e111ed8SAndrew Rybchenko 
5485e111ed8SAndrew Rybchenko 
5495e111ed8SAndrew Rybchenko /* ES_TX_KER_DESC */
5505e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_TYPE_LBN 63
5515e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_TYPE_WIDTH 1
5525e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_CONT_LBN 62
5535e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_CONT_WIDTH 1
5545e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_BYTE_CNT_LBN 48
5555e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_BYTE_CNT_WIDTH 14
5565e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_BUF_ADDR_DW0_LBN 0
5575e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_BUF_ADDR_DW0_WIDTH 32
5585e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_BUF_ADDR_DW1_LBN 32
5595e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_BUF_ADDR_DW1_WIDTH 16
5605e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_BUF_ADDR_LBN 0
5615e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_KER_BUF_ADDR_WIDTH 48
5625e111ed8SAndrew Rybchenko 
5635e111ed8SAndrew Rybchenko 
5645e111ed8SAndrew Rybchenko /* ES_TX_PIO_DESC */
5655e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_PIO_TYPE_LBN 63
5665e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_PIO_TYPE_WIDTH 1
5675e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_PIO_OPT_LBN 60
5685e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_PIO_OPT_WIDTH 3
5695e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_PIO_CONT_LBN 59
5705e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_PIO_CONT_WIDTH 1
5715e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_PIO_BYTE_CNT_LBN 32
5725e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_PIO_BYTE_CNT_WIDTH 12
5735e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_PIO_BUF_ADDR_LBN 0
5745e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_PIO_BUF_ADDR_WIDTH 12
5755e111ed8SAndrew Rybchenko 
5765e111ed8SAndrew Rybchenko 
5775e111ed8SAndrew Rybchenko /* ES_TX_TSO_DESC */
5785e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_LBN 63
5795e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
5805e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_LBN 60
5815e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_WIDTH 3
5825e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_TSO 7
5835e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_VLAN 6
5845e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
5855e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56
5865e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4
5875e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3
5885e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2
5895e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1
5905e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0
5915e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_FLAGS_LBN 48
5925e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_FLAGS_WIDTH 8
5935e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_IP_ID_LBN 32
5945e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_IP_ID_WIDTH 16
5955e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0
5965e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32
5975e111ed8SAndrew Rybchenko 
5985e111ed8SAndrew Rybchenko 
5995e111ed8SAndrew Rybchenko /* ES_TX_TSO_V2_DESC_A */
6005e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_LBN 63
6015e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
6025e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_LBN 60
6035e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_WIDTH 3
6045e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_TSO 7
6055e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_VLAN 6
6065e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
6075e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56
6085e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4
6095e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3
6105e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2
6115e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1
6125e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0
6135e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_IP_ID_LBN 32
6145e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_IP_ID_WIDTH 16
6155e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0
6165e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32
6175e111ed8SAndrew Rybchenko 
6185e111ed8SAndrew Rybchenko 
6195e111ed8SAndrew Rybchenko /* ES_TX_TSO_V2_DESC_B */
6205e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_LBN 63
6215e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
6225e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_LBN 60
6235e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_WIDTH 3
6245e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_TSO 7
6255e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_VLAN 6
6265e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
6275e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56
6285e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4
6295e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3
6305e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2
6315e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1
6325e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0
6335e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_MSS_LBN 32
6345e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_MSS_WIDTH 16
6355e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OUTER_IPID_LBN 0
6365e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OUTER_IPID_WIDTH 16
6375e111ed8SAndrew Rybchenko 
6385e111ed8SAndrew Rybchenko 
6395e111ed8SAndrew Rybchenko /* ES_TX_VLAN_DESC */
6405e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_LBN 63
6415e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
6425e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_LBN 60
6435e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_WIDTH 3
6445e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_TSO 7
6455e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_VLAN 6
6465e111ed8SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
6475e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_VLAN_OP_LBN 32
6485e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_VLAN_OP_WIDTH 2
6495e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_VLAN_TAG2_LBN 16
6505e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_VLAN_TAG2_WIDTH 16
6515e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_VLAN_TAG1_LBN 0
6525e111ed8SAndrew Rybchenko #define	ESF_DZ_TX_VLAN_TAG1_WIDTH 16
6535e111ed8SAndrew Rybchenko 
6545e111ed8SAndrew Rybchenko 
6555e111ed8SAndrew Rybchenko /*************************************************************************
6565e111ed8SAndrew Rybchenko  * NOTE: the comment line above marks the end of the autogenerated section
6575e111ed8SAndrew Rybchenko  */
6585e111ed8SAndrew Rybchenko 
6595e111ed8SAndrew Rybchenko /*
6605e111ed8SAndrew Rybchenko  * The workaround for bug 35388 requires multiplexing writes through
6615e111ed8SAndrew Rybchenko  * the ERF_DZ_TX_DESC_WPTR address.
6625e111ed8SAndrew Rybchenko  * TX_DESC_UPD: 0ppppppppppp               (bit 11 lost)
6635e111ed8SAndrew Rybchenko  * EVQ_RPTR:    1000hhhhhhhh, 1001llllllll (split into high and low bits)
6645e111ed8SAndrew Rybchenko  * EVQ_TMR:     11mmvvvvvvvv               (bits 8:13 of value lost)
6655e111ed8SAndrew Rybchenko  */
6665e111ed8SAndrew Rybchenko #define	ER_DD_EVQ_INDIRECT_OFST (ER_DZ_TX_DESC_UPD_REG_OFST + 2 * 4)
6675e111ed8SAndrew Rybchenko #define	ER_DD_EVQ_INDIRECT_STEP ER_DZ_TX_DESC_UPD_REG_STEP
6685e111ed8SAndrew Rybchenko #define	ERF_DD_EVQ_IND_RPTR_FLAGS_LBN 8
6695e111ed8SAndrew Rybchenko #define	ERF_DD_EVQ_IND_RPTR_FLAGS_WIDTH 4
6705e111ed8SAndrew Rybchenko #define	EFE_DD_EVQ_IND_RPTR_FLAGS_HIGH 8
6715e111ed8SAndrew Rybchenko #define	EFE_DD_EVQ_IND_RPTR_FLAGS_LOW 9
6725e111ed8SAndrew Rybchenko #define	ERF_DD_EVQ_IND_RPTR_LBN 0
6735e111ed8SAndrew Rybchenko #define	ERF_DD_EVQ_IND_RPTR_WIDTH 8
6745e111ed8SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_FLAGS_LBN 10
6755e111ed8SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_FLAGS_WIDTH 2
6765e111ed8SAndrew Rybchenko #define	EFE_DD_EVQ_IND_TIMER_FLAGS 3
6775e111ed8SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_MODE_LBN 8
6785e111ed8SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_MODE_WIDTH 2
6795e111ed8SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_VAL_LBN 0
6805e111ed8SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_VAL_WIDTH 8
6815e111ed8SAndrew Rybchenko 
6825e111ed8SAndrew Rybchenko /* Packed stream magic doorbell command */
6835e111ed8SAndrew Rybchenko #define	ERF_DZ_RX_DESC_MAGIC_DOORBELL_LBN 11
6845e111ed8SAndrew Rybchenko #define	ERF_DZ_RX_DESC_MAGIC_DOORBELL_WIDTH 1
6855e111ed8SAndrew Rybchenko 
6865e111ed8SAndrew Rybchenko #define	ERF_DZ_RX_DESC_MAGIC_CMD_LBN 8
6875e111ed8SAndrew Rybchenko #define	ERF_DZ_RX_DESC_MAGIC_CMD_WIDTH 3
6885e111ed8SAndrew Rybchenko #define	ERE_DZ_RX_DESC_MAGIC_CMD_PS_CREDITS 0
6895e111ed8SAndrew Rybchenko 
6905e111ed8SAndrew Rybchenko #define	ERF_DZ_RX_DESC_MAGIC_DATA_LBN 0
6915e111ed8SAndrew Rybchenko #define	ERF_DZ_RX_DESC_MAGIC_DATA_WIDTH 8
6925e111ed8SAndrew Rybchenko 
6935e111ed8SAndrew Rybchenko /* Packed stream RX packet prefix */
6945e111ed8SAndrew Rybchenko #define	ES_DZ_PS_RX_PREFIX_TSTAMP_LBN 0
6955e111ed8SAndrew Rybchenko #define	ES_DZ_PS_RX_PREFIX_TSTAMP_WIDTH 32
6965e111ed8SAndrew Rybchenko #define	ES_DZ_PS_RX_PREFIX_CAP_LEN_LBN 32
6975e111ed8SAndrew Rybchenko #define	ES_DZ_PS_RX_PREFIX_CAP_LEN_WIDTH 16
6985e111ed8SAndrew Rybchenko #define	ES_DZ_PS_RX_PREFIX_ORIG_LEN_LBN 48
6995e111ed8SAndrew Rybchenko #define	ES_DZ_PS_RX_PREFIX_ORIG_LEN_WIDTH 16
7005e111ed8SAndrew Rybchenko 
7015e111ed8SAndrew Rybchenko /* Equal stride super-buffer RX packet prefix (see SF-119419-TC) */
7025e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_LEN 8
7035e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_DATA_LEN_LBN 0
7045e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_DATA_LEN_WIDTH 16
7055e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_MARK_LBN 16
7065e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_MARK_WIDTH 8
7075e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_HASH_VALID_LBN 28
7085e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_HASH_VALID_WIDTH 1
7095e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_MARK_VALID_LBN 29
7105e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_MARK_VALID_WIDTH 1
7115e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_MATCH_FLAG_LBN 30
7125e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_MATCH_FLAG_WIDTH 1
7135e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_HASH_LBN 32
7145e111ed8SAndrew Rybchenko #define	ES_EZ_ESSB_RX_PREFIX_HASH_WIDTH 32
7155e111ed8SAndrew Rybchenko 
7165e111ed8SAndrew Rybchenko /*
7175e111ed8SAndrew Rybchenko  * An extra flag for the packed stream mode,
7185e111ed8SAndrew Rybchenko  * signalling the start of a new buffer
7195e111ed8SAndrew Rybchenko  */
7205e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_EV_ROTATE_LBN 53
7215e111ed8SAndrew Rybchenko #define	ESF_DZ_RX_EV_ROTATE_WIDTH 1
7225e111ed8SAndrew Rybchenko 
7235e111ed8SAndrew Rybchenko #ifdef	__cplusplus
7245e111ed8SAndrew Rybchenko }
7255e111ed8SAndrew Rybchenko #endif
7265e111ed8SAndrew Rybchenko 
7275e111ed8SAndrew Rybchenko #endif /* _SYS_EFX_EF10_REGS_H */
728