1e948693eSPhilip Paeps /*- 2*4d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 3718cf2ccSPedro F. Giffuni * 4929c7febSAndrew Rybchenko * Copyright (c) 2007-2016 Solarflare Communications Inc. 53c838a9fSAndrew Rybchenko * All rights reserved. 6e948693eSPhilip Paeps * 7e948693eSPhilip Paeps * Redistribution and use in source and binary forms, with or without 83c838a9fSAndrew Rybchenko * modification, are permitted provided that the following conditions are met: 9e948693eSPhilip Paeps * 103c838a9fSAndrew Rybchenko * 1. Redistributions of source code must retain the above copyright notice, 113c838a9fSAndrew Rybchenko * this list of conditions and the following disclaimer. 123c838a9fSAndrew Rybchenko * 2. Redistributions in binary form must reproduce the above copyright notice, 133c838a9fSAndrew Rybchenko * this list of conditions and the following disclaimer in the documentation 143c838a9fSAndrew Rybchenko * and/or other materials provided with the distribution. 153c838a9fSAndrew Rybchenko * 163c838a9fSAndrew Rybchenko * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 173c838a9fSAndrew Rybchenko * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 183c838a9fSAndrew Rybchenko * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 193c838a9fSAndrew Rybchenko * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 203c838a9fSAndrew Rybchenko * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 213c838a9fSAndrew Rybchenko * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 223c838a9fSAndrew Rybchenko * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 233c838a9fSAndrew Rybchenko * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 243c838a9fSAndrew Rybchenko * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 253c838a9fSAndrew Rybchenko * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 263c838a9fSAndrew Rybchenko * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 273c838a9fSAndrew Rybchenko * 283c838a9fSAndrew Rybchenko * The views and conclusions contained in the software and documentation are 293c838a9fSAndrew Rybchenko * those of the authors and should not be interpreted as representing official 303c838a9fSAndrew Rybchenko * policies, either expressed or implied, of the FreeBSD Project. 31e948693eSPhilip Paeps */ 32e948693eSPhilip Paeps 33e948693eSPhilip Paeps #ifndef _SYS_EFX_EF10_REGS_H 34e948693eSPhilip Paeps #define _SYS_EFX_EF10_REGS_H 35e948693eSPhilip Paeps 36e948693eSPhilip Paeps #ifdef __cplusplus 37e948693eSPhilip Paeps extern "C" { 38e948693eSPhilip Paeps #endif 39e948693eSPhilip Paeps 40946b5480SAndrew Rybchenko /************************************************************************** 41946b5480SAndrew Rybchenko * NOTE: the line below marks the start of the autogenerated section 42946b5480SAndrew Rybchenko * EF10 registers and descriptors 43946b5480SAndrew Rybchenko * 44946b5480SAndrew Rybchenko ************************************************************************** 45946b5480SAndrew Rybchenko */ 46946b5480SAndrew Rybchenko 47e948693eSPhilip Paeps /* 48e948693eSPhilip Paeps * BIU_HW_REV_ID_REG(32bit): 49e948693eSPhilip Paeps * 50e948693eSPhilip Paeps */ 51e948693eSPhilip Paeps 523c838a9fSAndrew Rybchenko #define ER_DZ_BIU_HW_REV_ID_REG_OFST 0x00000000 53f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 543c838a9fSAndrew Rybchenko #define ER_DZ_BIU_HW_REV_ID_REG_RESET 0xeb14face 553c838a9fSAndrew Rybchenko 56e948693eSPhilip Paeps #define ERF_DZ_HW_REV_ID_LBN 0 57e948693eSPhilip Paeps #define ERF_DZ_HW_REV_ID_WIDTH 32 58e948693eSPhilip Paeps 59e948693eSPhilip Paeps /* 60e948693eSPhilip Paeps * BIU_MC_SFT_STATUS_REG(32bit): 61e948693eSPhilip Paeps * 62e948693eSPhilip Paeps */ 63e948693eSPhilip Paeps 643c838a9fSAndrew Rybchenko #define ER_DZ_BIU_MC_SFT_STATUS_REG_OFST 0x00000010 65f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 66e948693eSPhilip Paeps #define ER_DZ_BIU_MC_SFT_STATUS_REG_STEP 4 67e948693eSPhilip Paeps #define ER_DZ_BIU_MC_SFT_STATUS_REG_ROWS 8 683c838a9fSAndrew Rybchenko #define ER_DZ_BIU_MC_SFT_STATUS_REG_RESET 0x1111face 693c838a9fSAndrew Rybchenko 70e948693eSPhilip Paeps #define ERF_DZ_MC_SFT_STATUS_LBN 0 71e948693eSPhilip Paeps #define ERF_DZ_MC_SFT_STATUS_WIDTH 32 72e948693eSPhilip Paeps 73e948693eSPhilip Paeps /* 74e948693eSPhilip Paeps * BIU_INT_ISR_REG(32bit): 75e948693eSPhilip Paeps * 76e948693eSPhilip Paeps */ 77e948693eSPhilip Paeps 783c838a9fSAndrew Rybchenko #define ER_DZ_BIU_INT_ISR_REG_OFST 0x00000090 79f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 803c838a9fSAndrew Rybchenko #define ER_DZ_BIU_INT_ISR_REG_RESET 0x0 813c838a9fSAndrew Rybchenko 82e948693eSPhilip Paeps #define ERF_DZ_ISR_REG_LBN 0 83e948693eSPhilip Paeps #define ERF_DZ_ISR_REG_WIDTH 32 84e948693eSPhilip Paeps 85e948693eSPhilip Paeps /* 86e948693eSPhilip Paeps * MC_DB_LWRD_REG(32bit): 87e948693eSPhilip Paeps * 88e948693eSPhilip Paeps */ 89e948693eSPhilip Paeps 903c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_LWRD_REG_OFST 0x00000200 91f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 923c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_LWRD_REG_RESET 0x0 933c838a9fSAndrew Rybchenko 94e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_L_LBN 0 95e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_L_WIDTH 32 96e948693eSPhilip Paeps 97e948693eSPhilip Paeps /* 98e948693eSPhilip Paeps * MC_DB_HWRD_REG(32bit): 99e948693eSPhilip Paeps * 100e948693eSPhilip Paeps */ 101e948693eSPhilip Paeps 1023c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_HWRD_REG_OFST 0x00000204 103f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 1043c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_HWRD_REG_RESET 0x0 1053c838a9fSAndrew Rybchenko 106e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_H_LBN 0 107e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_H_WIDTH 32 108e948693eSPhilip Paeps 109e948693eSPhilip Paeps /* 110e948693eSPhilip Paeps * EVQ_RPTR_REG(32bit): 111e948693eSPhilip Paeps * 112e948693eSPhilip Paeps */ 113e948693eSPhilip Paeps 1143c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_RPTR_REG_OFST 0x00000400 115f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 1163c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_RPTR_REG_STEP 8192 117e948693eSPhilip Paeps #define ER_DZ_EVQ_RPTR_REG_ROWS 2048 1183c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_RPTR_REG_RESET 0x0 1193c838a9fSAndrew Rybchenko 120e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_VLD_LBN 15 121e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_VLD_WIDTH 1 122e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_LBN 0 123e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_WIDTH 15 124e948693eSPhilip Paeps 125e948693eSPhilip Paeps /* 126f2f14997SAndrew Rybchenko * EVQ_RPTR_REG_64K(32bit): 127f2f14997SAndrew Rybchenko * 128f2f14997SAndrew Rybchenko */ 129f2f14997SAndrew Rybchenko 130f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_64K_OFST 0x00000400 131f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 132f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_64K_STEP 65536 133f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_64K_ROWS 2048 134f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_64K_RESET 0x0 135f2f14997SAndrew Rybchenko 136f2f14997SAndrew Rybchenko #define ERF_FZ_EVQ_RPTR_VLD_LBN 15 137f2f14997SAndrew Rybchenko #define ERF_FZ_EVQ_RPTR_VLD_WIDTH 1 138f2f14997SAndrew Rybchenko #define ERF_FZ_EVQ_RPTR_LBN 0 139f2f14997SAndrew Rybchenko #define ERF_FZ_EVQ_RPTR_WIDTH 15 140f2f14997SAndrew Rybchenko 141f2f14997SAndrew Rybchenko /* 142f2f14997SAndrew Rybchenko * EVQ_RPTR_REG_16K(32bit): 143f2f14997SAndrew Rybchenko * 144f2f14997SAndrew Rybchenko */ 145f2f14997SAndrew Rybchenko 146f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_16K_OFST 0x00000400 147f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 148f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_16K_STEP 16384 149f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_16K_ROWS 2048 150f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_16K_RESET 0x0 151f2f14997SAndrew Rybchenko 152f2f14997SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_VLD_LBN 15; */ 153f2f14997SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_VLD_WIDTH 1 */ 154f2f14997SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_LBN 0; */ 155f2f14997SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_WIDTH 15 */ 156f2f14997SAndrew Rybchenko 157f2f14997SAndrew Rybchenko /* 158f2f14997SAndrew Rybchenko * EVQ_TMR_REG_64K(32bit): 159f2f14997SAndrew Rybchenko * 160f2f14997SAndrew Rybchenko */ 161f2f14997SAndrew Rybchenko 162f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_64K_OFST 0x00000420 163f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 164f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_64K_STEP 65536 165f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_64K_ROWS 2048 166f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_64K_RESET 0x0 167f2f14997SAndrew Rybchenko 1682222409bSAndrew Rybchenko #define ERF_FZ_TC_TMR_REL_VAL_LBN 16 1692222409bSAndrew Rybchenko #define ERF_FZ_TC_TMR_REL_VAL_WIDTH 14 170f2f14997SAndrew Rybchenko #define ERF_FZ_TC_TIMER_MODE_LBN 14 171f2f14997SAndrew Rybchenko #define ERF_FZ_TC_TIMER_MODE_WIDTH 2 172f2f14997SAndrew Rybchenko #define ERF_FZ_TC_TIMER_VAL_LBN 0 173f2f14997SAndrew Rybchenko #define ERF_FZ_TC_TIMER_VAL_WIDTH 14 174f2f14997SAndrew Rybchenko 175f2f14997SAndrew Rybchenko /* 176f2f14997SAndrew Rybchenko * EVQ_TMR_REG_16K(32bit): 177f2f14997SAndrew Rybchenko * 178f2f14997SAndrew Rybchenko */ 179f2f14997SAndrew Rybchenko 180f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_16K_OFST 0x00000420 181f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 182f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_16K_STEP 16384 183f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_16K_ROWS 2048 184f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_16K_RESET 0x0 185f2f14997SAndrew Rybchenko 1862222409bSAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_LBN 16; */ 1872222409bSAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_WIDTH 14 */ 188f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_MODE_LBN 14; */ 189f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_MODE_WIDTH 2 */ 190f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_VAL_LBN 0; */ 191f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_VAL_WIDTH 14 */ 192f2f14997SAndrew Rybchenko 193f2f14997SAndrew Rybchenko /* 194e948693eSPhilip Paeps * EVQ_TMR_REG(32bit): 195e948693eSPhilip Paeps * 196e948693eSPhilip Paeps */ 197e948693eSPhilip Paeps 1983c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_TMR_REG_OFST 0x00000420 199f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 2003c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_TMR_REG_STEP 8192 201e948693eSPhilip Paeps #define ER_DZ_EVQ_TMR_REG_ROWS 2048 2023c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_TMR_REG_RESET 0x0 2033c838a9fSAndrew Rybchenko 2042222409bSAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_LBN 16; */ 2052222409bSAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_WIDTH 14 */ 206e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_MODE_LBN 14 207e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_MODE_WIDTH 2 208e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_VAL_LBN 0 209e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_VAL_WIDTH 14 210e948693eSPhilip Paeps 211e948693eSPhilip Paeps /* 212f2f14997SAndrew Rybchenko * RX_DESC_UPD_REG_16K(32bit): 213f2f14997SAndrew Rybchenko * 214f2f14997SAndrew Rybchenko */ 215f2f14997SAndrew Rybchenko 216f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_16K_OFST 0x00000830 217f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 218f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_16K_STEP 16384 219f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_16K_ROWS 2048 220f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_16K_RESET 0x0 221f2f14997SAndrew Rybchenko 222f2f14997SAndrew Rybchenko #define ERF_FZ_RX_DESC_WPTR_LBN 0 223f2f14997SAndrew Rybchenko #define ERF_FZ_RX_DESC_WPTR_WIDTH 12 224f2f14997SAndrew Rybchenko 225f2f14997SAndrew Rybchenko /* 226e948693eSPhilip Paeps * RX_DESC_UPD_REG(32bit): 227e948693eSPhilip Paeps * 228e948693eSPhilip Paeps */ 229e948693eSPhilip Paeps 2303c838a9fSAndrew Rybchenko #define ER_DZ_RX_DESC_UPD_REG_OFST 0x00000830 231f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 2323c838a9fSAndrew Rybchenko #define ER_DZ_RX_DESC_UPD_REG_STEP 8192 233e948693eSPhilip Paeps #define ER_DZ_RX_DESC_UPD_REG_ROWS 2048 2343c838a9fSAndrew Rybchenko #define ER_DZ_RX_DESC_UPD_REG_RESET 0x0 2353c838a9fSAndrew Rybchenko 236e948693eSPhilip Paeps #define ERF_DZ_RX_DESC_WPTR_LBN 0 237e948693eSPhilip Paeps #define ERF_DZ_RX_DESC_WPTR_WIDTH 12 238e948693eSPhilip Paeps 239f2f14997SAndrew Rybchenko /* 240f2f14997SAndrew Rybchenko * RX_DESC_UPD_REG_64K(32bit): 241f2f14997SAndrew Rybchenko * 242f2f14997SAndrew Rybchenko */ 243f2f14997SAndrew Rybchenko 244f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_64K_OFST 0x00000830 245f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 246f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_64K_STEP 65536 247f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_64K_ROWS 2048 248f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_64K_RESET 0x0 249f2f14997SAndrew Rybchenko 250f2f14997SAndrew Rybchenko /* defined as ERF_FZ_RX_DESC_WPTR_LBN 0; */ 251f2f14997SAndrew Rybchenko /* defined as ERF_FZ_RX_DESC_WPTR_WIDTH 12 */ 252f2f14997SAndrew Rybchenko 253f2f14997SAndrew Rybchenko /* 254f2f14997SAndrew Rybchenko * TX_DESC_UPD_REG_64K(96bit): 255f2f14997SAndrew Rybchenko * 256f2f14997SAndrew Rybchenko */ 257f2f14997SAndrew Rybchenko 258f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_64K_OFST 0x00000a10 259f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 260f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_64K_STEP 65536 261f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_64K_ROWS 2048 262f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_64K_RESET 0x0 263f2f14997SAndrew Rybchenko 264f2f14997SAndrew Rybchenko #define ERF_FZ_RSVD_LBN 76 265f2f14997SAndrew Rybchenko #define ERF_FZ_RSVD_WIDTH 20 266f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_WPTR_LBN 64 267f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_WPTR_WIDTH 12 268f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_HWORD_LBN 32 269f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_HWORD_WIDTH 32 270f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_LWORD_LBN 0 271f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_LWORD_WIDTH 32 272f2f14997SAndrew Rybchenko 273f2f14997SAndrew Rybchenko /* 274f2f14997SAndrew Rybchenko * TX_DESC_UPD_REG_16K(96bit): 275f2f14997SAndrew Rybchenko * 276f2f14997SAndrew Rybchenko */ 277f2f14997SAndrew Rybchenko 278f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_16K_OFST 0x00000a10 279f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 280f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_16K_STEP 16384 281f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_16K_ROWS 2048 282f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_16K_RESET 0x0 283f2f14997SAndrew Rybchenko 284f2f14997SAndrew Rybchenko /* defined as ERF_FZ_RSVD_LBN 76; */ 285f2f14997SAndrew Rybchenko /* defined as ERF_FZ_RSVD_WIDTH 20 */ 286f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_WPTR_LBN 64; */ 287f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_WPTR_WIDTH 12 */ 288f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_HWORD_LBN 32; */ 289f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_HWORD_WIDTH 32 */ 290f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_LWORD_LBN 0; */ 291f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_LWORD_WIDTH 32 */ 292f2f14997SAndrew Rybchenko 293e948693eSPhilip Paeps /* 2943c838a9fSAndrew Rybchenko * TX_DESC_UPD_REG(96bit): 295e948693eSPhilip Paeps * 296e948693eSPhilip Paeps */ 297e948693eSPhilip Paeps 2983c838a9fSAndrew Rybchenko #define ER_DZ_TX_DESC_UPD_REG_OFST 0x00000a10 299f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 3003c838a9fSAndrew Rybchenko #define ER_DZ_TX_DESC_UPD_REG_STEP 8192 301e948693eSPhilip Paeps #define ER_DZ_TX_DESC_UPD_REG_ROWS 2048 3023c838a9fSAndrew Rybchenko #define ER_DZ_TX_DESC_UPD_REG_RESET 0x0 303e948693eSPhilip Paeps 3043c838a9fSAndrew Rybchenko #define ERF_DZ_RSVD_LBN 76 3053c838a9fSAndrew Rybchenko #define ERF_DZ_RSVD_WIDTH 20 306e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_WPTR_LBN 64 307e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_WPTR_WIDTH 12 308e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_HWORD_LBN 32 309e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_HWORD_WIDTH 32 310e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_LWORD_LBN 0 311e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_LWORD_WIDTH 32 312e948693eSPhilip Paeps 313e948693eSPhilip Paeps /* ES_DRIVER_EV */ 314e948693eSPhilip Paeps #define ESF_DZ_DRV_CODE_LBN 60 315e948693eSPhilip Paeps #define ESF_DZ_DRV_CODE_WIDTH 4 316e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_CODE_LBN 56 317e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_CODE_WIDTH 4 3183c838a9fSAndrew Rybchenko #define ESE_DZ_DRV_TIMER_EV 3 3193c838a9fSAndrew Rybchenko #define ESE_DZ_DRV_START_UP_EV 2 3203c838a9fSAndrew Rybchenko #define ESE_DZ_DRV_WAKE_UP_EV 1 321e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW0_LBN 0 322e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW0_WIDTH 32 323e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW1_LBN 32 324e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW1_WIDTH 24 325e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_LBN 0 326e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_WIDTH 56 327e948693eSPhilip Paeps #define ESF_DZ_DRV_EVQ_ID_LBN 0 328e948693eSPhilip Paeps #define ESF_DZ_DRV_EVQ_ID_WIDTH 14 329e948693eSPhilip Paeps #define ESF_DZ_DRV_TMR_ID_LBN 0 330e948693eSPhilip Paeps #define ESF_DZ_DRV_TMR_ID_WIDTH 14 331e948693eSPhilip Paeps 332e948693eSPhilip Paeps /* ES_EVENT_ENTRY */ 333e948693eSPhilip Paeps #define ESF_DZ_EV_CODE_LBN 60 334e948693eSPhilip Paeps #define ESF_DZ_EV_CODE_WIDTH 4 335e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_MCDI_EV 12 336e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_DRIVER_EV 5 337e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_TX_EV 2 338e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_RX_EV 0 339e948693eSPhilip Paeps #define ESE_DZ_OTHER other 340e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW0_LBN 0 341e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW0_WIDTH 32 342e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW1_LBN 32 343e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW1_WIDTH 28 344e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_LBN 0 345e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_WIDTH 60 346e948693eSPhilip Paeps 347e948693eSPhilip Paeps /* ES_MC_EVENT */ 348e948693eSPhilip Paeps #define ESF_DZ_MC_CODE_LBN 60 349e948693eSPhilip Paeps #define ESF_DZ_MC_CODE_WIDTH 4 350e948693eSPhilip Paeps #define ESF_DZ_MC_OVERRIDE_HOLDOFF_LBN 59 351e948693eSPhilip Paeps #define ESF_DZ_MC_OVERRIDE_HOLDOFF_WIDTH 1 352e948693eSPhilip Paeps #define ESF_DZ_MC_DROP_EVENT_LBN 58 353e948693eSPhilip Paeps #define ESF_DZ_MC_DROP_EVENT_WIDTH 1 354e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW0_LBN 0 355e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW0_WIDTH 32 356e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW1_LBN 32 357e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW1_WIDTH 26 358e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_LBN 0 359e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_WIDTH 58 360e948693eSPhilip Paeps 361e948693eSPhilip Paeps /* ES_RX_EVENT */ 362e948693eSPhilip Paeps #define ESF_DZ_RX_CODE_LBN 60 363e948693eSPhilip Paeps #define ESF_DZ_RX_CODE_WIDTH 4 364e948693eSPhilip Paeps #define ESF_DZ_RX_OVERRIDE_HOLDOFF_LBN 59 365e948693eSPhilip Paeps #define ESF_DZ_RX_OVERRIDE_HOLDOFF_WIDTH 1 366e948693eSPhilip Paeps #define ESF_DZ_RX_DROP_EVENT_LBN 58 367e948693eSPhilip Paeps #define ESF_DZ_RX_DROP_EVENT_WIDTH 1 368e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_RSVD2_LBN 54 369e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_RSVD2_WIDTH 4 370e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_LBN 57 371e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1 372e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_IP_INNER_CHKSUM_ERR_LBN 56 373e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_IP_INNER_CHKSUM_ERR_WIDTH 1 374e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_RSVD2_LBN 54 375e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_RSVD2_WIDTH 2 376e948693eSPhilip Paeps #define ESF_DZ_RX_EV_SOFT2_LBN 52 3773c838a9fSAndrew Rybchenko #define ESF_DZ_RX_EV_SOFT2_WIDTH 2 378e948693eSPhilip Paeps #define ESF_DZ_RX_DSC_PTR_LBITS_LBN 48 379e948693eSPhilip Paeps #define ESF_DZ_RX_DSC_PTR_LBITS_WIDTH 4 380f2f14997SAndrew Rybchenko #define ESF_DE_RX_L4_CLASS_LBN 45 381f2f14997SAndrew Rybchenko #define ESF_DE_RX_L4_CLASS_WIDTH 3 382f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_RSVD7 7 383f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_RSVD6 6 384f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_RSVD5 5 385f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_RSVD4 4 386f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_RSVD3 3 387f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_UDP 2 388f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_TCP 1 389f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_UNKNOWN 0 390f2f14997SAndrew Rybchenko #define ESF_FZ_RX_FASTPD_INDCTR_LBN 47 391f2f14997SAndrew Rybchenko #define ESF_FZ_RX_FASTPD_INDCTR_WIDTH 1 392f2f14997SAndrew Rybchenko #define ESF_FZ_RX_L4_CLASS_LBN 45 393f2f14997SAndrew Rybchenko #define ESF_FZ_RX_L4_CLASS_WIDTH 2 394f2f14997SAndrew Rybchenko #define ESE_FZ_L4_CLASS_RSVD3 3 395f2f14997SAndrew Rybchenko #define ESE_FZ_L4_CLASS_UDP 2 396f2f14997SAndrew Rybchenko #define ESE_FZ_L4_CLASS_TCP 1 397f2f14997SAndrew Rybchenko #define ESE_FZ_L4_CLASS_UNKNOWN 0 398e948693eSPhilip Paeps #define ESF_DZ_RX_L3_CLASS_LBN 42 399e948693eSPhilip Paeps #define ESF_DZ_RX_L3_CLASS_WIDTH 3 400e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_RSVD7 7 401e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP6_FRAG 6 402e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_ARP 5 403e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP4_FRAG 4 404e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_FCOE 3 405e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP6 2 406e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP4 1 407e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_UNKNOWN 0 408e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_TAG_CLASS_LBN 39 409e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_TAG_CLASS_WIDTH 3 410e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD7 7 411e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD6 6 412e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD5 5 413e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD4 4 414e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD3 3 415e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_VLAN2 2 416e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_VLAN1 1 417e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_NONE 0 418e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_BASE_CLASS_LBN 36 419e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_BASE_CLASS_WIDTH 3 420e948693eSPhilip Paeps #define ESE_DZ_ETH_BASE_CLASS_LLC_SNAP 2 421e948693eSPhilip Paeps #define ESE_DZ_ETH_BASE_CLASS_LLC 1 422e948693eSPhilip Paeps #define ESE_DZ_ETH_BASE_CLASS_ETH2 0 423e948693eSPhilip Paeps #define ESF_DZ_RX_MAC_CLASS_LBN 35 424e948693eSPhilip Paeps #define ESF_DZ_RX_MAC_CLASS_WIDTH 1 425e948693eSPhilip Paeps #define ESE_DZ_MAC_CLASS_MCAST 1 426e948693eSPhilip Paeps #define ESE_DZ_MAC_CLASS_UCAST 0 427e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_SOFT1_LBN 32 428e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_SOFT1_WIDTH 3 429e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_SOFT1_LBN 34 430e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_SOFT1_WIDTH 1 431e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_ENCAP_HDR_LBN 32 432e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_ENCAP_HDR_WIDTH 2 433e78e1b4dSAndrew Rybchenko #define ESE_EZ_ENCAP_HDR_GRE 2 434e78e1b4dSAndrew Rybchenko #define ESE_EZ_ENCAP_HDR_VXLAN 1 435e78e1b4dSAndrew Rybchenko #define ESE_EZ_ENCAP_HDR_NONE 0 436e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_RSVD1_LBN 30 437e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_RSVD1_WIDTH 2 438e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_RSVD1_LBN 31 439e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_RSVD1_WIDTH 1 440e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_ABORT_LBN 30 441e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_ABORT_WIDTH 1 442e948693eSPhilip Paeps #define ESF_DZ_RX_ECC_ERR_LBN 29 443e948693eSPhilip Paeps #define ESF_DZ_RX_ECC_ERR_WIDTH 1 4448bff5a20SAndrew Rybchenko #define ESF_DZ_RX_TRUNC_ERR_LBN 29 4458bff5a20SAndrew Rybchenko #define ESF_DZ_RX_TRUNC_ERR_WIDTH 1 446e948693eSPhilip Paeps #define ESF_DZ_RX_CRC1_ERR_LBN 28 447e948693eSPhilip Paeps #define ESF_DZ_RX_CRC1_ERR_WIDTH 1 448e948693eSPhilip Paeps #define ESF_DZ_RX_CRC0_ERR_LBN 27 449e948693eSPhilip Paeps #define ESF_DZ_RX_CRC0_ERR_WIDTH 1 450e948693eSPhilip Paeps #define ESF_DZ_RX_TCPUDP_CKSUM_ERR_LBN 26 451e948693eSPhilip Paeps #define ESF_DZ_RX_TCPUDP_CKSUM_ERR_WIDTH 1 452e948693eSPhilip Paeps #define ESF_DZ_RX_IPCKSUM_ERR_LBN 25 453e948693eSPhilip Paeps #define ESF_DZ_RX_IPCKSUM_ERR_WIDTH 1 454e948693eSPhilip Paeps #define ESF_DZ_RX_ECRC_ERR_LBN 24 455e948693eSPhilip Paeps #define ESF_DZ_RX_ECRC_ERR_WIDTH 1 456e948693eSPhilip Paeps #define ESF_DZ_RX_QLABEL_LBN 16 4573c838a9fSAndrew Rybchenko #define ESF_DZ_RX_QLABEL_WIDTH 5 458e948693eSPhilip Paeps #define ESF_DZ_RX_PARSE_INCOMPLETE_LBN 15 459e948693eSPhilip Paeps #define ESF_DZ_RX_PARSE_INCOMPLETE_WIDTH 1 460e948693eSPhilip Paeps #define ESF_DZ_RX_CONT_LBN 14 461e948693eSPhilip Paeps #define ESF_DZ_RX_CONT_WIDTH 1 462e948693eSPhilip Paeps #define ESF_DZ_RX_BYTES_LBN 0 463e948693eSPhilip Paeps #define ESF_DZ_RX_BYTES_WIDTH 14 464e948693eSPhilip Paeps 465e948693eSPhilip Paeps /* ES_RX_KER_DESC */ 466e948693eSPhilip Paeps #define ESF_DZ_RX_KER_RESERVED_LBN 62 467e948693eSPhilip Paeps #define ESF_DZ_RX_KER_RESERVED_WIDTH 2 468e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BYTE_CNT_LBN 48 469e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BYTE_CNT_WIDTH 14 470e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW0_LBN 0 471e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW0_WIDTH 32 472e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW1_LBN 32 473e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW1_WIDTH 16 474e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_LBN 0 475e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_WIDTH 48 476e948693eSPhilip Paeps 4773c838a9fSAndrew Rybchenko /* ES_TX_CSUM_TSTAMP_DESC */ 4783c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 4793c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 4803c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 4813c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 4823c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 4833c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 4843c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 485f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TS_AT_TXDP_LBN 8 486f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TS_AT_TXDP_WIDTH 1 487f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_LBN 7 488f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_WIDTH 1 489f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_IP_CSUM_LBN 6 490f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_IP_CSUM_WIDTH 1 4913c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TIMESTAMP_LBN 5 4923c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TIMESTAMP_WIDTH 1 4933c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_CRC_MODE_LBN 2 4943c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_CRC_MODE_WIDTH 3 4953c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_FCOIP_MPA 5 4963c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_FCOIP_FCOE 4 4973c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_ISCSI_HDR_AND_PYLD 3 4983c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_ISCSI_HDR 2 4993c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_FCOE 1 5003c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_OFF 0 5013c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_UDP_TCP_CSUM_LBN 1 5023c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_UDP_TCP_CSUM_WIDTH 1 5033c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_IP_CSUM_LBN 0 5043c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_IP_CSUM_WIDTH 1 5053c838a9fSAndrew Rybchenko 506e948693eSPhilip Paeps /* ES_TX_EVENT */ 507e948693eSPhilip Paeps #define ESF_DZ_TX_CODE_LBN 60 508e948693eSPhilip Paeps #define ESF_DZ_TX_CODE_WIDTH 4 509e948693eSPhilip Paeps #define ESF_DZ_TX_OVERRIDE_HOLDOFF_LBN 59 510e948693eSPhilip Paeps #define ESF_DZ_TX_OVERRIDE_HOLDOFF_WIDTH 1 511e948693eSPhilip Paeps #define ESF_DZ_TX_DROP_EVENT_LBN 58 512e948693eSPhilip Paeps #define ESF_DZ_TX_DROP_EVENT_WIDTH 1 513e78e1b4dSAndrew Rybchenko #define ESF_DD_TX_EV_RSVD_LBN 48 514e78e1b4dSAndrew Rybchenko #define ESF_DD_TX_EV_RSVD_WIDTH 10 515e78e1b4dSAndrew Rybchenko #define ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_LBN 57 516e78e1b4dSAndrew Rybchenko #define ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1 517e78e1b4dSAndrew Rybchenko #define ESF_EZ_IP_INNER_CHKSUM_ERR_LBN 56 518e78e1b4dSAndrew Rybchenko #define ESF_EZ_IP_INNER_CHKSUM_ERR_WIDTH 1 519e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_EV_RSVD_LBN 48 520e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_EV_RSVD_WIDTH 8 521e948693eSPhilip Paeps #define ESF_DZ_TX_SOFT2_LBN 32 522e948693eSPhilip Paeps #define ESF_DZ_TX_SOFT2_WIDTH 16 523e78e1b4dSAndrew Rybchenko #define ESF_DD_TX_SOFT1_LBN 24 524e78e1b4dSAndrew Rybchenko #define ESF_DD_TX_SOFT1_WIDTH 8 525e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_CAN_MERGE_LBN 31 526e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_CAN_MERGE_WIDTH 1 527e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_SOFT1_LBN 24 528e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_SOFT1_WIDTH 7 529e948693eSPhilip Paeps #define ESF_DZ_TX_QLABEL_LBN 16 5303c838a9fSAndrew Rybchenko #define ESF_DZ_TX_QLABEL_WIDTH 5 531e948693eSPhilip Paeps #define ESF_DZ_TX_DESCR_INDX_LBN 0 532e948693eSPhilip Paeps #define ESF_DZ_TX_DESCR_INDX_WIDTH 16 533e948693eSPhilip Paeps 534e948693eSPhilip Paeps /* ES_TX_KER_DESC */ 535e948693eSPhilip Paeps #define ESF_DZ_TX_KER_TYPE_LBN 63 536e948693eSPhilip Paeps #define ESF_DZ_TX_KER_TYPE_WIDTH 1 537e948693eSPhilip Paeps #define ESF_DZ_TX_KER_CONT_LBN 62 538e948693eSPhilip Paeps #define ESF_DZ_TX_KER_CONT_WIDTH 1 539e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BYTE_CNT_LBN 48 540e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BYTE_CNT_WIDTH 14 541e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW0_LBN 0 542e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW0_WIDTH 32 543e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW1_LBN 32 544e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW1_WIDTH 16 545e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_LBN 0 546e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_WIDTH 48 547e948693eSPhilip Paeps 5483c838a9fSAndrew Rybchenko /* ES_TX_PIO_DESC */ 5493c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_TYPE_LBN 63 5503c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_TYPE_WIDTH 1 5513c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_OPT_LBN 60 5523c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_OPT_WIDTH 3 5533c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_CONT_LBN 59 5543c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_CONT_WIDTH 1 5553c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BYTE_CNT_LBN 32 5563c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BYTE_CNT_WIDTH 12 5573c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BUF_ADDR_LBN 0 5583c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BUF_ADDR_WIDTH 12 5593c838a9fSAndrew Rybchenko 5603c838a9fSAndrew Rybchenko /* ES_TX_TSO_DESC */ 561e948693eSPhilip Paeps #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 562e948693eSPhilip Paeps #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 563e948693eSPhilip Paeps #define ESF_DZ_TX_OPTION_TYPE_LBN 60 564e948693eSPhilip Paeps #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 5653c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 5663c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 567e948693eSPhilip Paeps #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 568f8806762SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 569f8806762SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 570f2f14997SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 571f2f14997SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 572f8806762SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 573f8806762SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 574e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_FLAGS_LBN 48 575e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_FLAGS_WIDTH 8 5763c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_LBN 32 5773c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_WIDTH 16 578e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0 579e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32 580e948693eSPhilip Paeps 581f2f14997SAndrew Rybchenko /* ES_TX_TSO_V2_DESC_A */ 58251fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 58351fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 58451fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 58551fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 58651fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 58751fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 58851fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 58951fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 59051fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 59151fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 59251fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 59351fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 59451fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 59551fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_LBN 32 59651fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_WIDTH 16 59751fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0 59851fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32 59951fd6441SAndrew Rybchenko 600f2f14997SAndrew Rybchenko /* ES_TX_TSO_V2_DESC_B */ 60151fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 60251fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 60351fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 60451fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 60551fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 60651fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 60751fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 60851fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 60951fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 61051fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 61151fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 61251fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 61351fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 61451fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_MSS_LBN 32 61551fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_MSS_WIDTH 16 616f2f14997SAndrew Rybchenko #define ESF_DZ_TX_TSO_OUTER_IPID_LBN 0 617f2f14997SAndrew Rybchenko #define ESF_DZ_TX_TSO_OUTER_IPID_WIDTH 16 61851fd6441SAndrew Rybchenko 6193c838a9fSAndrew Rybchenko /* ES_TX_VLAN_DESC */ 6203c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 6213c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 6223c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 6233c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 6243c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 6253c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 6263c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 6273c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_OP_LBN 32 6283c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_OP_WIDTH 2 6293c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG2_LBN 16 6303c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG2_WIDTH 16 6313c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG1_LBN 0 6323c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG1_WIDTH 16 6333c838a9fSAndrew Rybchenko 634946b5480SAndrew Rybchenko /************************************************************************* 635946b5480SAndrew Rybchenko * NOTE: the comment line above marks the end of the autogenerated section 636946b5480SAndrew Rybchenko */ 637946b5480SAndrew Rybchenko 638946b5480SAndrew Rybchenko /* 639946b5480SAndrew Rybchenko * The workaround for bug 35388 requires multiplexing writes through 640946b5480SAndrew Rybchenko * the ERF_DZ_TX_DESC_WPTR address. 641946b5480SAndrew Rybchenko * TX_DESC_UPD: 0ppppppppppp (bit 11 lost) 642946b5480SAndrew Rybchenko * EVQ_RPTR: 1000hhhhhhhh, 1001llllllll (split into high and low bits) 643946b5480SAndrew Rybchenko * EVQ_TMR: 11mmvvvvvvvv (bits 8:13 of value lost) 644946b5480SAndrew Rybchenko */ 645946b5480SAndrew Rybchenko #define ER_DD_EVQ_INDIRECT_OFST (ER_DZ_TX_DESC_UPD_REG_OFST + 2 * 4) 646946b5480SAndrew Rybchenko #define ER_DD_EVQ_INDIRECT_STEP ER_DZ_TX_DESC_UPD_REG_STEP 647946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_FLAGS_LBN 8 648946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_FLAGS_WIDTH 4 649946b5480SAndrew Rybchenko #define EFE_DD_EVQ_IND_RPTR_FLAGS_HIGH 8 650946b5480SAndrew Rybchenko #define EFE_DD_EVQ_IND_RPTR_FLAGS_LOW 9 651946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_LBN 0 652946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_WIDTH 8 653946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_FLAGS_LBN 10 654946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_FLAGS_WIDTH 2 655946b5480SAndrew Rybchenko #define EFE_DD_EVQ_IND_TIMER_FLAGS 3 656946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_MODE_LBN 8 657946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_MODE_WIDTH 2 658946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_VAL_LBN 0 659946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_VAL_WIDTH 8 660946b5480SAndrew Rybchenko 6618e0c4827SAndrew Rybchenko /* Packed stream magic doorbell command */ 6628e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_DOORBELL_LBN 11 6638e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_DOORBELL_WIDTH 1 6648e0c4827SAndrew Rybchenko 6658e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_CMD_LBN 8 6668e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_CMD_WIDTH 3 6678e0c4827SAndrew Rybchenko #define ERE_DZ_RX_DESC_MAGIC_CMD_PS_CREDITS 0 6688e0c4827SAndrew Rybchenko 6698e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_DATA_LBN 0 6708e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_DATA_WIDTH 8 6718e0c4827SAndrew Rybchenko 6728e0c4827SAndrew Rybchenko /* Packed stream RX packet prefix */ 6738e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_TSTAMP_LBN 0 6748e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_TSTAMP_WIDTH 32 6758e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_CAP_LEN_LBN 32 6768e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_CAP_LEN_WIDTH 16 6778e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_ORIG_LEN_LBN 48 6788e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_ORIG_LEN_WIDTH 16 6798e0c4827SAndrew Rybchenko 680d222b617SAndrew Rybchenko /* Equal stride super-buffer RX packet prefix (see SF-119419-TC) */ 681d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_LEN 8 682d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_DATA_LEN_LBN 0 683d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_DATA_LEN_WIDTH 16 684d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MARK_LBN 16 685d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MARK_WIDTH 8 686d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_HASH_VALID_LBN 28 687d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_HASH_VALID_WIDTH 1 688d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MARK_VALID_LBN 29 689d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MARK_VALID_WIDTH 1 690d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MATCH_FLAG_LBN 30 691d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MATCH_FLAG_WIDTH 1 692d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_HASH_LBN 32 693d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_HASH_WIDTH 32 694d222b617SAndrew Rybchenko 6958e0c4827SAndrew Rybchenko /* 6968e0c4827SAndrew Rybchenko * An extra flag for the packed stream mode, 6978e0c4827SAndrew Rybchenko * signalling the start of a new buffer 6988e0c4827SAndrew Rybchenko */ 6998e0c4827SAndrew Rybchenko #define ESF_DZ_RX_EV_ROTATE_LBN 53 7008e0c4827SAndrew Rybchenko #define ESF_DZ_RX_EV_ROTATE_WIDTH 1 701946b5480SAndrew Rybchenko 702e948693eSPhilip Paeps #ifdef __cplusplus 703e948693eSPhilip Paeps } 704e948693eSPhilip Paeps #endif 705e948693eSPhilip Paeps 706e948693eSPhilip Paeps #endif /* _SYS_EFX_EF10_REGS_H */ 707