1e948693eSPhilip Paeps /*- 23c838a9fSAndrew Rybchenko * Copyright (c) 2007-2015 Solarflare Communications Inc. 33c838a9fSAndrew Rybchenko * All rights reserved. 4e948693eSPhilip Paeps * 5e948693eSPhilip Paeps * Redistribution and use in source and binary forms, with or without 63c838a9fSAndrew Rybchenko * modification, are permitted provided that the following conditions are met: 7e948693eSPhilip Paeps * 83c838a9fSAndrew Rybchenko * 1. Redistributions of source code must retain the above copyright notice, 93c838a9fSAndrew Rybchenko * this list of conditions and the following disclaimer. 103c838a9fSAndrew Rybchenko * 2. Redistributions in binary form must reproduce the above copyright notice, 113c838a9fSAndrew Rybchenko * this list of conditions and the following disclaimer in the documentation 123c838a9fSAndrew Rybchenko * and/or other materials provided with the distribution. 133c838a9fSAndrew Rybchenko * 143c838a9fSAndrew Rybchenko * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 153c838a9fSAndrew Rybchenko * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 163c838a9fSAndrew Rybchenko * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 173c838a9fSAndrew Rybchenko * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 183c838a9fSAndrew Rybchenko * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 193c838a9fSAndrew Rybchenko * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 203c838a9fSAndrew Rybchenko * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 213c838a9fSAndrew Rybchenko * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 223c838a9fSAndrew Rybchenko * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 233c838a9fSAndrew Rybchenko * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 243c838a9fSAndrew Rybchenko * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 253c838a9fSAndrew Rybchenko * 263c838a9fSAndrew Rybchenko * The views and conclusions contained in the software and documentation are 273c838a9fSAndrew Rybchenko * those of the authors and should not be interpreted as representing official 283c838a9fSAndrew Rybchenko * policies, either expressed or implied, of the FreeBSD Project. 295dee87d7SPhilip Paeps * 305dee87d7SPhilip Paeps * $FreeBSD$ 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 53e948693eSPhilip Paeps /* hunta0=pcie_pf_bar2 */ 543c838a9fSAndrew Rybchenko #define ER_DZ_BIU_HW_REV_ID_REG_RESET 0xeb14face 553c838a9fSAndrew Rybchenko 56e948693eSPhilip Paeps 57e948693eSPhilip Paeps #define ERF_DZ_HW_REV_ID_LBN 0 58e948693eSPhilip Paeps #define ERF_DZ_HW_REV_ID_WIDTH 32 59e948693eSPhilip Paeps 60e948693eSPhilip Paeps 61e948693eSPhilip Paeps /* 62e948693eSPhilip Paeps * BIU_MC_SFT_STATUS_REG(32bit): 63e948693eSPhilip Paeps * 64e948693eSPhilip Paeps */ 65e948693eSPhilip Paeps 663c838a9fSAndrew Rybchenko #define ER_DZ_BIU_MC_SFT_STATUS_REG_OFST 0x00000010 67e948693eSPhilip Paeps /* hunta0=pcie_pf_bar2 */ 68e948693eSPhilip Paeps #define ER_DZ_BIU_MC_SFT_STATUS_REG_STEP 4 69e948693eSPhilip Paeps #define ER_DZ_BIU_MC_SFT_STATUS_REG_ROWS 8 703c838a9fSAndrew Rybchenko #define ER_DZ_BIU_MC_SFT_STATUS_REG_RESET 0x1111face 713c838a9fSAndrew Rybchenko 72e948693eSPhilip Paeps 73e948693eSPhilip Paeps #define ERF_DZ_MC_SFT_STATUS_LBN 0 74e948693eSPhilip Paeps #define ERF_DZ_MC_SFT_STATUS_WIDTH 32 75e948693eSPhilip Paeps 76e948693eSPhilip Paeps 77e948693eSPhilip Paeps /* 78e948693eSPhilip Paeps * BIU_INT_ISR_REG(32bit): 79e948693eSPhilip Paeps * 80e948693eSPhilip Paeps */ 81e948693eSPhilip Paeps 823c838a9fSAndrew Rybchenko #define ER_DZ_BIU_INT_ISR_REG_OFST 0x00000090 83e948693eSPhilip Paeps /* hunta0=pcie_pf_bar2 */ 843c838a9fSAndrew Rybchenko #define ER_DZ_BIU_INT_ISR_REG_RESET 0x0 853c838a9fSAndrew Rybchenko 86e948693eSPhilip Paeps 87e948693eSPhilip Paeps #define ERF_DZ_ISR_REG_LBN 0 88e948693eSPhilip Paeps #define ERF_DZ_ISR_REG_WIDTH 32 89e948693eSPhilip Paeps 90e948693eSPhilip Paeps 91e948693eSPhilip Paeps /* 92e948693eSPhilip Paeps * MC_DB_LWRD_REG(32bit): 93e948693eSPhilip Paeps * 94e948693eSPhilip Paeps */ 95e948693eSPhilip Paeps 963c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_LWRD_REG_OFST 0x00000200 97e948693eSPhilip Paeps /* hunta0=pcie_pf_bar2 */ 983c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_LWRD_REG_RESET 0x0 993c838a9fSAndrew Rybchenko 100e948693eSPhilip Paeps 101e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_L_LBN 0 102e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_L_WIDTH 32 103e948693eSPhilip Paeps 104e948693eSPhilip Paeps 105e948693eSPhilip Paeps /* 106e948693eSPhilip Paeps * MC_DB_HWRD_REG(32bit): 107e948693eSPhilip Paeps * 108e948693eSPhilip Paeps */ 109e948693eSPhilip Paeps 1103c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_HWRD_REG_OFST 0x00000204 111e948693eSPhilip Paeps /* hunta0=pcie_pf_bar2 */ 1123c838a9fSAndrew Rybchenko #define ER_DZ_MC_DB_HWRD_REG_RESET 0x0 1133c838a9fSAndrew Rybchenko 114e948693eSPhilip Paeps 115e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_H_LBN 0 116e948693eSPhilip Paeps #define ERF_DZ_MC_DOORBELL_H_WIDTH 32 117e948693eSPhilip Paeps 118e948693eSPhilip Paeps 119e948693eSPhilip Paeps /* 120e948693eSPhilip Paeps * EVQ_RPTR_REG(32bit): 121e948693eSPhilip Paeps * 122e948693eSPhilip Paeps */ 123e948693eSPhilip Paeps 1243c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_RPTR_REG_OFST 0x00000400 125e948693eSPhilip Paeps /* hunta0=pcie_pf_bar2 */ 1263c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_RPTR_REG_STEP 8192 127e948693eSPhilip Paeps #define ER_DZ_EVQ_RPTR_REG_ROWS 2048 1283c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_RPTR_REG_RESET 0x0 1293c838a9fSAndrew Rybchenko 130e948693eSPhilip Paeps 131e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_VLD_LBN 15 132e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_VLD_WIDTH 1 133e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_LBN 0 134e948693eSPhilip Paeps #define ERF_DZ_EVQ_RPTR_WIDTH 15 135e948693eSPhilip Paeps 136e948693eSPhilip Paeps 137e948693eSPhilip Paeps /* 138e948693eSPhilip Paeps * EVQ_TMR_REG(32bit): 139e948693eSPhilip Paeps * 140e948693eSPhilip Paeps */ 141e948693eSPhilip Paeps 1423c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_TMR_REG_OFST 0x00000420 143e948693eSPhilip Paeps /* hunta0=pcie_pf_bar2 */ 1443c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_TMR_REG_STEP 8192 145e948693eSPhilip Paeps #define ER_DZ_EVQ_TMR_REG_ROWS 2048 1463c838a9fSAndrew Rybchenko #define ER_DZ_EVQ_TMR_REG_RESET 0x0 1473c838a9fSAndrew Rybchenko 148e948693eSPhilip Paeps 149e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_MODE_LBN 14 150e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_MODE_WIDTH 2 151e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_VAL_LBN 0 152e948693eSPhilip Paeps #define ERF_DZ_TC_TIMER_VAL_WIDTH 14 153e948693eSPhilip Paeps 154e948693eSPhilip Paeps 155e948693eSPhilip Paeps /* 156e948693eSPhilip Paeps * RX_DESC_UPD_REG(32bit): 157e948693eSPhilip Paeps * 158e948693eSPhilip Paeps */ 159e948693eSPhilip Paeps 1603c838a9fSAndrew Rybchenko #define ER_DZ_RX_DESC_UPD_REG_OFST 0x00000830 161e948693eSPhilip Paeps /* hunta0=pcie_pf_bar2 */ 1623c838a9fSAndrew Rybchenko #define ER_DZ_RX_DESC_UPD_REG_STEP 8192 163e948693eSPhilip Paeps #define ER_DZ_RX_DESC_UPD_REG_ROWS 2048 1643c838a9fSAndrew Rybchenko #define ER_DZ_RX_DESC_UPD_REG_RESET 0x0 1653c838a9fSAndrew Rybchenko 166e948693eSPhilip Paeps 167e948693eSPhilip Paeps #define ERF_DZ_RX_DESC_WPTR_LBN 0 168e948693eSPhilip Paeps #define ERF_DZ_RX_DESC_WPTR_WIDTH 12 169e948693eSPhilip Paeps 170e948693eSPhilip Paeps 171e948693eSPhilip Paeps /* 1723c838a9fSAndrew Rybchenko * TX_DESC_UPD_REG(96bit): 173e948693eSPhilip Paeps * 174e948693eSPhilip Paeps */ 175e948693eSPhilip Paeps 1763c838a9fSAndrew Rybchenko #define ER_DZ_TX_DESC_UPD_REG_OFST 0x00000a10 177e948693eSPhilip Paeps /* hunta0=pcie_pf_bar2 */ 1783c838a9fSAndrew Rybchenko #define ER_DZ_TX_DESC_UPD_REG_STEP 8192 179e948693eSPhilip Paeps #define ER_DZ_TX_DESC_UPD_REG_ROWS 2048 1803c838a9fSAndrew Rybchenko #define ER_DZ_TX_DESC_UPD_REG_RESET 0x0 181e948693eSPhilip Paeps 1823c838a9fSAndrew Rybchenko 1833c838a9fSAndrew Rybchenko #define ERF_DZ_RSVD_LBN 76 1843c838a9fSAndrew Rybchenko #define ERF_DZ_RSVD_WIDTH 20 185e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_WPTR_LBN 64 186e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_WPTR_WIDTH 12 187e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_HWORD_LBN 32 188e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_HWORD_WIDTH 32 189e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_LWORD_LBN 0 190e948693eSPhilip Paeps #define ERF_DZ_TX_DESC_LWORD_WIDTH 32 191e948693eSPhilip Paeps 192f8806762SAndrew Rybchenko 193e948693eSPhilip Paeps /* ES_DRIVER_EV */ 194e948693eSPhilip Paeps #define ESF_DZ_DRV_CODE_LBN 60 195e948693eSPhilip Paeps #define ESF_DZ_DRV_CODE_WIDTH 4 196e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_CODE_LBN 56 197e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_CODE_WIDTH 4 1983c838a9fSAndrew Rybchenko #define ESE_DZ_DRV_TIMER_EV 3 1993c838a9fSAndrew Rybchenko #define ESE_DZ_DRV_START_UP_EV 2 2003c838a9fSAndrew Rybchenko #define ESE_DZ_DRV_WAKE_UP_EV 1 201e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW0_LBN 0 202e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW0_WIDTH 32 203e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW1_LBN 32 204e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_DW1_WIDTH 24 205e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_LBN 0 206e948693eSPhilip Paeps #define ESF_DZ_DRV_SUB_DATA_WIDTH 56 207e948693eSPhilip Paeps #define ESF_DZ_DRV_EVQ_ID_LBN 0 208e948693eSPhilip Paeps #define ESF_DZ_DRV_EVQ_ID_WIDTH 14 209e948693eSPhilip Paeps #define ESF_DZ_DRV_TMR_ID_LBN 0 210e948693eSPhilip Paeps #define ESF_DZ_DRV_TMR_ID_WIDTH 14 211e948693eSPhilip Paeps 212e948693eSPhilip Paeps 213e948693eSPhilip Paeps /* ES_EVENT_ENTRY */ 214e948693eSPhilip Paeps #define ESF_DZ_EV_CODE_LBN 60 215e948693eSPhilip Paeps #define ESF_DZ_EV_CODE_WIDTH 4 216e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_MCDI_EV 12 217e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_DRIVER_EV 5 218e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_TX_EV 2 219e948693eSPhilip Paeps #define ESE_DZ_EV_CODE_RX_EV 0 220e948693eSPhilip Paeps #define ESE_DZ_OTHER other 221e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW0_LBN 0 222e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW0_WIDTH 32 223e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW1_LBN 32 224e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_DW1_WIDTH 28 225e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_LBN 0 226e948693eSPhilip Paeps #define ESF_DZ_EV_DATA_WIDTH 60 227e948693eSPhilip Paeps 228e948693eSPhilip Paeps 229e948693eSPhilip Paeps /* ES_MC_EVENT */ 230e948693eSPhilip Paeps #define ESF_DZ_MC_CODE_LBN 60 231e948693eSPhilip Paeps #define ESF_DZ_MC_CODE_WIDTH 4 232e948693eSPhilip Paeps #define ESF_DZ_MC_OVERRIDE_HOLDOFF_LBN 59 233e948693eSPhilip Paeps #define ESF_DZ_MC_OVERRIDE_HOLDOFF_WIDTH 1 234e948693eSPhilip Paeps #define ESF_DZ_MC_DROP_EVENT_LBN 58 235e948693eSPhilip Paeps #define ESF_DZ_MC_DROP_EVENT_WIDTH 1 236e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW0_LBN 0 237e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW0_WIDTH 32 238e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW1_LBN 32 239e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_DW1_WIDTH 26 240e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_LBN 0 241e948693eSPhilip Paeps #define ESF_DZ_MC_SOFT_WIDTH 58 242e948693eSPhilip Paeps 243e948693eSPhilip Paeps 244e948693eSPhilip Paeps /* ES_RX_EVENT */ 245e948693eSPhilip Paeps #define ESF_DZ_RX_CODE_LBN 60 246e948693eSPhilip Paeps #define ESF_DZ_RX_CODE_WIDTH 4 247e948693eSPhilip Paeps #define ESF_DZ_RX_OVERRIDE_HOLDOFF_LBN 59 248e948693eSPhilip Paeps #define ESF_DZ_RX_OVERRIDE_HOLDOFF_WIDTH 1 249e948693eSPhilip Paeps #define ESF_DZ_RX_DROP_EVENT_LBN 58 250e948693eSPhilip Paeps #define ESF_DZ_RX_DROP_EVENT_WIDTH 1 2513c838a9fSAndrew Rybchenko #define ESF_DZ_RX_EV_RSVD2_LBN 54 2523c838a9fSAndrew Rybchenko #define ESF_DZ_RX_EV_RSVD2_WIDTH 4 253e948693eSPhilip Paeps #define ESF_DZ_RX_EV_SOFT2_LBN 52 2543c838a9fSAndrew Rybchenko #define ESF_DZ_RX_EV_SOFT2_WIDTH 2 255e948693eSPhilip Paeps #define ESF_DZ_RX_DSC_PTR_LBITS_LBN 48 256e948693eSPhilip Paeps #define ESF_DZ_RX_DSC_PTR_LBITS_WIDTH 4 257e948693eSPhilip Paeps #define ESF_DZ_RX_L4_CLASS_LBN 45 258e948693eSPhilip Paeps #define ESF_DZ_RX_L4_CLASS_WIDTH 3 259e948693eSPhilip Paeps #define ESE_DZ_L4_CLASS_RSVD7 7 260e948693eSPhilip Paeps #define ESE_DZ_L4_CLASS_RSVD6 6 261e948693eSPhilip Paeps #define ESE_DZ_L4_CLASS_RSVD5 5 262e948693eSPhilip Paeps #define ESE_DZ_L4_CLASS_RSVD4 4 263e948693eSPhilip Paeps #define ESE_DZ_L4_CLASS_RSVD3 3 264e948693eSPhilip Paeps #define ESE_DZ_L4_CLASS_UDP 2 265e948693eSPhilip Paeps #define ESE_DZ_L4_CLASS_TCP 1 266e948693eSPhilip Paeps #define ESE_DZ_L4_CLASS_UNKNOWN 0 267e948693eSPhilip Paeps #define ESF_DZ_RX_L3_CLASS_LBN 42 268e948693eSPhilip Paeps #define ESF_DZ_RX_L3_CLASS_WIDTH 3 269e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_RSVD7 7 270e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP6_FRAG 6 271e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_ARP 5 272e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP4_FRAG 4 273e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_FCOE 3 274e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP6 2 275e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_IP4 1 276e948693eSPhilip Paeps #define ESE_DZ_L3_CLASS_UNKNOWN 0 277e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_TAG_CLASS_LBN 39 278e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_TAG_CLASS_WIDTH 3 279e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD7 7 280e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD6 6 281e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD5 5 282e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD4 4 283e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_RSVD3 3 284e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_VLAN2 2 285e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_VLAN1 1 286e948693eSPhilip Paeps #define ESE_DZ_ETH_TAG_CLASS_NONE 0 287e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_BASE_CLASS_LBN 36 288e948693eSPhilip Paeps #define ESF_DZ_RX_ETH_BASE_CLASS_WIDTH 3 289e948693eSPhilip Paeps #define ESE_DZ_ETH_BASE_CLASS_LLC_SNAP 2 290e948693eSPhilip Paeps #define ESE_DZ_ETH_BASE_CLASS_LLC 1 291e948693eSPhilip Paeps #define ESE_DZ_ETH_BASE_CLASS_ETH2 0 292e948693eSPhilip Paeps #define ESF_DZ_RX_MAC_CLASS_LBN 35 293e948693eSPhilip Paeps #define ESF_DZ_RX_MAC_CLASS_WIDTH 1 294e948693eSPhilip Paeps #define ESE_DZ_MAC_CLASS_MCAST 1 295e948693eSPhilip Paeps #define ESE_DZ_MAC_CLASS_UCAST 0 296e948693eSPhilip Paeps #define ESF_DZ_RX_EV_SOFT1_LBN 32 297e948693eSPhilip Paeps #define ESF_DZ_RX_EV_SOFT1_WIDTH 3 298f8806762SAndrew Rybchenko #define ESF_DZ_RX_EV_RSVD1_LBN 30 299f8806762SAndrew Rybchenko #define ESF_DZ_RX_EV_RSVD1_WIDTH 2 300e948693eSPhilip Paeps #define ESF_DZ_RX_ECC_ERR_LBN 29 301e948693eSPhilip Paeps #define ESF_DZ_RX_ECC_ERR_WIDTH 1 302e948693eSPhilip Paeps #define ESF_DZ_RX_CRC1_ERR_LBN 28 303e948693eSPhilip Paeps #define ESF_DZ_RX_CRC1_ERR_WIDTH 1 304e948693eSPhilip Paeps #define ESF_DZ_RX_CRC0_ERR_LBN 27 305e948693eSPhilip Paeps #define ESF_DZ_RX_CRC0_ERR_WIDTH 1 306e948693eSPhilip Paeps #define ESF_DZ_RX_TCPUDP_CKSUM_ERR_LBN 26 307e948693eSPhilip Paeps #define ESF_DZ_RX_TCPUDP_CKSUM_ERR_WIDTH 1 308e948693eSPhilip Paeps #define ESF_DZ_RX_IPCKSUM_ERR_LBN 25 309e948693eSPhilip Paeps #define ESF_DZ_RX_IPCKSUM_ERR_WIDTH 1 310e948693eSPhilip Paeps #define ESF_DZ_RX_ECRC_ERR_LBN 24 311e948693eSPhilip Paeps #define ESF_DZ_RX_ECRC_ERR_WIDTH 1 312e948693eSPhilip Paeps #define ESF_DZ_RX_QLABEL_LBN 16 3133c838a9fSAndrew Rybchenko #define ESF_DZ_RX_QLABEL_WIDTH 5 314e948693eSPhilip Paeps #define ESF_DZ_RX_PARSE_INCOMPLETE_LBN 15 315e948693eSPhilip Paeps #define ESF_DZ_RX_PARSE_INCOMPLETE_WIDTH 1 316e948693eSPhilip Paeps #define ESF_DZ_RX_CONT_LBN 14 317e948693eSPhilip Paeps #define ESF_DZ_RX_CONT_WIDTH 1 318e948693eSPhilip Paeps #define ESF_DZ_RX_BYTES_LBN 0 319e948693eSPhilip Paeps #define ESF_DZ_RX_BYTES_WIDTH 14 320e948693eSPhilip Paeps 321e948693eSPhilip Paeps 322e948693eSPhilip Paeps /* ES_RX_KER_DESC */ 323e948693eSPhilip Paeps #define ESF_DZ_RX_KER_RESERVED_LBN 62 324e948693eSPhilip Paeps #define ESF_DZ_RX_KER_RESERVED_WIDTH 2 325e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BYTE_CNT_LBN 48 326e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BYTE_CNT_WIDTH 14 327e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW0_LBN 0 328e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW0_WIDTH 32 329e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW1_LBN 32 330e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_DW1_WIDTH 16 331e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_LBN 0 332e948693eSPhilip Paeps #define ESF_DZ_RX_KER_BUF_ADDR_WIDTH 48 333e948693eSPhilip Paeps 334e948693eSPhilip Paeps 3353c838a9fSAndrew Rybchenko /* ES_TX_CSUM_TSTAMP_DESC */ 3363c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 3373c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 3383c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 3393c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 3403c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 3413c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 3423c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 343f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TS_AT_TXDP_LBN 8 344f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TS_AT_TXDP_WIDTH 1 345f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_LBN 7 346f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_WIDTH 1 347f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_IP_CSUM_LBN 6 348f8806762SAndrew Rybchenko #define ESF_DZ_TX_OPTION_INNER_IP_CSUM_WIDTH 1 3493c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TIMESTAMP_LBN 5 3503c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TIMESTAMP_WIDTH 1 3513c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_CRC_MODE_LBN 2 3523c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_CRC_MODE_WIDTH 3 3533c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_FCOIP_MPA 5 3543c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_FCOIP_FCOE 4 3553c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_ISCSI_HDR_AND_PYLD 3 3563c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_ISCSI_HDR 2 3573c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_FCOE 1 3583c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_CRC_OFF 0 3593c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_UDP_TCP_CSUM_LBN 1 3603c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_UDP_TCP_CSUM_WIDTH 1 3613c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_IP_CSUM_LBN 0 3623c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_IP_CSUM_WIDTH 1 3633c838a9fSAndrew Rybchenko 3643c838a9fSAndrew Rybchenko 365e948693eSPhilip Paeps /* ES_TX_EVENT */ 366e948693eSPhilip Paeps #define ESF_DZ_TX_CODE_LBN 60 367e948693eSPhilip Paeps #define ESF_DZ_TX_CODE_WIDTH 4 368e948693eSPhilip Paeps #define ESF_DZ_TX_OVERRIDE_HOLDOFF_LBN 59 369e948693eSPhilip Paeps #define ESF_DZ_TX_OVERRIDE_HOLDOFF_WIDTH 1 370e948693eSPhilip Paeps #define ESF_DZ_TX_DROP_EVENT_LBN 58 371e948693eSPhilip Paeps #define ESF_DZ_TX_DROP_EVENT_WIDTH 1 372e948693eSPhilip Paeps #define ESF_DZ_TX_EV_RSVD_LBN 48 373e948693eSPhilip Paeps #define ESF_DZ_TX_EV_RSVD_WIDTH 10 374e948693eSPhilip Paeps #define ESF_DZ_TX_SOFT2_LBN 32 375e948693eSPhilip Paeps #define ESF_DZ_TX_SOFT2_WIDTH 16 376e948693eSPhilip Paeps #define ESF_DZ_TX_SOFT1_LBN 24 377f8806762SAndrew Rybchenko #define ESF_DZ_TX_SOFT1_WIDTH 8 378e948693eSPhilip Paeps #define ESF_DZ_TX_QLABEL_LBN 16 3793c838a9fSAndrew Rybchenko #define ESF_DZ_TX_QLABEL_WIDTH 5 380e948693eSPhilip Paeps #define ESF_DZ_TX_DESCR_INDX_LBN 0 381e948693eSPhilip Paeps #define ESF_DZ_TX_DESCR_INDX_WIDTH 16 382e948693eSPhilip Paeps 383e948693eSPhilip Paeps 384e948693eSPhilip Paeps /* ES_TX_KER_DESC */ 385e948693eSPhilip Paeps #define ESF_DZ_TX_KER_TYPE_LBN 63 386e948693eSPhilip Paeps #define ESF_DZ_TX_KER_TYPE_WIDTH 1 387e948693eSPhilip Paeps #define ESF_DZ_TX_KER_CONT_LBN 62 388e948693eSPhilip Paeps #define ESF_DZ_TX_KER_CONT_WIDTH 1 389e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BYTE_CNT_LBN 48 390e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BYTE_CNT_WIDTH 14 391e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW0_LBN 0 392e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW0_WIDTH 32 393e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW1_LBN 32 394e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_DW1_WIDTH 16 395e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_LBN 0 396e948693eSPhilip Paeps #define ESF_DZ_TX_KER_BUF_ADDR_WIDTH 48 397e948693eSPhilip Paeps 398e948693eSPhilip Paeps 3993c838a9fSAndrew Rybchenko /* ES_TX_PIO_DESC */ 4003c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_TYPE_LBN 63 4013c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_TYPE_WIDTH 1 4023c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_OPT_LBN 60 4033c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_OPT_WIDTH 3 4043c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_CONT_LBN 59 4053c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_CONT_WIDTH 1 4063c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BYTE_CNT_LBN 32 4073c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BYTE_CNT_WIDTH 12 4083c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BUF_ADDR_LBN 0 4093c838a9fSAndrew Rybchenko #define ESF_DZ_TX_PIO_BUF_ADDR_WIDTH 12 4103c838a9fSAndrew Rybchenko 4113c838a9fSAndrew Rybchenko 4123c838a9fSAndrew Rybchenko /* ES_TX_TSO_DESC */ 413e948693eSPhilip Paeps #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 414e948693eSPhilip Paeps #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 415e948693eSPhilip Paeps #define ESF_DZ_TX_OPTION_TYPE_LBN 60 416e948693eSPhilip Paeps #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 4173c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 4183c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 419e948693eSPhilip Paeps #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 420f8806762SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 421f8806762SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 422f8806762SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 423f8806762SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 424e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_FLAGS_LBN 48 425e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_FLAGS_WIDTH 8 4263c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_LBN 32 4273c838a9fSAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_WIDTH 16 428e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0 429e948693eSPhilip Paeps #define ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32 430e948693eSPhilip Paeps 431e948693eSPhilip Paeps 432*51fd6441SAndrew Rybchenko /* TX_TSO_FATSO2A_DESC */ 433*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 434*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 435*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 436*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 437*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 438*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 439*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 440*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 441*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 442*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 443*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 444*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 445*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 446*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_LBN 32 447*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_IP_ID_WIDTH 16 448*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0 449*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32 450*51fd6441SAndrew Rybchenko 451*51fd6441SAndrew Rybchenko 452*51fd6441SAndrew Rybchenko /* TX_TSO_FATSO2B_DESC */ 453*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 454*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 455*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 456*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 457*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 458*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 459*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 460*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56 461*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4 462*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3 463*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2 464*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1 465*51fd6441SAndrew Rybchenko #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0 466*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OUTER_IP_ID_LBN 16 467*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_OUTER_IP_ID_WIDTH 16 468*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_MSS_LBN 32 469*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_TCP_MSS_WIDTH 16 470*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_INNER_PE_CSUM_LBN 0 471*51fd6441SAndrew Rybchenko #define ESF_DZ_TX_TSO_INNER_PE_CSUM_WIDTH 16 472*51fd6441SAndrew Rybchenko 473*51fd6441SAndrew Rybchenko 4743c838a9fSAndrew Rybchenko /* ES_TX_VLAN_DESC */ 4753c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_LBN 63 4763c838a9fSAndrew Rybchenko #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1 4773c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_LBN 60 4783c838a9fSAndrew Rybchenko #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3 4793c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_TSO 7 4803c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_VLAN 6 4813c838a9fSAndrew Rybchenko #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0 4823c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_OP_LBN 32 4833c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_OP_WIDTH 2 4843c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG2_LBN 16 4853c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG2_WIDTH 16 4863c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG1_LBN 0 4873c838a9fSAndrew Rybchenko #define ESF_DZ_TX_VLAN_TAG1_WIDTH 16 4883c838a9fSAndrew Rybchenko 4893c838a9fSAndrew Rybchenko 490946b5480SAndrew Rybchenko /************************************************************************* 491946b5480SAndrew Rybchenko * NOTE: the comment line above marks the end of the autogenerated section 492946b5480SAndrew Rybchenko */ 493946b5480SAndrew Rybchenko 494946b5480SAndrew Rybchenko /* 495946b5480SAndrew Rybchenko * The workaround for bug 35388 requires multiplexing writes through 496946b5480SAndrew Rybchenko * the ERF_DZ_TX_DESC_WPTR address. 497946b5480SAndrew Rybchenko * TX_DESC_UPD: 0ppppppppppp (bit 11 lost) 498946b5480SAndrew Rybchenko * EVQ_RPTR: 1000hhhhhhhh, 1001llllllll (split into high and low bits) 499946b5480SAndrew Rybchenko * EVQ_TMR: 11mmvvvvvvvv (bits 8:13 of value lost) 500946b5480SAndrew Rybchenko */ 501946b5480SAndrew Rybchenko #define ER_DD_EVQ_INDIRECT_OFST (ER_DZ_TX_DESC_UPD_REG_OFST + 2 * 4) 502946b5480SAndrew Rybchenko #define ER_DD_EVQ_INDIRECT_STEP ER_DZ_TX_DESC_UPD_REG_STEP 503946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_FLAGS_LBN 8 504946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_FLAGS_WIDTH 4 505946b5480SAndrew Rybchenko #define EFE_DD_EVQ_IND_RPTR_FLAGS_HIGH 8 506946b5480SAndrew Rybchenko #define EFE_DD_EVQ_IND_RPTR_FLAGS_LOW 9 507946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_LBN 0 508946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_RPTR_WIDTH 8 509946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_FLAGS_LBN 10 510946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_FLAGS_WIDTH 2 511946b5480SAndrew Rybchenko #define EFE_DD_EVQ_IND_TIMER_FLAGS 3 512946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_MODE_LBN 8 513946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_MODE_WIDTH 2 514946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_VAL_LBN 0 515946b5480SAndrew Rybchenko #define ERF_DD_EVQ_IND_TIMER_VAL_WIDTH 8 516946b5480SAndrew Rybchenko 517946b5480SAndrew Rybchenko 518e948693eSPhilip Paeps #ifdef __cplusplus 519e948693eSPhilip Paeps } 520e948693eSPhilip Paeps #endif 521e948693eSPhilip Paeps 522e948693eSPhilip Paeps #endif /* _SYS_EFX_EF10_REGS_H */ 523