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