1e948693eSPhilip Paeps /*- 2718cf2ccSPedro F. Giffuni * SPDX-License-Identifier: BSD-2-Clause-FreeBSD 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. 315dee87d7SPhilip Paeps * 325dee87d7SPhilip Paeps * $FreeBSD$ 33e948693eSPhilip Paeps */ 34e948693eSPhilip Paeps 35e948693eSPhilip Paeps #ifndef _SYS_EFX_EF10_REGS_H 36e948693eSPhilip Paeps #define _SYS_EFX_EF10_REGS_H 37e948693eSPhilip Paeps 38e948693eSPhilip Paeps #ifdef __cplusplus 39e948693eSPhilip Paeps extern "C" { 40e948693eSPhilip Paeps #endif 41e948693eSPhilip Paeps 42946b5480SAndrew Rybchenko /************************************************************************** 43946b5480SAndrew Rybchenko * NOTE: the line below marks the start of the autogenerated section 44946b5480SAndrew Rybchenko * EF10 registers and descriptors 45946b5480SAndrew Rybchenko * 46946b5480SAndrew Rybchenko ************************************************************************** 47946b5480SAndrew Rybchenko */ 48946b5480SAndrew Rybchenko 49e948693eSPhilip Paeps /* 50e948693eSPhilip Paeps * BIU_HW_REV_ID_REG(32bit): 51e948693eSPhilip Paeps * 52e948693eSPhilip Paeps */ 53e948693eSPhilip Paeps 543c838a9fSAndrew Rybchenko #define ER_DZ_BIU_HW_REV_ID_REG_OFST 0x00000000 55f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 563c838a9fSAndrew Rybchenko #define ER_DZ_BIU_HW_REV_ID_REG_RESET 0xeb14face 573c838a9fSAndrew Rybchenko 58e948693eSPhilip Paeps 59e948693eSPhilip Paeps #define ERF_DZ_HW_REV_ID_LBN 0 60e948693eSPhilip Paeps #define ERF_DZ_HW_REV_ID_WIDTH 32 61e948693eSPhilip Paeps 62e948693eSPhilip Paeps 63e948693eSPhilip Paeps /* 64e948693eSPhilip Paeps * BIU_MC_SFT_STATUS_REG(32bit): 65e948693eSPhilip Paeps * 66e948693eSPhilip Paeps */ 67e948693eSPhilip Paeps 683c838a9fSAndrew Rybchenko #define ER_DZ_BIU_MC_SFT_STATUS_REG_OFST 0x00000010 69f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 70e948693eSPhilip Paeps #define ER_DZ_BIU_MC_SFT_STATUS_REG_STEP 4 71e948693eSPhilip Paeps #define ER_DZ_BIU_MC_SFT_STATUS_REG_ROWS 8 723c838a9fSAndrew Rybchenko #define ER_DZ_BIU_MC_SFT_STATUS_REG_RESET 0x1111face 733c838a9fSAndrew Rybchenko 74e948693eSPhilip Paeps 75e948693eSPhilip Paeps #define ERF_DZ_MC_SFT_STATUS_LBN 0 76e948693eSPhilip Paeps #define ERF_DZ_MC_SFT_STATUS_WIDTH 32 77e948693eSPhilip Paeps 78e948693eSPhilip Paeps 79e948693eSPhilip Paeps /* 80e948693eSPhilip Paeps * BIU_INT_ISR_REG(32bit): 81e948693eSPhilip Paeps * 82e948693eSPhilip Paeps */ 83e948693eSPhilip Paeps 843c838a9fSAndrew Rybchenko #define ER_DZ_BIU_INT_ISR_REG_OFST 0x00000090 85f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 863c838a9fSAndrew Rybchenko #define ER_DZ_BIU_INT_ISR_REG_RESET 0x0 873c838a9fSAndrew Rybchenko 88e948693eSPhilip Paeps 89e948693eSPhilip Paeps #define ERF_DZ_ISR_REG_LBN 0 90e948693eSPhilip Paeps #define ERF_DZ_ISR_REG_WIDTH 32 91e948693eSPhilip Paeps 92e948693eSPhilip Paeps 93e948693eSPhilip Paeps /* 94e948693eSPhilip Paeps * MC_DB_LWRD_REG(32bit): 95e948693eSPhilip Paeps * 96e948693eSPhilip Paeps */ 97e948693eSPhilip Paeps 983c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_LWRD_REG_OFST 0x00000200 99f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 1003c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_LWRD_REG_RESET 0x0 1013c838a9fSAndrew Rybchenko 102e948693eSPhilip Paeps 103e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_L_LBN 0 104e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_L_WIDTH 32 105e948693eSPhilip Paeps 106e948693eSPhilip Paeps 107e948693eSPhilip Paeps /* 108e948693eSPhilip Paeps * MC_DB_HWRD_REG(32bit): 109e948693eSPhilip Paeps * 110e948693eSPhilip Paeps */ 111e948693eSPhilip Paeps 1123c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_HWRD_REG_OFST 0x00000204 113f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 1143c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_HWRD_REG_RESET 0x0 1153c838a9fSAndrew Rybchenko 116e948693eSPhilip Paeps 117e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_H_LBN 0 118e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_H_WIDTH 32 119e948693eSPhilip Paeps 120e948693eSPhilip Paeps 121e948693eSPhilip Paeps /* 122e948693eSPhilip Paeps * EVQ_RPTR_REG(32bit): 123e948693eSPhilip Paeps * 124e948693eSPhilip Paeps */ 125e948693eSPhilip Paeps 1263c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_RPTR_REG_OFST 0x00000400 127f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 1283c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_RPTR_REG_STEP 8192 129e948693eSPhilip Paeps #define ER_DZ_EVQ_RPTR_REG_ROWS 2048 1303c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_RPTR_REG_RESET 0x0 1313c838a9fSAndrew Rybchenko 132e948693eSPhilip Paeps 133e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_VLD_LBN 15 134e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_VLD_WIDTH 1 135e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_LBN 0 136e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_WIDTH 15 137e948693eSPhilip Paeps 138e948693eSPhilip Paeps 139e948693eSPhilip Paeps /* 140f2f14997SAndrew Rybchenko * EVQ_RPTR_REG_64K(32bit): 141f2f14997SAndrew Rybchenko * 142f2f14997SAndrew Rybchenko */ 143f2f14997SAndrew Rybchenko 144f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_64K_OFST 0x00000400 145f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 146f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_64K_STEP 65536 147f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_64K_ROWS 2048 148f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_64K_RESET 0x0 149f2f14997SAndrew Rybchenko 150f2f14997SAndrew Rybchenko 151f2f14997SAndrew Rybchenko #define ERF_FZ_EVQ_RPTR_VLD_LBN 15 152f2f14997SAndrew Rybchenko #define ERF_FZ_EVQ_RPTR_VLD_WIDTH 1 153f2f14997SAndrew Rybchenko #define ERF_FZ_EVQ_RPTR_LBN 0 154f2f14997SAndrew Rybchenko #define ERF_FZ_EVQ_RPTR_WIDTH 15 155f2f14997SAndrew Rybchenko 156f2f14997SAndrew Rybchenko 157f2f14997SAndrew Rybchenko /* 158f2f14997SAndrew Rybchenko * EVQ_RPTR_REG_16K(32bit): 159f2f14997SAndrew Rybchenko * 160f2f14997SAndrew Rybchenko */ 161f2f14997SAndrew Rybchenko 162f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_16K_OFST 0x00000400 163f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 164f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_16K_STEP 16384 165f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_16K_ROWS 2048 166f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_RPTR_REG_16K_RESET 0x0 167f2f14997SAndrew Rybchenko 168f2f14997SAndrew Rybchenko 169f2f14997SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_VLD_LBN 15; */ 170f2f14997SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_VLD_WIDTH 1 */ 171f2f14997SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_LBN 0; */ 172f2f14997SAndrew Rybchenko /* defined as ERF_FZ_EVQ_RPTR_WIDTH 15 */ 173f2f14997SAndrew Rybchenko 174f2f14997SAndrew Rybchenko 175f2f14997SAndrew Rybchenko /* 176f2f14997SAndrew Rybchenko * EVQ_TMR_REG_64K(32bit): 177f2f14997SAndrew Rybchenko * 178f2f14997SAndrew Rybchenko */ 179f2f14997SAndrew Rybchenko 180f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_64K_OFST 0x00000420 181f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 182f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_64K_STEP 65536 183f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_64K_ROWS 2048 184f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_64K_RESET 0x0 185f2f14997SAndrew Rybchenko 186f2f14997SAndrew Rybchenko 1872222409bSAndrew Rybchenko #define ERF_FZ_TC_TMR_REL_VAL_LBN 16 1882222409bSAndrew Rybchenko #define ERF_FZ_TC_TMR_REL_VAL_WIDTH 14 189f2f14997SAndrew Rybchenko #define ERF_FZ_TC_TIMER_MODE_LBN 14 190f2f14997SAndrew Rybchenko #define ERF_FZ_TC_TIMER_MODE_WIDTH 2 191f2f14997SAndrew Rybchenko #define ERF_FZ_TC_TIMER_VAL_LBN 0 192f2f14997SAndrew Rybchenko #define ERF_FZ_TC_TIMER_VAL_WIDTH 14 193f2f14997SAndrew Rybchenko 194f2f14997SAndrew Rybchenko 195f2f14997SAndrew Rybchenko /* 196f2f14997SAndrew Rybchenko * EVQ_TMR_REG_16K(32bit): 197f2f14997SAndrew Rybchenko * 198f2f14997SAndrew Rybchenko */ 199f2f14997SAndrew Rybchenko 200f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_16K_OFST 0x00000420 201f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 202f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_16K_STEP 16384 203f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_16K_ROWS 2048 204f2f14997SAndrew Rybchenko #define ER_FZ_EVQ_TMR_REG_16K_RESET 0x0 205f2f14997SAndrew Rybchenko 206f2f14997SAndrew Rybchenko 2072222409bSAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_LBN 16; */ 2082222409bSAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_WIDTH 14 */ 209f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_MODE_LBN 14; */ 210f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_MODE_WIDTH 2 */ 211f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_VAL_LBN 0; */ 212f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TC_TIMER_VAL_WIDTH 14 */ 213f2f14997SAndrew Rybchenko 214f2f14997SAndrew Rybchenko 215f2f14997SAndrew Rybchenko /* 216e948693eSPhilip Paeps * EVQ_TMR_REG(32bit): 217e948693eSPhilip Paeps * 218e948693eSPhilip Paeps */ 219e948693eSPhilip Paeps 2203c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_TMR_REG_OFST 0x00000420 221f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 2223c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_TMR_REG_STEP 8192 223e948693eSPhilip Paeps #define ER_DZ_EVQ_TMR_REG_ROWS 2048 2243c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_TMR_REG_RESET 0x0 2253c838a9fSAndrew Rybchenko 226e948693eSPhilip Paeps 2272222409bSAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_LBN 16; */ 2282222409bSAndrew Rybchenko /* defined as ERF_FZ_TC_TMR_REL_VAL_WIDTH 14 */ 229e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_MODE_LBN 14 230e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_MODE_WIDTH 2 231e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_VAL_LBN 0 232e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_VAL_WIDTH 14 233e948693eSPhilip Paeps 234e948693eSPhilip Paeps 235e948693eSPhilip Paeps /* 236f2f14997SAndrew Rybchenko * RX_DESC_UPD_REG_16K(32bit): 237f2f14997SAndrew Rybchenko * 238f2f14997SAndrew Rybchenko */ 239f2f14997SAndrew Rybchenko 240f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_16K_OFST 0x00000830 241f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 242f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_16K_STEP 16384 243f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_16K_ROWS 2048 244f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_16K_RESET 0x0 245f2f14997SAndrew Rybchenko 246f2f14997SAndrew Rybchenko 247f2f14997SAndrew Rybchenko #define ERF_FZ_RX_DESC_WPTR_LBN 0 248f2f14997SAndrew Rybchenko #define ERF_FZ_RX_DESC_WPTR_WIDTH 12 249f2f14997SAndrew Rybchenko 250f2f14997SAndrew Rybchenko 251f2f14997SAndrew Rybchenko /* 252e948693eSPhilip Paeps * RX_DESC_UPD_REG(32bit): 253e948693eSPhilip Paeps * 254e948693eSPhilip Paeps */ 255e948693eSPhilip Paeps 2563c838a9fSAndrew Rybchenko #define ER_DZ_RX_DESC_UPD_REG_OFST 0x00000830 257f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 2583c838a9fSAndrew Rybchenko #define ER_DZ_RX_DESC_UPD_REG_STEP 8192 259e948693eSPhilip Paeps #define ER_DZ_RX_DESC_UPD_REG_ROWS 2048 2603c838a9fSAndrew Rybchenko #define ER_DZ_RX_DESC_UPD_REG_RESET 0x0 2613c838a9fSAndrew Rybchenko 262e948693eSPhilip Paeps 263e948693eSPhilip Paeps #define ERF_DZ_RX_DESC_WPTR_LBN 0 264e948693eSPhilip Paeps #define ERF_DZ_RX_DESC_WPTR_WIDTH 12 265e948693eSPhilip Paeps 266f2f14997SAndrew Rybchenko 267f2f14997SAndrew Rybchenko /* 268f2f14997SAndrew Rybchenko * RX_DESC_UPD_REG_64K(32bit): 269f2f14997SAndrew Rybchenko * 270f2f14997SAndrew Rybchenko */ 271f2f14997SAndrew Rybchenko 272f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_64K_OFST 0x00000830 273f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 274f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_64K_STEP 65536 275f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_64K_ROWS 2048 276f2f14997SAndrew Rybchenko #define ER_FZ_RX_DESC_UPD_REG_64K_RESET 0x0 277f2f14997SAndrew Rybchenko 278f2f14997SAndrew Rybchenko 279f2f14997SAndrew Rybchenko /* defined as ERF_FZ_RX_DESC_WPTR_LBN 0; */ 280f2f14997SAndrew Rybchenko /* defined as ERF_FZ_RX_DESC_WPTR_WIDTH 12 */ 281f2f14997SAndrew Rybchenko 282f2f14997SAndrew Rybchenko 283f2f14997SAndrew Rybchenko /* 284f2f14997SAndrew Rybchenko * TX_DESC_UPD_REG_64K(96bit): 285f2f14997SAndrew Rybchenko * 286f2f14997SAndrew Rybchenko */ 287f2f14997SAndrew Rybchenko 288f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_64K_OFST 0x00000a10 289f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 290f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_64K_STEP 65536 291f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_64K_ROWS 2048 292f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_64K_RESET 0x0 293f2f14997SAndrew Rybchenko 294f2f14997SAndrew Rybchenko 295f2f14997SAndrew Rybchenko #define ERF_FZ_RSVD_LBN 76 296f2f14997SAndrew Rybchenko #define ERF_FZ_RSVD_WIDTH 20 297f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_WPTR_LBN 64 298f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_WPTR_WIDTH 12 299f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_HWORD_LBN 32 300f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_HWORD_WIDTH 32 301f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_LWORD_LBN 0 302f2f14997SAndrew Rybchenko #define ERF_FZ_TX_DESC_LWORD_WIDTH 32 303f2f14997SAndrew Rybchenko 304f2f14997SAndrew Rybchenko 305f2f14997SAndrew Rybchenko /* 306f2f14997SAndrew Rybchenko * TX_DESC_UPD_REG_16K(96bit): 307f2f14997SAndrew Rybchenko * 308f2f14997SAndrew Rybchenko */ 309f2f14997SAndrew Rybchenko 310f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_16K_OFST 0x00000a10 311f2f14997SAndrew Rybchenko /* medford2a0=pf_dbell_bar */ 312f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_16K_STEP 16384 313f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_16K_ROWS 2048 314f2f14997SAndrew Rybchenko #define ER_FZ_TX_DESC_UPD_REG_16K_RESET 0x0 315f2f14997SAndrew Rybchenko 316f2f14997SAndrew Rybchenko 317f2f14997SAndrew Rybchenko /* defined as ERF_FZ_RSVD_LBN 76; */ 318f2f14997SAndrew Rybchenko /* defined as ERF_FZ_RSVD_WIDTH 20 */ 319f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_WPTR_LBN 64; */ 320f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_WPTR_WIDTH 12 */ 321f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_HWORD_LBN 32; */ 322f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_HWORD_WIDTH 32 */ 323f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_LWORD_LBN 0; */ 324f2f14997SAndrew Rybchenko /* defined as ERF_FZ_TX_DESC_LWORD_WIDTH 32 */ 325f2f14997SAndrew Rybchenko 326f2f14997SAndrew Rybchenko 327e948693eSPhilip Paeps /* 3283c838a9fSAndrew Rybchenko * TX_DESC_UPD_REG(96bit): 329e948693eSPhilip Paeps * 330e948693eSPhilip Paeps */ 331e948693eSPhilip Paeps 3323c838a9fSAndrew Rybchenko #define ER_DZ_TX_DESC_UPD_REG_OFST 0x00000a10 333f2f14997SAndrew Rybchenko /* hunta0,medforda0,medford2a0=pf_dbell_bar */ 3343c838a9fSAndrew Rybchenko #define ER_DZ_TX_DESC_UPD_REG_STEP 8192 335e948693eSPhilip Paeps #define ER_DZ_TX_DESC_UPD_REG_ROWS 2048 3363c838a9fSAndrew Rybchenko #define ER_DZ_TX_DESC_UPD_REG_RESET 0x0 337e948693eSPhilip Paeps 3383c838a9fSAndrew Rybchenko 3393c838a9fSAndrew Rybchenko #define ERF_DZ_RSVD_LBN 76 3403c838a9fSAndrew Rybchenko #define ERF_DZ_RSVD_WIDTH 20 341e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_WPTR_LBN 64 342e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_WPTR_WIDTH 12 343e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_HWORD_LBN 32 344e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_HWORD_WIDTH 32 345e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_LWORD_LBN 0 346e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_LWORD_WIDTH 32 347e948693eSPhilip Paeps 348f8806762SAndrew Rybchenko 349e948693eSPhilip Paeps /* ES_DRIVER_EV */ 350e948693eSPhilip Paeps #define ESF_DZ_DRV_CODE_LBN 60 351e948693eSPhilip Paeps #define ESF_DZ_DRV_CODE_WIDTH 4 352e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_CODE_LBN 56 353e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_CODE_WIDTH 4 3543c838a9fSAndrew Rybchenko #define ESE_DZ_DRV_TIMER_EV 3 3553c838a9fSAndrew Rybchenko #define ESE_DZ_DRV_START_UP_EV 2 3563c838a9fSAndrew Rybchenko #define ESE_DZ_DRV_WAKE_UP_EV 1 357e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW0_LBN 0 358e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW0_WIDTH 32 359e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW1_LBN 32 360e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW1_WIDTH 24 361e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_LBN 0 362e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_WIDTH 56 363e948693eSPhilip Paeps #define ESF_DZ_DRV_EVQ_ID_LBN 0 364e948693eSPhilip Paeps #define ESF_DZ_DRV_EVQ_ID_WIDTH 14 365e948693eSPhilip Paeps #define ESF_DZ_DRV_TMR_ID_LBN 0 366e948693eSPhilip Paeps #define ESF_DZ_DRV_TMR_ID_WIDTH 14 367e948693eSPhilip Paeps 368e948693eSPhilip Paeps 369e948693eSPhilip Paeps /* ES_EVENT_ENTRY */ 370e948693eSPhilip Paeps #define ESF_DZ_EV_CODE_LBN 60 371e948693eSPhilip Paeps #define ESF_DZ_EV_CODE_WIDTH 4 372e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_MCDI_EV 12 373e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_DRIVER_EV 5 374e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_TX_EV 2 375e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_RX_EV 0 376e948693eSPhilip Paeps #define ESE_DZ_OTHER other 377e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW0_LBN 0 378e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW0_WIDTH 32 379e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW1_LBN 32 380e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW1_WIDTH 28 381e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_LBN 0 382e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_WIDTH 60 383e948693eSPhilip Paeps 384e948693eSPhilip Paeps 385e948693eSPhilip Paeps /* ES_MC_EVENT */ 386e948693eSPhilip Paeps #define ESF_DZ_MC_CODE_LBN 60 387e948693eSPhilip Paeps #define ESF_DZ_MC_CODE_WIDTH 4 388e948693eSPhilip Paeps #define ESF_DZ_MC_OVERRIDE_HOLDOFF_LBN 59 389e948693eSPhilip Paeps #define ESF_DZ_MC_OVERRIDE_HOLDOFF_WIDTH 1 390e948693eSPhilip Paeps #define ESF_DZ_MC_DROP_EVENT_LBN 58 391e948693eSPhilip Paeps #define ESF_DZ_MC_DROP_EVENT_WIDTH 1 392e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW0_LBN 0 393e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW0_WIDTH 32 394e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW1_LBN 32 395e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW1_WIDTH 26 396e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_LBN 0 397e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_WIDTH 58 398e948693eSPhilip Paeps 399e948693eSPhilip Paeps 400e948693eSPhilip Paeps /* ES_RX_EVENT */ 401e948693eSPhilip Paeps #define ESF_DZ_RX_CODE_LBN 60 402e948693eSPhilip Paeps #define ESF_DZ_RX_CODE_WIDTH 4 403e948693eSPhilip Paeps #define ESF_DZ_RX_OVERRIDE_HOLDOFF_LBN 59 404e948693eSPhilip Paeps #define ESF_DZ_RX_OVERRIDE_HOLDOFF_WIDTH 1 405e948693eSPhilip Paeps #define ESF_DZ_RX_DROP_EVENT_LBN 58 406e948693eSPhilip Paeps #define ESF_DZ_RX_DROP_EVENT_WIDTH 1 407e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_RSVD2_LBN 54 408e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_RSVD2_WIDTH 4 409e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_LBN 57 410e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1 411e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_IP_INNER_CHKSUM_ERR_LBN 56 412e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_IP_INNER_CHKSUM_ERR_WIDTH 1 413e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_RSVD2_LBN 54 414e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_RSVD2_WIDTH 2 415e948693eSPhilip Paeps #define ESF_DZ_RX_EV_SOFT2_LBN 52 4163c838a9fSAndrew Rybchenko #define ESF_DZ_RX_EV_SOFT2_WIDTH 2 417e948693eSPhilip Paeps #define ESF_DZ_RX_DSC_PTR_LBITS_LBN 48 418e948693eSPhilip Paeps #define ESF_DZ_RX_DSC_PTR_LBITS_WIDTH 4 419f2f14997SAndrew Rybchenko #define ESF_DE_RX_L4_CLASS_LBN 45 420f2f14997SAndrew Rybchenko #define ESF_DE_RX_L4_CLASS_WIDTH 3 421f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_RSVD7 7 422f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_RSVD6 6 423f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_RSVD5 5 424f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_RSVD4 4 425f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_RSVD3 3 426f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_UDP 2 427f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_TCP 1 428f2f14997SAndrew Rybchenko #define ESE_DE_L4_CLASS_UNKNOWN 0 429f2f14997SAndrew Rybchenko #define ESF_FZ_RX_FASTPD_INDCTR_LBN 47 430f2f14997SAndrew Rybchenko #define ESF_FZ_RX_FASTPD_INDCTR_WIDTH 1 431f2f14997SAndrew Rybchenko #define ESF_FZ_RX_L4_CLASS_LBN 45 432f2f14997SAndrew Rybchenko #define ESF_FZ_RX_L4_CLASS_WIDTH 2 433f2f14997SAndrew Rybchenko #define ESE_FZ_L4_CLASS_RSVD3 3 434f2f14997SAndrew Rybchenko #define ESE_FZ_L4_CLASS_UDP 2 435f2f14997SAndrew Rybchenko #define ESE_FZ_L4_CLASS_TCP 1 436f2f14997SAndrew Rybchenko #define ESE_FZ_L4_CLASS_UNKNOWN 0 437e948693eSPhilip Paeps #define ESF_DZ_RX_L3_CLASS_LBN 42 438e948693eSPhilip Paeps #define ESF_DZ_RX_L3_CLASS_WIDTH 3 439e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_RSVD7 7 440e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP6_FRAG 6 441e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_ARP 5 442e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP4_FRAG 4 443e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_FCOE 3 444e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP6 2 445e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP4 1 446e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_UNKNOWN 0 447e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_TAG_CLASS_LBN 39 448e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_TAG_CLASS_WIDTH 3 449e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD7 7 450e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD6 6 451e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD5 5 452e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD4 4 453e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD3 3 454e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_VLAN2 2 455e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_VLAN1 1 456e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_NONE 0 457e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_BASE_CLASS_LBN 36 458e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_BASE_CLASS_WIDTH 3 459e948693eSPhilip Paeps #define ESE_DZ_ETH_BASE_CLASS_LLC_SNAP 2 460e948693eSPhilip Paeps #define ESE_DZ_ETH_BASE_CLASS_LLC 1 461e948693eSPhilip Paeps #define ESE_DZ_ETH_BASE_CLASS_ETH2 0 462e948693eSPhilip Paeps #define ESF_DZ_RX_MAC_CLASS_LBN 35 463e948693eSPhilip Paeps #define ESF_DZ_RX_MAC_CLASS_WIDTH 1 464e948693eSPhilip Paeps #define ESE_DZ_MAC_CLASS_MCAST 1 465e948693eSPhilip Paeps #define ESE_DZ_MAC_CLASS_UCAST 0 466e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_SOFT1_LBN 32 467e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_SOFT1_WIDTH 3 468e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_SOFT1_LBN 34 469e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_SOFT1_WIDTH 1 470e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_ENCAP_HDR_LBN 32 471e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_ENCAP_HDR_WIDTH 2 472e78e1b4dSAndrew Rybchenko #define ESE_EZ_ENCAP_HDR_GRE 2 473e78e1b4dSAndrew Rybchenko #define ESE_EZ_ENCAP_HDR_VXLAN 1 474e78e1b4dSAndrew Rybchenko #define ESE_EZ_ENCAP_HDR_NONE 0 475e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_RSVD1_LBN 30 476e78e1b4dSAndrew Rybchenko #define ESF_DD_RX_EV_RSVD1_WIDTH 2 477e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_RSVD1_LBN 31 478e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_EV_RSVD1_WIDTH 1 479e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_ABORT_LBN 30 480e78e1b4dSAndrew Rybchenko #define ESF_EZ_RX_ABORT_WIDTH 1 481e948693eSPhilip Paeps #define ESF_DZ_RX_ECC_ERR_LBN 29 482e948693eSPhilip Paeps #define ESF_DZ_RX_ECC_ERR_WIDTH 1 4838bff5a20SAndrew Rybchenko #define ESF_DZ_RX_TRUNC_ERR_LBN 29 4848bff5a20SAndrew Rybchenko #define ESF_DZ_RX_TRUNC_ERR_WIDTH 1 485e948693eSPhilip Paeps #define ESF_DZ_RX_CRC1_ERR_LBN 28 486e948693eSPhilip Paeps #define ESF_DZ_RX_CRC1_ERR_WIDTH 1 487e948693eSPhilip Paeps #define ESF_DZ_RX_CRC0_ERR_LBN 27 488e948693eSPhilip Paeps #define ESF_DZ_RX_CRC0_ERR_WIDTH 1 489e948693eSPhilip Paeps #define ESF_DZ_RX_TCPUDP_CKSUM_ERR_LBN 26 490e948693eSPhilip Paeps #define ESF_DZ_RX_TCPUDP_CKSUM_ERR_WIDTH 1 491e948693eSPhilip Paeps #define ESF_DZ_RX_IPCKSUM_ERR_LBN 25 492e948693eSPhilip Paeps #define ESF_DZ_RX_IPCKSUM_ERR_WIDTH 1 493e948693eSPhilip Paeps #define ESF_DZ_RX_ECRC_ERR_LBN 24 494e948693eSPhilip Paeps #define ESF_DZ_RX_ECRC_ERR_WIDTH 1 495e948693eSPhilip Paeps #define ESF_DZ_RX_QLABEL_LBN 16 4963c838a9fSAndrew Rybchenko #define ESF_DZ_RX_QLABEL_WIDTH 5 497e948693eSPhilip Paeps #define ESF_DZ_RX_PARSE_INCOMPLETE_LBN 15 498e948693eSPhilip Paeps #define ESF_DZ_RX_PARSE_INCOMPLETE_WIDTH 1 499e948693eSPhilip Paeps #define ESF_DZ_RX_CONT_LBN 14 500e948693eSPhilip Paeps #define ESF_DZ_RX_CONT_WIDTH 1 501e948693eSPhilip Paeps #define ESF_DZ_RX_BYTES_LBN 0 502e948693eSPhilip Paeps #define ESF_DZ_RX_BYTES_WIDTH 14 503e948693eSPhilip Paeps 504e948693eSPhilip Paeps 505e948693eSPhilip Paeps /* ES_RX_KER_DESC */ 506e948693eSPhilip Paeps #define ESF_DZ_RX_KER_RESERVED_LBN 62 507e948693eSPhilip Paeps #define ESF_DZ_RX_KER_RESERVED_WIDTH 2 508e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BYTE_CNT_LBN 48 509e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BYTE_CNT_WIDTH 14 510e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW0_LBN 0 511e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW0_WIDTH 32 512e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW1_LBN 32 513e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW1_WIDTH 16 514e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_LBN 0 515e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_WIDTH 48 516e948693eSPhilip Paeps 517e948693eSPhilip Paeps 5183c838a9fSAndrew Rybchenko /* ES_TX_CSUM_TSTAMP_DESC */ 5193c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 5203c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 5213c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 5223c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 5233c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 5243c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 5253c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 526f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TS_AT_TXDP_LBN 8 527f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TS_AT_TXDP_WIDTH 1 528f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_LBN 7 529f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_WIDTH 1 530f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_IP_CSUM_LBN 6 531f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_IP_CSUM_WIDTH 1 5323c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TIMESTAMP_LBN 5 5333c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TIMESTAMP_WIDTH 1 5343c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_CRC_MODE_LBN 2 5353c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_CRC_MODE_WIDTH 3 5363c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_FCOIP_MPA 5 5373c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_FCOIP_FCOE 4 5383c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_ISCSI_HDR_AND_PYLD 3 5393c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_ISCSI_HDR 2 5403c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_FCOE 1 5413c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_OFF 0 5423c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_UDP_TCP_CSUM_LBN 1 5433c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_UDP_TCP_CSUM_WIDTH 1 5443c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_IP_CSUM_LBN 0 5453c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_IP_CSUM_WIDTH 1 5463c838a9fSAndrew Rybchenko 5473c838a9fSAndrew Rybchenko 548e948693eSPhilip Paeps /* ES_TX_EVENT */ 549e948693eSPhilip Paeps #define ESF_DZ_TX_CODE_LBN 60 550e948693eSPhilip Paeps #define ESF_DZ_TX_CODE_WIDTH 4 551e948693eSPhilip Paeps #define ESF_DZ_TX_OVERRIDE_HOLDOFF_LBN 59 552e948693eSPhilip Paeps #define ESF_DZ_TX_OVERRIDE_HOLDOFF_WIDTH 1 553e948693eSPhilip Paeps #define ESF_DZ_TX_DROP_EVENT_LBN 58 554e948693eSPhilip Paeps #define ESF_DZ_TX_DROP_EVENT_WIDTH 1 555e78e1b4dSAndrew Rybchenko #define ESF_DD_TX_EV_RSVD_LBN 48 556e78e1b4dSAndrew Rybchenko #define ESF_DD_TX_EV_RSVD_WIDTH 10 557e78e1b4dSAndrew Rybchenko #define ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_LBN 57 558e78e1b4dSAndrew Rybchenko #define ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1 559e78e1b4dSAndrew Rybchenko #define ESF_EZ_IP_INNER_CHKSUM_ERR_LBN 56 560e78e1b4dSAndrew Rybchenko #define ESF_EZ_IP_INNER_CHKSUM_ERR_WIDTH 1 561e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_EV_RSVD_LBN 48 562e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_EV_RSVD_WIDTH 8 563e948693eSPhilip Paeps #define ESF_DZ_TX_SOFT2_LBN 32 564e948693eSPhilip Paeps #define ESF_DZ_TX_SOFT2_WIDTH 16 565e78e1b4dSAndrew Rybchenko #define ESF_DD_TX_SOFT1_LBN 24 566e78e1b4dSAndrew Rybchenko #define ESF_DD_TX_SOFT1_WIDTH 8 567e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_CAN_MERGE_LBN 31 568e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_CAN_MERGE_WIDTH 1 569e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_SOFT1_LBN 24 570e78e1b4dSAndrew Rybchenko #define ESF_EZ_TX_SOFT1_WIDTH 7 571e948693eSPhilip Paeps #define ESF_DZ_TX_QLABEL_LBN 16 5723c838a9fSAndrew Rybchenko #define ESF_DZ_TX_QLABEL_WIDTH 5 573e948693eSPhilip Paeps #define ESF_DZ_TX_DESCR_INDX_LBN 0 574e948693eSPhilip Paeps #define ESF_DZ_TX_DESCR_INDX_WIDTH 16 575e948693eSPhilip Paeps 576e948693eSPhilip Paeps 577e948693eSPhilip Paeps /* ES_TX_KER_DESC */ 578e948693eSPhilip Paeps #define ESF_DZ_TX_KER_TYPE_LBN 63 579e948693eSPhilip Paeps #define ESF_DZ_TX_KER_TYPE_WIDTH 1 580e948693eSPhilip Paeps #define ESF_DZ_TX_KER_CONT_LBN 62 581e948693eSPhilip Paeps #define ESF_DZ_TX_KER_CONT_WIDTH 1 582e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BYTE_CNT_LBN 48 583e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BYTE_CNT_WIDTH 14 584e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW0_LBN 0 585e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW0_WIDTH 32 586e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW1_LBN 32 587e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW1_WIDTH 16 588e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_LBN 0 589e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_WIDTH 48 590e948693eSPhilip Paeps 591e948693eSPhilip Paeps 5923c838a9fSAndrew Rybchenko /* ES_TX_PIO_DESC */ 5933c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_TYPE_LBN 63 5943c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_TYPE_WIDTH 1 5953c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_OPT_LBN 60 5963c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_OPT_WIDTH 3 5973c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_CONT_LBN 59 5983c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_CONT_WIDTH 1 5993c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BYTE_CNT_LBN 32 6003c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BYTE_CNT_WIDTH 12 6013c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BUF_ADDR_LBN 0 6023c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BUF_ADDR_WIDTH 12 6033c838a9fSAndrew Rybchenko 6043c838a9fSAndrew Rybchenko 6053c838a9fSAndrew Rybchenko /* ES_TX_TSO_DESC */ 606e948693eSPhilip Paeps #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 607e948693eSPhilip Paeps #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 608e948693eSPhilip Paeps #define ESF_DZ_TX_OPTION_TYPE_LBN 60 609e948693eSPhilip Paeps #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 6103c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 6113c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 612e948693eSPhilip Paeps #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 613f8806762SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 614f8806762SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 615f2f14997SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 616f2f14997SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 617f8806762SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 618f8806762SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 619e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_FLAGS_LBN 48 620e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_FLAGS_WIDTH 8 6213c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_LBN 32 6223c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_WIDTH 16 623e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0 624e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32 625e948693eSPhilip Paeps 626e948693eSPhilip Paeps 627f2f14997SAndrew Rybchenko /* ES_TX_TSO_V2_DESC_A */ 62851fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 62951fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 63051fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 63151fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 63251fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 63351fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 63451fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 63551fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 63651fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 63751fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 63851fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 63951fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 64051fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 64151fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_LBN 32 64251fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_WIDTH 16 64351fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0 64451fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32 64551fd6441SAndrew Rybchenko 64651fd6441SAndrew Rybchenko 647f2f14997SAndrew Rybchenko /* ES_TX_TSO_V2_DESC_B */ 64851fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 64951fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 65051fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 65151fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 65251fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 65351fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 65451fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 65551fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 65651fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 65751fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 65851fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 65951fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 66051fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 66151fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_MSS_LBN 32 66251fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_MSS_WIDTH 16 663f2f14997SAndrew Rybchenko #define ESF_DZ_TX_TSO_OUTER_IPID_LBN 0 664f2f14997SAndrew Rybchenko #define ESF_DZ_TX_TSO_OUTER_IPID_WIDTH 16 66551fd6441SAndrew Rybchenko 66651fd6441SAndrew Rybchenko 6673c838a9fSAndrew Rybchenko /* ES_TX_VLAN_DESC */ 6683c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 6693c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 6703c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 6713c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 6723c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 6733c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 6743c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 6753c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_OP_LBN 32 6763c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_OP_WIDTH 2 6773c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG2_LBN 16 6783c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG2_WIDTH 16 6793c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG1_LBN 0 6803c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG1_WIDTH 16 6813c838a9fSAndrew Rybchenko 6823c838a9fSAndrew Rybchenko 683946b5480SAndrew Rybchenko /************************************************************************* 684946b5480SAndrew Rybchenko * NOTE: the comment line above marks the end of the autogenerated section 685946b5480SAndrew Rybchenko */ 686946b5480SAndrew Rybchenko 687946b5480SAndrew Rybchenko /* 688946b5480SAndrew Rybchenko * The workaround for bug 35388 requires multiplexing writes through 689946b5480SAndrew Rybchenko * the ERF_DZ_TX_DESC_WPTR address. 690946b5480SAndrew Rybchenko * TX_DESC_UPD: 0ppppppppppp (bit 11 lost) 691946b5480SAndrew Rybchenko * EVQ_RPTR: 1000hhhhhhhh, 1001llllllll (split into high and low bits) 692946b5480SAndrew Rybchenko * EVQ_TMR: 11mmvvvvvvvv (bits 8:13 of value lost) 693946b5480SAndrew Rybchenko */ 694946b5480SAndrew Rybchenko #define ER_DD_EVQ_INDIRECT_OFST (ER_DZ_TX_DESC_UPD_REG_OFST + 2 * 4) 695946b5480SAndrew Rybchenko #define ER_DD_EVQ_INDIRECT_STEP ER_DZ_TX_DESC_UPD_REG_STEP 696946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_FLAGS_LBN 8 697946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_FLAGS_WIDTH 4 698946b5480SAndrew Rybchenko #define EFE_DD_EVQ_IND_RPTR_FLAGS_HIGH 8 699946b5480SAndrew Rybchenko #define EFE_DD_EVQ_IND_RPTR_FLAGS_LOW 9 700946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_LBN 0 701946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_WIDTH 8 702946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_FLAGS_LBN 10 703946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_FLAGS_WIDTH 2 704946b5480SAndrew Rybchenko #define EFE_DD_EVQ_IND_TIMER_FLAGS 3 705946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_MODE_LBN 8 706946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_MODE_WIDTH 2 707946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_VAL_LBN 0 708946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_VAL_WIDTH 8 709946b5480SAndrew Rybchenko 7108e0c4827SAndrew Rybchenko /* Packed stream magic doorbell command */ 7118e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_DOORBELL_LBN 11 7128e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_DOORBELL_WIDTH 1 7138e0c4827SAndrew Rybchenko 7148e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_CMD_LBN 8 7158e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_CMD_WIDTH 3 7168e0c4827SAndrew Rybchenko #define ERE_DZ_RX_DESC_MAGIC_CMD_PS_CREDITS 0 7178e0c4827SAndrew Rybchenko 7188e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_DATA_LBN 0 7198e0c4827SAndrew Rybchenko #define ERF_DZ_RX_DESC_MAGIC_DATA_WIDTH 8 7208e0c4827SAndrew Rybchenko 7218e0c4827SAndrew Rybchenko /* Packed stream RX packet prefix */ 7228e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_TSTAMP_LBN 0 7238e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_TSTAMP_WIDTH 32 7248e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_CAP_LEN_LBN 32 7258e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_CAP_LEN_WIDTH 16 7268e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_ORIG_LEN_LBN 48 7278e0c4827SAndrew Rybchenko #define ES_DZ_PS_RX_PREFIX_ORIG_LEN_WIDTH 16 7288e0c4827SAndrew Rybchenko 729*d222b617SAndrew Rybchenko /* Equal stride super-buffer RX packet prefix (see SF-119419-TC) */ 730*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_LEN 8 731*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_DATA_LEN_LBN 0 732*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_DATA_LEN_WIDTH 16 733*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MARK_LBN 16 734*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MARK_WIDTH 8 735*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_HASH_VALID_LBN 28 736*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_HASH_VALID_WIDTH 1 737*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MARK_VALID_LBN 29 738*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MARK_VALID_WIDTH 1 739*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MATCH_FLAG_LBN 30 740*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_MATCH_FLAG_WIDTH 1 741*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_HASH_LBN 32 742*d222b617SAndrew Rybchenko #define ES_EZ_ESSB_RX_PREFIX_HASH_WIDTH 32 743*d222b617SAndrew Rybchenko 7448e0c4827SAndrew Rybchenko /* 7458e0c4827SAndrew Rybchenko * An extra flag for the packed stream mode, 7468e0c4827SAndrew Rybchenko * signalling the start of a new buffer 7478e0c4827SAndrew Rybchenko */ 7488e0c4827SAndrew Rybchenko #define ESF_DZ_RX_EV_ROTATE_LBN 53 7498e0c4827SAndrew Rybchenko #define ESF_DZ_RX_EV_ROTATE_WIDTH 1 750946b5480SAndrew Rybchenko 751e948693eSPhilip Paeps #ifdef __cplusplus 752e948693eSPhilip Paeps } 753e948693eSPhilip Paeps #endif 754e948693eSPhilip Paeps 755e948693eSPhilip Paeps #endif /* _SYS_EFX_EF10_REGS_H */ 756