ixgbe_type.h (302408) | ixgbe_type.h (320897) |
---|---|
1/****************************************************************************** 2 | 1/****************************************************************************** 2 |
3 Copyright (c) 2001-2015, Intel Corporation | 3 Copyright (c) 2001-2017, Intel Corporation |
4 All rights reserved. | 4 All rights reserved. |
5 6 Redistribution and use in source and binary forms, with or without | 5 6 Redistribution and use in source and binary forms, with or without |
7 modification, are permitted provided that the following conditions are met: | 7 modification, are permitted provided that the following conditions are met: |
8 9 1. Redistributions of source code must retain the above copyright notice, | 8 9 1. Redistributions of source code must retain the above copyright notice, |
10 this list of conditions and the following disclaimer. | 10 this list of conditions and the following disclaimer. |
11 12 2. Redistributions in binary form must reproduce the above copyright 13 notice, this list of conditions and the following disclaimer in the | 11 12 2. Redistributions in binary form must reproduce the above copyright 13 notice, this list of conditions and the following disclaimer in the |
14 documentation and/or other materials provided with the distribution. | 14 documentation and/or other materials provided with the distribution. |
15 16 3. Neither the name of the Intel Corporation nor the names of its 17 contributors may be used to endorse or promote products derived from | 15 16 3. Neither the name of the Intel Corporation nor the names of its 17 contributors may be used to endorse or promote products derived from |
18 this software without specific prior written permission. | 18 this software without specific prior written permission. |
19 | 19 |
20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
21 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 24 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 21 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 24 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
29 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 POSSIBILITY OF SUCH DAMAGE. 31 32******************************************************************************/ | 29 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 POSSIBILITY OF SUCH DAMAGE. 31 32******************************************************************************/ |
33/*$FreeBSD: stable/11/sys/dev/ixgbe/ixgbe_type.h 299200 2016-05-06 22:54:56Z pfg $*/ | 33/*$FreeBSD: stable/11/sys/dev/ixgbe/ixgbe_type.h 320897 2017-07-11 21:25:07Z erj $*/ |
34 35#ifndef _IXGBE_TYPE_H_ 36#define _IXGBE_TYPE_H_ 37 38/* 39 * The following is a brief description of the error categories used by the 40 * ERROR_REPORT* macros. 41 * --- 60 unchanged lines hidden (view full) --- 102#define IXGBE_DEV_ID_82599_CX4 0x10F9 103#define IXGBE_DEV_ID_82599_SFP 0x10FB 104#define IXGBE_SUBDEV_ID_82599_SFP 0x11A9 105#define IXGBE_SUBDEV_ID_82599_SFP_WOL0 0x1071 106#define IXGBE_SUBDEV_ID_82599_RNDC 0x1F72 107#define IXGBE_SUBDEV_ID_82599_560FLR 0x17D0 108#define IXGBE_SUBDEV_ID_82599_ECNA_DP 0x0470 109#define IXGBE_SUBDEV_ID_82599_SP_560FLR 0x211B | 34 35#ifndef _IXGBE_TYPE_H_ 36#define _IXGBE_TYPE_H_ 37 38/* 39 * The following is a brief description of the error categories used by the 40 * ERROR_REPORT* macros. 41 * --- 60 unchanged lines hidden (view full) --- 102#define IXGBE_DEV_ID_82599_CX4 0x10F9 103#define IXGBE_DEV_ID_82599_SFP 0x10FB 104#define IXGBE_SUBDEV_ID_82599_SFP 0x11A9 105#define IXGBE_SUBDEV_ID_82599_SFP_WOL0 0x1071 106#define IXGBE_SUBDEV_ID_82599_RNDC 0x1F72 107#define IXGBE_SUBDEV_ID_82599_560FLR 0x17D0 108#define IXGBE_SUBDEV_ID_82599_ECNA_DP 0x0470 109#define IXGBE_SUBDEV_ID_82599_SP_560FLR 0x211B |
110#define IXGBE_SUBDEV_ID_82599_LOM_SFP 0x8976 | |
111#define IXGBE_SUBDEV_ID_82599_LOM_SNAP6 0x2159 112#define IXGBE_SUBDEV_ID_82599_SFP_1OCP 0x000D 113#define IXGBE_SUBDEV_ID_82599_SFP_2OCP 0x0008 | 110#define IXGBE_SUBDEV_ID_82599_LOM_SNAP6 0x2159 111#define IXGBE_SUBDEV_ID_82599_SFP_1OCP 0x000D 112#define IXGBE_SUBDEV_ID_82599_SFP_2OCP 0x0008 |
114#define IXGBE_SUBDEV_ID_82599_SFP_LOM 0x06EE | 113#define IXGBE_SUBDEV_ID_82599_SFP_LOM_OEM1 0x8976 114#define IXGBE_SUBDEV_ID_82599_SFP_LOM_OEM2 0x06EE |
115#define IXGBE_DEV_ID_82599_BACKPLANE_FCOE 0x152A 116#define IXGBE_DEV_ID_82599_SFP_FCOE 0x1529 117#define IXGBE_DEV_ID_82599_SFP_EM 0x1507 118#define IXGBE_DEV_ID_82599_SFP_SF2 0x154D 119#define IXGBE_DEV_ID_82599_SFP_SF_QP 0x154A 120#define IXGBE_DEV_ID_82599_QSFP_SF_QP 0x1558 121#define IXGBE_DEV_ID_82599EN_SFP 0x1557 122#define IXGBE_SUBDEV_ID_82599EN_SFP_OCP1 0x0001 --- 4 unchanged lines hidden (view full) --- 127#define IXGBE_DEV_ID_82599_BYPASS 0x155D 128#define IXGBE_DEV_ID_X540T 0x1528 129#define IXGBE_DEV_ID_X540_VF 0x1515 130#define IXGBE_DEV_ID_X540_VF_HV 0x1530 131#define IXGBE_DEV_ID_X540_BYPASS 0x155C 132#define IXGBE_DEV_ID_X540T1 0x1560 133#define IXGBE_DEV_ID_X550T 0x1563 134#define IXGBE_DEV_ID_X550T1 0x15D1 | 115#define IXGBE_DEV_ID_82599_BACKPLANE_FCOE 0x152A 116#define IXGBE_DEV_ID_82599_SFP_FCOE 0x1529 117#define IXGBE_DEV_ID_82599_SFP_EM 0x1507 118#define IXGBE_DEV_ID_82599_SFP_SF2 0x154D 119#define IXGBE_DEV_ID_82599_SFP_SF_QP 0x154A 120#define IXGBE_DEV_ID_82599_QSFP_SF_QP 0x1558 121#define IXGBE_DEV_ID_82599EN_SFP 0x1557 122#define IXGBE_SUBDEV_ID_82599EN_SFP_OCP1 0x0001 --- 4 unchanged lines hidden (view full) --- 127#define IXGBE_DEV_ID_82599_BYPASS 0x155D 128#define IXGBE_DEV_ID_X540T 0x1528 129#define IXGBE_DEV_ID_X540_VF 0x1515 130#define IXGBE_DEV_ID_X540_VF_HV 0x1530 131#define IXGBE_DEV_ID_X540_BYPASS 0x155C 132#define IXGBE_DEV_ID_X540T1 0x1560 133#define IXGBE_DEV_ID_X550T 0x1563 134#define IXGBE_DEV_ID_X550T1 0x15D1 |
135#define IXGBE_DEV_ID_X550EM_A_KR 0x15C2 136#define IXGBE_DEV_ID_X550EM_A_KR_L 0x15C3 137#define IXGBE_DEV_ID_X550EM_A_SFP_N 0x15C4 138#define IXGBE_DEV_ID_X550EM_A_SGMII 0x15C6 139#define IXGBE_DEV_ID_X550EM_A_SGMII_L 0x15C7 140#define IXGBE_DEV_ID_X550EM_A_10G_T 0x15C8 141#define IXGBE_DEV_ID_X550EM_A_QSFP 0x15CA 142#define IXGBE_DEV_ID_X550EM_A_QSFP_N 0x15CC 143#define IXGBE_DEV_ID_X550EM_A_SFP 0x15CE 144#define IXGBE_DEV_ID_X550EM_A_1G_T 0x15E4 145#define IXGBE_DEV_ID_X550EM_A_1G_T_L 0x15E5 |
|
135#define IXGBE_DEV_ID_X550EM_X_KX4 0x15AA 136#define IXGBE_DEV_ID_X550EM_X_KR 0x15AB 137#define IXGBE_DEV_ID_X550EM_X_SFP 0x15AC 138#define IXGBE_DEV_ID_X550EM_X_10G_T 0x15AD 139#define IXGBE_DEV_ID_X550EM_X_1G_T 0x15AE | 146#define IXGBE_DEV_ID_X550EM_X_KX4 0x15AA 147#define IXGBE_DEV_ID_X550EM_X_KR 0x15AB 148#define IXGBE_DEV_ID_X550EM_X_SFP 0x15AC 149#define IXGBE_DEV_ID_X550EM_X_10G_T 0x15AD 150#define IXGBE_DEV_ID_X550EM_X_1G_T 0x15AE |
151#define IXGBE_DEV_ID_X550EM_X_XFI 0x15B0 |
|
140#define IXGBE_DEV_ID_X550_VF_HV 0x1564 141#define IXGBE_DEV_ID_X550_VF 0x1565 | 152#define IXGBE_DEV_ID_X550_VF_HV 0x1564 153#define IXGBE_DEV_ID_X550_VF 0x1565 |
154#define IXGBE_DEV_ID_X550EM_A_VF 0x15C5 155#define IXGBE_DEV_ID_X550EM_A_VF_HV 0x15B4 |
|
142#define IXGBE_DEV_ID_X550EM_X_VF 0x15A8 143#define IXGBE_DEV_ID_X550EM_X_VF_HV 0x15A9 144 145#define IXGBE_CAT(r,m) IXGBE_##r##m 146 147#define IXGBE_BY_MAC(_hw, r) ((_hw)->mvals[IXGBE_CAT(r, _IDX)]) 148 149/* General Registers */ 150#define IXGBE_CTRL 0x00000 151#define IXGBE_STATUS 0x00008 152#define IXGBE_CTRL_EXT 0x00018 153#define IXGBE_ESDP 0x00020 154#define IXGBE_EODSDP 0x00028 155#define IXGBE_I2CCTL_82599 0x00028 156#define IXGBE_I2CCTL IXGBE_I2CCTL_82599 157#define IXGBE_I2CCTL_X540 IXGBE_I2CCTL_82599 158#define IXGBE_I2CCTL_X550 0x15F5C 159#define IXGBE_I2CCTL_X550EM_x IXGBE_I2CCTL_X550 | 156#define IXGBE_DEV_ID_X550EM_X_VF 0x15A8 157#define IXGBE_DEV_ID_X550EM_X_VF_HV 0x15A9 158 159#define IXGBE_CAT(r,m) IXGBE_##r##m 160 161#define IXGBE_BY_MAC(_hw, r) ((_hw)->mvals[IXGBE_CAT(r, _IDX)]) 162 163/* General Registers */ 164#define IXGBE_CTRL 0x00000 165#define IXGBE_STATUS 0x00008 166#define IXGBE_CTRL_EXT 0x00018 167#define IXGBE_ESDP 0x00020 168#define IXGBE_EODSDP 0x00028 169#define IXGBE_I2CCTL_82599 0x00028 170#define IXGBE_I2CCTL IXGBE_I2CCTL_82599 171#define IXGBE_I2CCTL_X540 IXGBE_I2CCTL_82599 172#define IXGBE_I2CCTL_X550 0x15F5C 173#define IXGBE_I2CCTL_X550EM_x IXGBE_I2CCTL_X550 |
174#define IXGBE_I2CCTL_X550EM_a IXGBE_I2CCTL_X550 |
|
160#define IXGBE_I2CCTL_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2CCTL) 161#define IXGBE_PHY_GPIO 0x00028 162#define IXGBE_MAC_GPIO 0x00030 163#define IXGBE_PHYINT_STATUS0 0x00100 164#define IXGBE_PHYINT_STATUS1 0x00104 165#define IXGBE_PHYINT_STATUS2 0x00108 166#define IXGBE_LEDCTL 0x00200 167#define IXGBE_FRTIMER 0x00048 168#define IXGBE_TCPTIMER 0x0004C 169#define IXGBE_CORESPARE 0x00600 170#define IXGBE_EXVET 0x05078 171 172/* NVM Registers */ 173#define IXGBE_EEC 0x10010 174#define IXGBE_EEC_X540 IXGBE_EEC 175#define IXGBE_EEC_X550 IXGBE_EEC 176#define IXGBE_EEC_X550EM_x IXGBE_EEC | 175#define IXGBE_I2CCTL_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2CCTL) 176#define IXGBE_PHY_GPIO 0x00028 177#define IXGBE_MAC_GPIO 0x00030 178#define IXGBE_PHYINT_STATUS0 0x00100 179#define IXGBE_PHYINT_STATUS1 0x00104 180#define IXGBE_PHYINT_STATUS2 0x00108 181#define IXGBE_LEDCTL 0x00200 182#define IXGBE_FRTIMER 0x00048 183#define IXGBE_TCPTIMER 0x0004C 184#define IXGBE_CORESPARE 0x00600 185#define IXGBE_EXVET 0x05078 186 187/* NVM Registers */ 188#define IXGBE_EEC 0x10010 189#define IXGBE_EEC_X540 IXGBE_EEC 190#define IXGBE_EEC_X550 IXGBE_EEC 191#define IXGBE_EEC_X550EM_x IXGBE_EEC |
177#define IXGBE_EEC_BY_MAC(_hw) IXGBE_EEC | 192#define IXGBE_EEC_X550EM_a 0x15FF8 193#define IXGBE_EEC_BY_MAC(_hw) IXGBE_BY_MAC((_hw), EEC) |
178 179#define IXGBE_EERD 0x10014 180#define IXGBE_EEWR 0x10018 181 182#define IXGBE_FLA 0x1001C 183#define IXGBE_FLA_X540 IXGBE_FLA 184#define IXGBE_FLA_X550 IXGBE_FLA 185#define IXGBE_FLA_X550EM_x IXGBE_FLA | 194 195#define IXGBE_EERD 0x10014 196#define IXGBE_EEWR 0x10018 197 198#define IXGBE_FLA 0x1001C 199#define IXGBE_FLA_X540 IXGBE_FLA 200#define IXGBE_FLA_X550 IXGBE_FLA 201#define IXGBE_FLA_X550EM_x IXGBE_FLA |
186#define IXGBE_FLA_BY_MAC(_hw) IXGBE_FLA | 202#define IXGBE_FLA_X550EM_a 0x15F68 203#define IXGBE_FLA_BY_MAC(_hw) IXGBE_BY_MAC((_hw), FLA) |
187 188#define IXGBE_EEMNGCTL 0x10110 189#define IXGBE_EEMNGDATA 0x10114 190#define IXGBE_FLMNGCTL 0x10118 191#define IXGBE_FLMNGDATA 0x1011C 192#define IXGBE_FLMNGCNT 0x10120 193#define IXGBE_FLOP 0x1013C 194 195#define IXGBE_GRC 0x10200 196#define IXGBE_GRC_X540 IXGBE_GRC 197#define IXGBE_GRC_X550 IXGBE_GRC 198#define IXGBE_GRC_X550EM_x IXGBE_GRC | 204 205#define IXGBE_EEMNGCTL 0x10110 206#define IXGBE_EEMNGDATA 0x10114 207#define IXGBE_FLMNGCTL 0x10118 208#define IXGBE_FLMNGDATA 0x1011C 209#define IXGBE_FLMNGCNT 0x10120 210#define IXGBE_FLOP 0x1013C 211 212#define IXGBE_GRC 0x10200 213#define IXGBE_GRC_X540 IXGBE_GRC 214#define IXGBE_GRC_X550 IXGBE_GRC 215#define IXGBE_GRC_X550EM_x IXGBE_GRC |
199#define IXGBE_GRC_BY_MAC(_hw) IXGBE_GRC | 216#define IXGBE_GRC_X550EM_a 0x15F64 217#define IXGBE_GRC_BY_MAC(_hw) IXGBE_BY_MAC((_hw), GRC) |
200 201#define IXGBE_SRAMREL 0x10210 202#define IXGBE_SRAMREL_X540 IXGBE_SRAMREL 203#define IXGBE_SRAMREL_X550 IXGBE_SRAMREL 204#define IXGBE_SRAMREL_X550EM_x IXGBE_SRAMREL | 218 219#define IXGBE_SRAMREL 0x10210 220#define IXGBE_SRAMREL_X540 IXGBE_SRAMREL 221#define IXGBE_SRAMREL_X550 IXGBE_SRAMREL 222#define IXGBE_SRAMREL_X550EM_x IXGBE_SRAMREL |
205#define IXGBE_SRAMREL_BY_MAC(_hw) IXGBE_SRAMREL | 223#define IXGBE_SRAMREL_X550EM_a 0x15F6C 224#define IXGBE_SRAMREL_BY_MAC(_hw) IXGBE_BY_MAC((_hw), SRAMREL) |
206 207#define IXGBE_PHYDBG 0x10218 208 209/* General Receive Control */ 210#define IXGBE_GRC_MNG 0x00000001 /* Manageability Enable */ 211#define IXGBE_GRC_APME 0x00000002 /* APM enabled in EEPROM */ 212 213#define IXGBE_VPDDIAG0 0x10204 214#define IXGBE_VPDDIAG1 0x10208 215 216/* I2CCTL Bit Masks */ 217#define IXGBE_I2C_CLK_IN 0x00000001 218#define IXGBE_I2C_CLK_IN_X540 IXGBE_I2C_CLK_IN 219#define IXGBE_I2C_CLK_IN_X550 0x00004000 220#define IXGBE_I2C_CLK_IN_X550EM_x IXGBE_I2C_CLK_IN_X550 | 225 226#define IXGBE_PHYDBG 0x10218 227 228/* General Receive Control */ 229#define IXGBE_GRC_MNG 0x00000001 /* Manageability Enable */ 230#define IXGBE_GRC_APME 0x00000002 /* APM enabled in EEPROM */ 231 232#define IXGBE_VPDDIAG0 0x10204 233#define IXGBE_VPDDIAG1 0x10208 234 235/* I2CCTL Bit Masks */ 236#define IXGBE_I2C_CLK_IN 0x00000001 237#define IXGBE_I2C_CLK_IN_X540 IXGBE_I2C_CLK_IN 238#define IXGBE_I2C_CLK_IN_X550 0x00004000 239#define IXGBE_I2C_CLK_IN_X550EM_x IXGBE_I2C_CLK_IN_X550 |
240#define IXGBE_I2C_CLK_IN_X550EM_a IXGBE_I2C_CLK_IN_X550 |
|
221#define IXGBE_I2C_CLK_IN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_CLK_IN) 222 223#define IXGBE_I2C_CLK_OUT 0x00000002 224#define IXGBE_I2C_CLK_OUT_X540 IXGBE_I2C_CLK_OUT 225#define IXGBE_I2C_CLK_OUT_X550 0x00000200 226#define IXGBE_I2C_CLK_OUT_X550EM_x IXGBE_I2C_CLK_OUT_X550 | 241#define IXGBE_I2C_CLK_IN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_CLK_IN) 242 243#define IXGBE_I2C_CLK_OUT 0x00000002 244#define IXGBE_I2C_CLK_OUT_X540 IXGBE_I2C_CLK_OUT 245#define IXGBE_I2C_CLK_OUT_X550 0x00000200 246#define IXGBE_I2C_CLK_OUT_X550EM_x IXGBE_I2C_CLK_OUT_X550 |
247#define IXGBE_I2C_CLK_OUT_X550EM_a IXGBE_I2C_CLK_OUT_X550 |
|
227#define IXGBE_I2C_CLK_OUT_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_CLK_OUT) 228 229#define IXGBE_I2C_DATA_IN 0x00000004 230#define IXGBE_I2C_DATA_IN_X540 IXGBE_I2C_DATA_IN 231#define IXGBE_I2C_DATA_IN_X550 0x00001000 232#define IXGBE_I2C_DATA_IN_X550EM_x IXGBE_I2C_DATA_IN_X550 | 248#define IXGBE_I2C_CLK_OUT_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_CLK_OUT) 249 250#define IXGBE_I2C_DATA_IN 0x00000004 251#define IXGBE_I2C_DATA_IN_X540 IXGBE_I2C_DATA_IN 252#define IXGBE_I2C_DATA_IN_X550 0x00001000 253#define IXGBE_I2C_DATA_IN_X550EM_x IXGBE_I2C_DATA_IN_X550 |
254#define IXGBE_I2C_DATA_IN_X550EM_a IXGBE_I2C_DATA_IN_X550 |
|
233#define IXGBE_I2C_DATA_IN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_DATA_IN) 234 235#define IXGBE_I2C_DATA_OUT 0x00000008 236#define IXGBE_I2C_DATA_OUT_X540 IXGBE_I2C_DATA_OUT 237#define IXGBE_I2C_DATA_OUT_X550 0x00000400 238#define IXGBE_I2C_DATA_OUT_X550EM_x IXGBE_I2C_DATA_OUT_X550 | 255#define IXGBE_I2C_DATA_IN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_DATA_IN) 256 257#define IXGBE_I2C_DATA_OUT 0x00000008 258#define IXGBE_I2C_DATA_OUT_X540 IXGBE_I2C_DATA_OUT 259#define IXGBE_I2C_DATA_OUT_X550 0x00000400 260#define IXGBE_I2C_DATA_OUT_X550EM_x IXGBE_I2C_DATA_OUT_X550 |
261#define IXGBE_I2C_DATA_OUT_X550EM_a IXGBE_I2C_DATA_OUT_X550 |
|
239#define IXGBE_I2C_DATA_OUT_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_DATA_OUT) 240 241#define IXGBE_I2C_DATA_OE_N_EN 0 242#define IXGBE_I2C_DATA_OE_N_EN_X540 IXGBE_I2C_DATA_OE_N_EN 243#define IXGBE_I2C_DATA_OE_N_EN_X550 0x00000800 244#define IXGBE_I2C_DATA_OE_N_EN_X550EM_x IXGBE_I2C_DATA_OE_N_EN_X550 | 262#define IXGBE_I2C_DATA_OUT_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_DATA_OUT) 263 264#define IXGBE_I2C_DATA_OE_N_EN 0 265#define IXGBE_I2C_DATA_OE_N_EN_X540 IXGBE_I2C_DATA_OE_N_EN 266#define IXGBE_I2C_DATA_OE_N_EN_X550 0x00000800 267#define IXGBE_I2C_DATA_OE_N_EN_X550EM_x IXGBE_I2C_DATA_OE_N_EN_X550 |
268#define IXGBE_I2C_DATA_OE_N_EN_X550EM_a IXGBE_I2C_DATA_OE_N_EN_X550 |
|
245#define IXGBE_I2C_DATA_OE_N_EN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_DATA_OE_N_EN) 246 247#define IXGBE_I2C_BB_EN 0 248#define IXGBE_I2C_BB_EN_X540 IXGBE_I2C_BB_EN 249#define IXGBE_I2C_BB_EN_X550 0x00000100 250#define IXGBE_I2C_BB_EN_X550EM_x IXGBE_I2C_BB_EN_X550 | 269#define IXGBE_I2C_DATA_OE_N_EN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_DATA_OE_N_EN) 270 271#define IXGBE_I2C_BB_EN 0 272#define IXGBE_I2C_BB_EN_X540 IXGBE_I2C_BB_EN 273#define IXGBE_I2C_BB_EN_X550 0x00000100 274#define IXGBE_I2C_BB_EN_X550EM_x IXGBE_I2C_BB_EN_X550 |
275#define IXGBE_I2C_BB_EN_X550EM_a IXGBE_I2C_BB_EN_X550 |
|
251 252#define IXGBE_I2C_BB_EN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_BB_EN) 253 254#define IXGBE_I2C_CLK_OE_N_EN 0 255#define IXGBE_I2C_CLK_OE_N_EN_X540 IXGBE_I2C_CLK_OE_N_EN 256#define IXGBE_I2C_CLK_OE_N_EN_X550 0x00002000 257#define IXGBE_I2C_CLK_OE_N_EN_X550EM_x IXGBE_I2C_CLK_OE_N_EN_X550 | 276 277#define IXGBE_I2C_BB_EN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_BB_EN) 278 279#define IXGBE_I2C_CLK_OE_N_EN 0 280#define IXGBE_I2C_CLK_OE_N_EN_X540 IXGBE_I2C_CLK_OE_N_EN 281#define IXGBE_I2C_CLK_OE_N_EN_X550 0x00002000 282#define IXGBE_I2C_CLK_OE_N_EN_X550EM_x IXGBE_I2C_CLK_OE_N_EN_X550 |
283#define IXGBE_I2C_CLK_OE_N_EN_X550EM_a IXGBE_I2C_CLK_OE_N_EN_X550 |
|
258#define IXGBE_I2C_CLK_OE_N_EN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_CLK_OE_N_EN) 259#define IXGBE_I2C_CLOCK_STRETCHING_TIMEOUT 500 260 261 262/* Interrupt Registers */ 263#define IXGBE_EICR 0x00800 264#define IXGBE_EICS 0x00808 265#define IXGBE_EIMS 0x00880 --- 251 unchanged lines hidden (view full) --- 517#define IXGBE_IP6AT 0x05880 /* IPv6 table 0x5880-0x588F */ 518 519#define IXGBE_WUPL 0x05900 520#define IXGBE_WUPM 0x05A00 /* wake up pkt memory 0x5A00-0x5A7C */ 521#define IXGBE_PROXYS 0x05F60 /* Proxying Status Register */ 522#define IXGBE_PROXYFC 0x05F64 /* Proxying Filter Control Register */ 523#define IXGBE_VXLANCTRL 0x0000507C /* Rx filter VXLAN UDPPORT Register */ 524 | 284#define IXGBE_I2C_CLK_OE_N_EN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), I2C_CLK_OE_N_EN) 285#define IXGBE_I2C_CLOCK_STRETCHING_TIMEOUT 500 286 287 288/* Interrupt Registers */ 289#define IXGBE_EICR 0x00800 290#define IXGBE_EICS 0x00808 291#define IXGBE_EIMS 0x00880 --- 251 unchanged lines hidden (view full) --- 543#define IXGBE_IP6AT 0x05880 /* IPv6 table 0x5880-0x588F */ 544 545#define IXGBE_WUPL 0x05900 546#define IXGBE_WUPM 0x05A00 /* wake up pkt memory 0x5A00-0x5A7C */ 547#define IXGBE_PROXYS 0x05F60 /* Proxying Status Register */ 548#define IXGBE_PROXYFC 0x05F64 /* Proxying Filter Control Register */ 549#define IXGBE_VXLANCTRL 0x0000507C /* Rx filter VXLAN UDPPORT Register */ 550 |
551/* masks for accessing VXLAN and GENEVE UDP ports */ 552#define IXGBE_VXLANCTRL_VXLAN_UDPPORT_MASK 0x0000ffff /* VXLAN port */ 553#define IXGBE_VXLANCTRL_GENEVE_UDPPORT_MASK 0xffff0000 /* GENEVE port */ 554#define IXGBE_VXLANCTRL_ALL_UDPPORT_MASK 0xffffffff /* GENEVE/VXLAN */ 555 556#define IXGBE_VXLANCTRL_GENEVE_UDPPORT_SHIFT 16 557 |
|
525#define IXGBE_FHFT(_n) (0x09000 + ((_n) * 0x100)) /* Flex host filter table */ 526/* Ext Flexible Host Filter Table */ 527#define IXGBE_FHFT_EXT(_n) (0x09800 + ((_n) * 0x100)) 528#define IXGBE_FHFT_EXT_X550(_n) (0x09600 + ((_n) * 0x100)) 529 530/* Four Flexible Filters are supported */ 531#define IXGBE_FLEXIBLE_FILTER_COUNT_MAX 4 532 --- 457 unchanged lines hidden (view full) --- 990#define IXGBE_MANC2H 0x05860 991#define IXGBE_MDEF(_i) (0x05890 + ((_i) * 4)) /* 8 of these (0-7) */ 992#define IXGBE_MIPAF 0x058B0 993#define IXGBE_MMAL(_i) (0x05910 + ((_i) * 8)) /* 4 of these (0-3) */ 994#define IXGBE_MMAH(_i) (0x05914 + ((_i) * 8)) /* 4 of these (0-3) */ 995#define IXGBE_FTFT 0x09400 /* 0x9400-0x97FC */ 996#define IXGBE_METF(_i) (0x05190 + ((_i) * 4)) /* 4 of these (0-3) */ 997#define IXGBE_MDEF_EXT(_i) (0x05160 + ((_i) * 4)) /* 8 of these (0-7) */ | 558#define IXGBE_FHFT(_n) (0x09000 + ((_n) * 0x100)) /* Flex host filter table */ 559/* Ext Flexible Host Filter Table */ 560#define IXGBE_FHFT_EXT(_n) (0x09800 + ((_n) * 0x100)) 561#define IXGBE_FHFT_EXT_X550(_n) (0x09600 + ((_n) * 0x100)) 562 563/* Four Flexible Filters are supported */ 564#define IXGBE_FLEXIBLE_FILTER_COUNT_MAX 4 565 --- 457 unchanged lines hidden (view full) --- 1023#define IXGBE_MANC2H 0x05860 1024#define IXGBE_MDEF(_i) (0x05890 + ((_i) * 4)) /* 8 of these (0-7) */ 1025#define IXGBE_MIPAF 0x058B0 1026#define IXGBE_MMAL(_i) (0x05910 + ((_i) * 8)) /* 4 of these (0-3) */ 1027#define IXGBE_MMAH(_i) (0x05914 + ((_i) * 8)) /* 4 of these (0-3) */ 1028#define IXGBE_FTFT 0x09400 /* 0x9400-0x97FC */ 1029#define IXGBE_METF(_i) (0x05190 + ((_i) * 4)) /* 4 of these (0-3) */ 1030#define IXGBE_MDEF_EXT(_i) (0x05160 + ((_i) * 4)) /* 8 of these (0-7) */ |
998#define IXGBE_LSWFW 0x15014 | 1031#define IXGBE_LSWFW 0x15F14 |
999#define IXGBE_BMCIP(_i) (0x05050 + ((_i) * 4)) /* 0x5050-0x505C */ 1000#define IXGBE_BMCIPVAL 0x05060 1001#define IXGBE_BMCIP_IPADDR_TYPE 0x00000001 1002#define IXGBE_BMCIP_IPADDR_VALID 0x00000002 1003 1004/* Management Bit Fields and Masks */ 1005#define IXGBE_MANC_MPROXYE 0x40000000 /* Management Proxy Enable */ 1006#define IXGBE_MANC_RCV_TCO_EN 0x00020000 /* Rcv TCO packet enable */ --- 25 unchanged lines hidden (view full) --- 1032#define IXGBE_GCR 0x11000 1033#define IXGBE_GTV 0x11004 1034#define IXGBE_FUNCTAG 0x11008 1035#define IXGBE_GLT 0x1100C 1036#define IXGBE_PCIEPIPEADR 0x11004 1037#define IXGBE_PCIEPIPEDAT 0x11008 1038#define IXGBE_GSCL_1 0x11010 1039#define IXGBE_GSCL_2 0x11014 | 1032#define IXGBE_BMCIP(_i) (0x05050 + ((_i) * 4)) /* 0x5050-0x505C */ 1033#define IXGBE_BMCIPVAL 0x05060 1034#define IXGBE_BMCIP_IPADDR_TYPE 0x00000001 1035#define IXGBE_BMCIP_IPADDR_VALID 0x00000002 1036 1037/* Management Bit Fields and Masks */ 1038#define IXGBE_MANC_MPROXYE 0x40000000 /* Management Proxy Enable */ 1039#define IXGBE_MANC_RCV_TCO_EN 0x00020000 /* Rcv TCO packet enable */ --- 25 unchanged lines hidden (view full) --- 1065#define IXGBE_GCR 0x11000 1066#define IXGBE_GTV 0x11004 1067#define IXGBE_FUNCTAG 0x11008 1068#define IXGBE_GLT 0x1100C 1069#define IXGBE_PCIEPIPEADR 0x11004 1070#define IXGBE_PCIEPIPEDAT 0x11008 1071#define IXGBE_GSCL_1 0x11010 1072#define IXGBE_GSCL_2 0x11014 |
1073#define IXGBE_GSCL_1_X540 IXGBE_GSCL_1 1074#define IXGBE_GSCL_2_X540 IXGBE_GSCL_2 |
|
1040#define IXGBE_GSCL_3 0x11018 1041#define IXGBE_GSCL_4 0x1101C 1042#define IXGBE_GSCN_0 0x11020 1043#define IXGBE_GSCN_1 0x11024 1044#define IXGBE_GSCN_2 0x11028 1045#define IXGBE_GSCN_3 0x1102C | 1075#define IXGBE_GSCL_3 0x11018 1076#define IXGBE_GSCL_4 0x1101C 1077#define IXGBE_GSCN_0 0x11020 1078#define IXGBE_GSCN_1 0x11024 1079#define IXGBE_GSCN_2 0x11028 1080#define IXGBE_GSCN_3 0x1102C |
1081#define IXGBE_GSCN_0_X540 IXGBE_GSCN_0 1082#define IXGBE_GSCN_1_X540 IXGBE_GSCN_1 1083#define IXGBE_GSCN_2_X540 IXGBE_GSCN_2 1084#define IXGBE_GSCN_3_X540 IXGBE_GSCN_3 |
|
1046#define IXGBE_FACTPS 0x10150 1047#define IXGBE_FACTPS_X540 IXGBE_FACTPS | 1085#define IXGBE_FACTPS 0x10150 1086#define IXGBE_FACTPS_X540 IXGBE_FACTPS |
1087#define IXGBE_GSCL_1_X550 0x11800 1088#define IXGBE_GSCL_2_X550 0x11804 1089#define IXGBE_GSCL_1_X550EM_x IXGBE_GSCL_1_X550 1090#define IXGBE_GSCL_2_X550EM_x IXGBE_GSCL_2_X550 1091#define IXGBE_GSCN_0_X550 0x11820 1092#define IXGBE_GSCN_1_X550 0x11824 1093#define IXGBE_GSCN_2_X550 0x11828 1094#define IXGBE_GSCN_3_X550 0x1182C 1095#define IXGBE_GSCN_0_X550EM_x IXGBE_GSCN_0_X550 1096#define IXGBE_GSCN_1_X550EM_x IXGBE_GSCN_1_X550 1097#define IXGBE_GSCN_2_X550EM_x IXGBE_GSCN_2_X550 1098#define IXGBE_GSCN_3_X550EM_x IXGBE_GSCN_3_X550 |
|
1048#define IXGBE_FACTPS_X550 IXGBE_FACTPS 1049#define IXGBE_FACTPS_X550EM_x IXGBE_FACTPS | 1099#define IXGBE_FACTPS_X550 IXGBE_FACTPS 1100#define IXGBE_FACTPS_X550EM_x IXGBE_FACTPS |
1050#define IXGBE_FACTPS_BY_MAC(_hw) IXGBE_FACTPS | 1101#define IXGBE_GSCL_1_X550EM_a IXGBE_GSCL_1_X550 1102#define IXGBE_GSCL_2_X550EM_a IXGBE_GSCL_2_X550 1103#define IXGBE_GSCN_0_X550EM_a IXGBE_GSCN_0_X550 1104#define IXGBE_GSCN_1_X550EM_a IXGBE_GSCN_1_X550 1105#define IXGBE_GSCN_2_X550EM_a IXGBE_GSCN_2_X550 1106#define IXGBE_GSCN_3_X550EM_a IXGBE_GSCN_3_X550 1107#define IXGBE_FACTPS_X550EM_a 0x15FEC 1108#define IXGBE_FACTPS_BY_MAC(_hw) IXGBE_BY_MAC((_hw), FACTPS) |
1051 1052#define IXGBE_PCIEANACTL 0x11040 1053#define IXGBE_SWSM 0x10140 1054#define IXGBE_SWSM_X540 IXGBE_SWSM 1055#define IXGBE_SWSM_X550 IXGBE_SWSM 1056#define IXGBE_SWSM_X550EM_x IXGBE_SWSM | 1109 1110#define IXGBE_PCIEANACTL 0x11040 1111#define IXGBE_SWSM 0x10140 1112#define IXGBE_SWSM_X540 IXGBE_SWSM 1113#define IXGBE_SWSM_X550 IXGBE_SWSM 1114#define IXGBE_SWSM_X550EM_x IXGBE_SWSM |
1057#define IXGBE_SWSM_BY_MAC(_hw) IXGBE_SWSM | 1115#define IXGBE_SWSM_X550EM_a 0x15F70 1116#define IXGBE_SWSM_BY_MAC(_hw) IXGBE_BY_MAC((_hw), SWSM) |
1058 1059#define IXGBE_FWSM 0x10148 1060#define IXGBE_FWSM_X540 IXGBE_FWSM 1061#define IXGBE_FWSM_X550 IXGBE_FWSM 1062#define IXGBE_FWSM_X550EM_x IXGBE_FWSM | 1117 1118#define IXGBE_FWSM 0x10148 1119#define IXGBE_FWSM_X540 IXGBE_FWSM 1120#define IXGBE_FWSM_X550 IXGBE_FWSM 1121#define IXGBE_FWSM_X550EM_x IXGBE_FWSM |
1063#define IXGBE_FWSM_BY_MAC(_hw) IXGBE_FWSM | 1122#define IXGBE_FWSM_X550EM_a 0x15F74 1123#define IXGBE_FWSM_BY_MAC(_hw) IXGBE_BY_MAC((_hw), FWSM) |
1064 1065#define IXGBE_SWFW_SYNC IXGBE_GSSR 1066#define IXGBE_SWFW_SYNC_X540 IXGBE_SWFW_SYNC 1067#define IXGBE_SWFW_SYNC_X550 IXGBE_SWFW_SYNC 1068#define IXGBE_SWFW_SYNC_X550EM_x IXGBE_SWFW_SYNC | 1124 1125#define IXGBE_SWFW_SYNC IXGBE_GSSR 1126#define IXGBE_SWFW_SYNC_X540 IXGBE_SWFW_SYNC 1127#define IXGBE_SWFW_SYNC_X550 IXGBE_SWFW_SYNC 1128#define IXGBE_SWFW_SYNC_X550EM_x IXGBE_SWFW_SYNC |
1069#define IXGBE_SWFW_SYNC_BY_MAC(_hw) IXGBE_SWFW_SYNC | 1129#define IXGBE_SWFW_SYNC_X550EM_a 0x15F78 1130#define IXGBE_SWFW_SYNC_BY_MAC(_hw) IXGBE_BY_MAC((_hw), SWFW_SYNC) |
1070 1071#define IXGBE_GSSR 0x10160 1072#define IXGBE_MREVID 0x11064 1073#define IXGBE_DCA_ID 0x11070 1074#define IXGBE_DCA_CTRL 0x11074 1075 1076/* PCI-E registers 82599-Specific */ 1077#define IXGBE_GCR_EXT 0x11050 1078#define IXGBE_GSCL_5_82599 0x11030 1079#define IXGBE_GSCL_6_82599 0x11034 1080#define IXGBE_GSCL_7_82599 0x11038 1081#define IXGBE_GSCL_8_82599 0x1103C | 1131 1132#define IXGBE_GSSR 0x10160 1133#define IXGBE_MREVID 0x11064 1134#define IXGBE_DCA_ID 0x11070 1135#define IXGBE_DCA_CTRL 0x11074 1136 1137/* PCI-E registers 82599-Specific */ 1138#define IXGBE_GCR_EXT 0x11050 1139#define IXGBE_GSCL_5_82599 0x11030 1140#define IXGBE_GSCL_6_82599 0x11034 1141#define IXGBE_GSCL_7_82599 0x11038 1142#define IXGBE_GSCL_8_82599 0x1103C |
1143#define IXGBE_GSCL_5_X540 IXGBE_GSCL_5_82599 1144#define IXGBE_GSCL_6_X540 IXGBE_GSCL_6_82599 1145#define IXGBE_GSCL_7_X540 IXGBE_GSCL_7_82599 1146#define IXGBE_GSCL_8_X540 IXGBE_GSCL_8_82599 |
|
1082#define IXGBE_PHYADR_82599 0x11040 1083#define IXGBE_PHYDAT_82599 0x11044 1084#define IXGBE_PHYCTL_82599 0x11048 1085#define IXGBE_PBACLR_82599 0x11068 1086#define IXGBE_CIAA 0x11088 1087#define IXGBE_CIAD 0x1108C 1088#define IXGBE_CIAA_82599 IXGBE_CIAA 1089#define IXGBE_CIAD_82599 IXGBE_CIAD 1090#define IXGBE_CIAA_X540 IXGBE_CIAA 1091#define IXGBE_CIAD_X540 IXGBE_CIAD | 1147#define IXGBE_PHYADR_82599 0x11040 1148#define IXGBE_PHYDAT_82599 0x11044 1149#define IXGBE_PHYCTL_82599 0x11048 1150#define IXGBE_PBACLR_82599 0x11068 1151#define IXGBE_CIAA 0x11088 1152#define IXGBE_CIAD 0x1108C 1153#define IXGBE_CIAA_82599 IXGBE_CIAA 1154#define IXGBE_CIAD_82599 IXGBE_CIAD 1155#define IXGBE_CIAA_X540 IXGBE_CIAA 1156#define IXGBE_CIAD_X540 IXGBE_CIAD |
1157#define IXGBE_GSCL_5_X550 0x11810 1158#define IXGBE_GSCL_6_X550 0x11814 1159#define IXGBE_GSCL_7_X550 0x11818 1160#define IXGBE_GSCL_8_X550 0x1181C 1161#define IXGBE_GSCL_5_X550EM_x IXGBE_GSCL_5_X550 1162#define IXGBE_GSCL_6_X550EM_x IXGBE_GSCL_6_X550 1163#define IXGBE_GSCL_7_X550EM_x IXGBE_GSCL_7_X550 1164#define IXGBE_GSCL_8_X550EM_x IXGBE_GSCL_8_X550 |
|
1092#define IXGBE_CIAA_X550 0x11508 1093#define IXGBE_CIAD_X550 0x11510 1094#define IXGBE_CIAA_X550EM_x IXGBE_CIAA_X550 1095#define IXGBE_CIAD_X550EM_x IXGBE_CIAD_X550 | 1165#define IXGBE_CIAA_X550 0x11508 1166#define IXGBE_CIAD_X550 0x11510 1167#define IXGBE_CIAA_X550EM_x IXGBE_CIAA_X550 1168#define IXGBE_CIAD_X550EM_x IXGBE_CIAD_X550 |
1169#define IXGBE_GSCL_5_X550EM_a IXGBE_GSCL_5_X550 1170#define IXGBE_GSCL_6_X550EM_a IXGBE_GSCL_6_X550 1171#define IXGBE_GSCL_7_X550EM_a IXGBE_GSCL_7_X550 1172#define IXGBE_GSCL_8_X550EM_a IXGBE_GSCL_8_X550 1173#define IXGBE_CIAA_X550EM_a IXGBE_CIAA_X550 1174#define IXGBE_CIAD_X550EM_a IXGBE_CIAD_X550 |
|
1096#define IXGBE_CIAA_BY_MAC(_hw) IXGBE_BY_MAC((_hw), CIAA) 1097#define IXGBE_CIAD_BY_MAC(_hw) IXGBE_BY_MAC((_hw), CIAD) 1098#define IXGBE_PICAUSE 0x110B0 1099#define IXGBE_PIENA 0x110B8 1100#define IXGBE_CDQ_MBR_82599 0x110B4 1101#define IXGBE_PCIESPARE 0x110BC 1102#define IXGBE_MISC_REG_82599 0x110F0 1103#define IXGBE_ECC_CTRL_0_82599 0x11100 --- 129 unchanged lines hidden (view full) --- 1233#define IXGBE_MHADD 0x04268 1234#define IXGBE_MAXFRS 0x04268 1235#define IXGBE_TREG 0x0426C 1236#define IXGBE_PCSS1 0x04288 1237#define IXGBE_PCSS2 0x0428C 1238#define IXGBE_XPCSS 0x04290 1239#define IXGBE_MFLCN 0x04294 1240#define IXGBE_SERDESC 0x04298 | 1175#define IXGBE_CIAA_BY_MAC(_hw) IXGBE_BY_MAC((_hw), CIAA) 1176#define IXGBE_CIAD_BY_MAC(_hw) IXGBE_BY_MAC((_hw), CIAD) 1177#define IXGBE_PICAUSE 0x110B0 1178#define IXGBE_PIENA 0x110B8 1179#define IXGBE_CDQ_MBR_82599 0x110B4 1180#define IXGBE_PCIESPARE 0x110BC 1181#define IXGBE_MISC_REG_82599 0x110F0 1182#define IXGBE_ECC_CTRL_0_82599 0x11100 --- 129 unchanged lines hidden (view full) --- 1312#define IXGBE_MHADD 0x04268 1313#define IXGBE_MAXFRS 0x04268 1314#define IXGBE_TREG 0x0426C 1315#define IXGBE_PCSS1 0x04288 1316#define IXGBE_PCSS2 0x0428C 1317#define IXGBE_XPCSS 0x04290 1318#define IXGBE_MFLCN 0x04294 1319#define IXGBE_SERDESC 0x04298 |
1320#define IXGBE_MAC_SGMII_BUSY 0x04298 |
|
1241#define IXGBE_MACS 0x0429C 1242#define IXGBE_AUTOC 0x042A0 1243#define IXGBE_LINKS 0x042A4 1244#define IXGBE_LINKS2 0x04324 1245#define IXGBE_AUTOC2 0x042A8 1246#define IXGBE_AUTOC3 0x042AC 1247#define IXGBE_ANLP1 0x042B0 1248#define IXGBE_ANLP2 0x042B4 --- 170 unchanged lines hidden (view full) --- 1419#define IXGBE_ATLAS_PDN_TX_10G_QL_ALL 0xF0 1420#define IXGBE_ATLAS_PDN_TX_1G_QL_ALL 0xF0 1421#define IXGBE_ATLAS_PDN_TX_AN_QL_ALL 0xF0 1422 1423/* Omer bit masks */ 1424#define IXGBE_CORECTL_WRITE_CMD 0x00010000 1425 1426/* Device Type definitions for new protocol MDIO commands */ | 1321#define IXGBE_MACS 0x0429C 1322#define IXGBE_AUTOC 0x042A0 1323#define IXGBE_LINKS 0x042A4 1324#define IXGBE_LINKS2 0x04324 1325#define IXGBE_AUTOC2 0x042A8 1326#define IXGBE_AUTOC3 0x042AC 1327#define IXGBE_ANLP1 0x042B0 1328#define IXGBE_ANLP2 0x042B4 --- 170 unchanged lines hidden (view full) --- 1499#define IXGBE_ATLAS_PDN_TX_10G_QL_ALL 0xF0 1500#define IXGBE_ATLAS_PDN_TX_1G_QL_ALL 0xF0 1501#define IXGBE_ATLAS_PDN_TX_AN_QL_ALL 0xF0 1502 1503/* Omer bit masks */ 1504#define IXGBE_CORECTL_WRITE_CMD 0x00010000 1505 1506/* Device Type definitions for new protocol MDIO commands */ |
1507#define IXGBE_MDIO_ZERO_DEV_TYPE 0x0 |
|
1427#define IXGBE_MDIO_PMA_PMD_DEV_TYPE 0x1 1428#define IXGBE_MDIO_PCS_DEV_TYPE 0x3 1429#define IXGBE_MDIO_PHY_XS_DEV_TYPE 0x4 1430#define IXGBE_MDIO_AUTO_NEG_DEV_TYPE 0x7 1431#define IXGBE_MDIO_VENDOR_SPECIFIC_1_DEV_TYPE 0x1E /* Device 30 */ 1432#define IXGBE_TWINAX_DEV 1 1433 1434#define IXGBE_MDIO_COMMAND_TIMEOUT 100 /* PHY Timeout for 1 GB mode */ --- 41 unchanged lines hidden (view full) --- 1476#define IXGBE_MDIO_POWER_UP_STALL 0x8000 /* Power Up Stall */ 1477#define IXGBE_MDIO_GLOBAL_INT_CHIP_STD_MASK 0xFF00 /* int std mask */ 1478#define IXGBE_MDIO_GLOBAL_CHIP_STD_INT_FLAG 0xFC00 /* chip std int flag */ 1479#define IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_MASK 0xFF01 /* int chip-wide mask */ 1480#define IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_FLAG 0xFC01 /* int chip-wide mask */ 1481#define IXGBE_MDIO_GLOBAL_ALARM_1 0xCC00 /* Global alarm 1 */ 1482#define IXGBE_MDIO_GLOBAL_ALM_1_DEV_FAULT 0x0010 /* device fault */ 1483#define IXGBE_MDIO_GLOBAL_ALM_1_HI_TMP_FAIL 0x4000 /* high temp failure */ | 1508#define IXGBE_MDIO_PMA_PMD_DEV_TYPE 0x1 1509#define IXGBE_MDIO_PCS_DEV_TYPE 0x3 1510#define IXGBE_MDIO_PHY_XS_DEV_TYPE 0x4 1511#define IXGBE_MDIO_AUTO_NEG_DEV_TYPE 0x7 1512#define IXGBE_MDIO_VENDOR_SPECIFIC_1_DEV_TYPE 0x1E /* Device 30 */ 1513#define IXGBE_TWINAX_DEV 1 1514 1515#define IXGBE_MDIO_COMMAND_TIMEOUT 100 /* PHY Timeout for 1 GB mode */ --- 41 unchanged lines hidden (view full) --- 1557#define IXGBE_MDIO_POWER_UP_STALL 0x8000 /* Power Up Stall */ 1558#define IXGBE_MDIO_GLOBAL_INT_CHIP_STD_MASK 0xFF00 /* int std mask */ 1559#define IXGBE_MDIO_GLOBAL_CHIP_STD_INT_FLAG 0xFC00 /* chip std int flag */ 1560#define IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_MASK 0xFF01 /* int chip-wide mask */ 1561#define IXGBE_MDIO_GLOBAL_INT_CHIP_VEN_FLAG 0xFC01 /* int chip-wide mask */ 1562#define IXGBE_MDIO_GLOBAL_ALARM_1 0xCC00 /* Global alarm 1 */ 1563#define IXGBE_MDIO_GLOBAL_ALM_1_DEV_FAULT 0x0010 /* device fault */ 1564#define IXGBE_MDIO_GLOBAL_ALM_1_HI_TMP_FAIL 0x4000 /* high temp failure */ |
1484#define IXGBE_MDIO_GLOBAL_FAULT_MSG 0xC850 /* Global Fault Message */ | 1565#define IXGBE_MDIO_GLOBAL_FAULT_MSG 0xC850 /* Global Fault Message */ |
1485#define IXGBE_MDIO_GLOBAL_FAULT_MSG_HI_TMP 0x8007 /* high temp failure */ 1486#define IXGBE_MDIO_GLOBAL_INT_MASK 0xD400 /* Global int mask */ 1487#define IXGBE_MDIO_GLOBAL_AN_VEN_ALM_INT_EN 0x1000 /* autoneg vendor alarm int enable */ 1488#define IXGBE_MDIO_GLOBAL_ALARM_1_INT 0x4 /* int in Global alarm 1 */ 1489#define IXGBE_MDIO_GLOBAL_VEN_ALM_INT_EN 0x1 /* vendor alarm int enable */ 1490#define IXGBE_MDIO_GLOBAL_STD_ALM2_INT 0x200 /* vendor alarm2 int mask */ 1491#define IXGBE_MDIO_GLOBAL_INT_HI_TEMP_EN 0x4000 /* int high temp enable */ | 1566#define IXGBE_MDIO_GLOBAL_FAULT_MSG_HI_TMP 0x8007 /* high temp failure */ 1567#define IXGBE_MDIO_GLOBAL_INT_MASK 0xD400 /* Global int mask */ 1568#define IXGBE_MDIO_GLOBAL_AN_VEN_ALM_INT_EN 0x1000 /* autoneg vendor alarm int enable */ 1569#define IXGBE_MDIO_GLOBAL_ALARM_1_INT 0x4 /* int in Global alarm 1 */ 1570#define IXGBE_MDIO_GLOBAL_VEN_ALM_INT_EN 0x1 /* vendor alarm int enable */ 1571#define IXGBE_MDIO_GLOBAL_STD_ALM2_INT 0x200 /* vendor alarm2 int mask */ 1572#define IXGBE_MDIO_GLOBAL_INT_HI_TEMP_EN 0x4000 /* int high temp enable */ |
1573#define IXGBE_MDIO_GLOBAL_INT_DEV_FAULT_EN 0x0010 /* int dev fault enable */ |
|
1492#define IXGBE_MDIO_PMA_PMD_CONTROL_ADDR 0x0000 /* PMA/PMD Control Reg */ 1493#define IXGBE_MDIO_PMA_PMD_SDA_SCL_ADDR 0xC30A /* PHY_XS SDA/SCL Addr Reg */ 1494#define IXGBE_MDIO_PMA_PMD_SDA_SCL_DATA 0xC30B /* PHY_XS SDA/SCL Data Reg */ 1495#define IXGBE_MDIO_PMA_PMD_SDA_SCL_STAT 0xC30C /* PHY_XS SDA/SCL Status Reg */ 1496#define IXGBE_MDIO_PMA_TX_VEN_LASI_INT_MASK 0xD401 /* PHY TX Vendor LASI */ 1497#define IXGBE_MDIO_PMA_TX_VEN_LASI_INT_EN 0x1 /* PHY TX Vendor LASI enable */ 1498#define IXGBE_MDIO_PMD_STD_TX_DISABLE_CNTR 0x9 /* Standard Transmit Dis Reg */ 1499#define IXGBE_MDIO_PMD_GLOBAL_TX_DISABLE 0x0001 /* PMD Global Transmit Dis */ --- 43 unchanged lines hidden (view full) --- 1543 1544#define IXGBE_PHY_REVISION_MASK 0xFFFFFFF0 1545#define IXGBE_MAX_PHY_ADDR 32 1546 1547/* PHY IDs*/ 1548#define TN1010_PHY_ID 0x00A19410 1549#define TNX_FW_REV 0xB 1550#define X540_PHY_ID 0x01540200 | 1574#define IXGBE_MDIO_PMA_PMD_CONTROL_ADDR 0x0000 /* PMA/PMD Control Reg */ 1575#define IXGBE_MDIO_PMA_PMD_SDA_SCL_ADDR 0xC30A /* PHY_XS SDA/SCL Addr Reg */ 1576#define IXGBE_MDIO_PMA_PMD_SDA_SCL_DATA 0xC30B /* PHY_XS SDA/SCL Data Reg */ 1577#define IXGBE_MDIO_PMA_PMD_SDA_SCL_STAT 0xC30C /* PHY_XS SDA/SCL Status Reg */ 1578#define IXGBE_MDIO_PMA_TX_VEN_LASI_INT_MASK 0xD401 /* PHY TX Vendor LASI */ 1579#define IXGBE_MDIO_PMA_TX_VEN_LASI_INT_EN 0x1 /* PHY TX Vendor LASI enable */ 1580#define IXGBE_MDIO_PMD_STD_TX_DISABLE_CNTR 0x9 /* Standard Transmit Dis Reg */ 1581#define IXGBE_MDIO_PMD_GLOBAL_TX_DISABLE 0x0001 /* PMD Global Transmit Dis */ --- 43 unchanged lines hidden (view full) --- 1625 1626#define IXGBE_PHY_REVISION_MASK 0xFFFFFFF0 1627#define IXGBE_MAX_PHY_ADDR 32 1628 1629/* PHY IDs*/ 1630#define TN1010_PHY_ID 0x00A19410 1631#define TNX_FW_REV 0xB 1632#define X540_PHY_ID 0x01540200 |
1551#define X550_PHY_ID1 0x01540220 | |
1552#define X550_PHY_ID2 0x01540223 1553#define X550_PHY_ID3 0x01540221 1554#define X557_PHY_ID 0x01540240 | 1633#define X550_PHY_ID2 0x01540223 1634#define X550_PHY_ID3 0x01540221 1635#define X557_PHY_ID 0x01540240 |
1636#define X557_PHY_ID2 0x01540250 |
|
1555#define AQ_FW_REV 0x20 1556#define QT2022_PHY_ID 0x0043A400 1557#define ATH_PHY_ID 0x03429050 1558 1559/* PHY Types */ | 1637#define AQ_FW_REV 0x20 1638#define QT2022_PHY_ID 0x0043A400 1639#define ATH_PHY_ID 0x03429050 1640 1641/* PHY Types */ |
1560#define IXGBE_M88E1145_E_PHY_ID 0x01410CD0 | 1642#define IXGBE_M88E1500_E_PHY_ID 0x01410DD0 1643#define IXGBE_M88E1543_E_PHY_ID 0x01410EA0 |
1561 1562/* Special PHY Init Routine */ 1563#define IXGBE_PHY_INIT_OFFSET_NL 0x002B 1564#define IXGBE_PHY_INIT_END_NL 0xFFFF 1565#define IXGBE_CONTROL_MASK_NL 0xF000 1566#define IXGBE_DATA_MASK_NL 0x0FFF 1567#define IXGBE_CONTROL_SHIFT_NL 12 1568#define IXGBE_DELAY_NL 0 --- 10 unchanged lines hidden (view full) --- 1579#define IXGBE_SDP1_GPIEN_X540 0x00000004 /* SDP1 on X540 and X550 */ 1580#define IXGBE_SDP2_GPIEN_X540 0x00000008 /* SDP2 on X540 and X550 */ 1581#define IXGBE_SDP0_GPIEN_X550 IXGBE_SDP0_GPIEN_X540 1582#define IXGBE_SDP1_GPIEN_X550 IXGBE_SDP1_GPIEN_X540 1583#define IXGBE_SDP2_GPIEN_X550 IXGBE_SDP2_GPIEN_X540 1584#define IXGBE_SDP0_GPIEN_X550EM_x IXGBE_SDP0_GPIEN_X540 1585#define IXGBE_SDP1_GPIEN_X550EM_x IXGBE_SDP1_GPIEN_X540 1586#define IXGBE_SDP2_GPIEN_X550EM_x IXGBE_SDP2_GPIEN_X540 | 1644 1645/* Special PHY Init Routine */ 1646#define IXGBE_PHY_INIT_OFFSET_NL 0x002B 1647#define IXGBE_PHY_INIT_END_NL 0xFFFF 1648#define IXGBE_CONTROL_MASK_NL 0xF000 1649#define IXGBE_DATA_MASK_NL 0x0FFF 1650#define IXGBE_CONTROL_SHIFT_NL 12 1651#define IXGBE_DELAY_NL 0 --- 10 unchanged lines hidden (view full) --- 1662#define IXGBE_SDP1_GPIEN_X540 0x00000004 /* SDP1 on X540 and X550 */ 1663#define IXGBE_SDP2_GPIEN_X540 0x00000008 /* SDP2 on X540 and X550 */ 1664#define IXGBE_SDP0_GPIEN_X550 IXGBE_SDP0_GPIEN_X540 1665#define IXGBE_SDP1_GPIEN_X550 IXGBE_SDP1_GPIEN_X540 1666#define IXGBE_SDP2_GPIEN_X550 IXGBE_SDP2_GPIEN_X540 1667#define IXGBE_SDP0_GPIEN_X550EM_x IXGBE_SDP0_GPIEN_X540 1668#define IXGBE_SDP1_GPIEN_X550EM_x IXGBE_SDP1_GPIEN_X540 1669#define IXGBE_SDP2_GPIEN_X550EM_x IXGBE_SDP2_GPIEN_X540 |
1670#define IXGBE_SDP0_GPIEN_X550EM_a IXGBE_SDP0_GPIEN_X540 1671#define IXGBE_SDP1_GPIEN_X550EM_a IXGBE_SDP1_GPIEN_X540 1672#define IXGBE_SDP2_GPIEN_X550EM_a IXGBE_SDP2_GPIEN_X540 |
|
1587#define IXGBE_SDP0_GPIEN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), SDP0_GPIEN) 1588#define IXGBE_SDP1_GPIEN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), SDP1_GPIEN) 1589#define IXGBE_SDP2_GPIEN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), SDP2_GPIEN) 1590 1591#define IXGBE_GPIE_MSIX_MODE 0x00000010 /* MSI-X mode */ 1592#define IXGBE_GPIE_OCD 0x00000020 /* Other Clear Disable */ 1593#define IXGBE_GPIE_EIMEN 0x00000040 /* Immediate Interrupt Enable */ 1594#define IXGBE_GPIE_EIAME 0x40000000 --- 69 unchanged lines hidden (view full) --- 1664/* VT_CTL bitmasks */ 1665#define IXGBE_VT_CTL_DIS_DEFPL 0x20000000 /* disable default pool */ 1666#define IXGBE_VT_CTL_REPLEN 0x40000000 /* replication enabled */ 1667#define IXGBE_VT_CTL_VT_ENABLE 0x00000001 /* Enable VT Mode */ 1668#define IXGBE_VT_CTL_POOL_SHIFT 7 1669#define IXGBE_VT_CTL_POOL_MASK (0x3F << IXGBE_VT_CTL_POOL_SHIFT) 1670 1671/* VMOLR bitmasks */ | 1673#define IXGBE_SDP0_GPIEN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), SDP0_GPIEN) 1674#define IXGBE_SDP1_GPIEN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), SDP1_GPIEN) 1675#define IXGBE_SDP2_GPIEN_BY_MAC(_hw) IXGBE_BY_MAC((_hw), SDP2_GPIEN) 1676 1677#define IXGBE_GPIE_MSIX_MODE 0x00000010 /* MSI-X mode */ 1678#define IXGBE_GPIE_OCD 0x00000020 /* Other Clear Disable */ 1679#define IXGBE_GPIE_EIMEN 0x00000040 /* Immediate Interrupt Enable */ 1680#define IXGBE_GPIE_EIAME 0x40000000 --- 69 unchanged lines hidden (view full) --- 1750/* VT_CTL bitmasks */ 1751#define IXGBE_VT_CTL_DIS_DEFPL 0x20000000 /* disable default pool */ 1752#define IXGBE_VT_CTL_REPLEN 0x40000000 /* replication enabled */ 1753#define IXGBE_VT_CTL_VT_ENABLE 0x00000001 /* Enable VT Mode */ 1754#define IXGBE_VT_CTL_POOL_SHIFT 7 1755#define IXGBE_VT_CTL_POOL_MASK (0x3F << IXGBE_VT_CTL_POOL_SHIFT) 1756 1757/* VMOLR bitmasks */ |
1758#define IXGBE_VMOLR_UPE 0x00400000 /* unicast promiscuous */ 1759#define IXGBE_VMOLR_VPE 0x00800000 /* VLAN promiscuous */ |
|
1672#define IXGBE_VMOLR_AUPE 0x01000000 /* accept untagged packets */ 1673#define IXGBE_VMOLR_ROMPE 0x02000000 /* accept packets in MTA tbl */ 1674#define IXGBE_VMOLR_ROPE 0x04000000 /* accept packets in UC tbl */ 1675#define IXGBE_VMOLR_BAM 0x08000000 /* accept broadcast packets */ 1676#define IXGBE_VMOLR_MPE 0x10000000 /* multicast promiscuous */ 1677 1678/* VFRE bitmask */ 1679#define IXGBE_VFRE_ENABLE_ALL 0xFFFFFFFF --- 89 unchanged lines hidden (view full) --- 1769#define IXGBE_EICR_GPI_SDP1_X540 0x04000000 /* Gen Purpose Interrupt on SDP1 */ 1770#define IXGBE_EICR_GPI_SDP2_X540 0x08000000 /* Gen Purpose Interrupt on SDP2 */ 1771#define IXGBE_EICR_GPI_SDP0_X550 IXGBE_EICR_GPI_SDP0_X540 1772#define IXGBE_EICR_GPI_SDP1_X550 IXGBE_EICR_GPI_SDP1_X540 1773#define IXGBE_EICR_GPI_SDP2_X550 IXGBE_EICR_GPI_SDP2_X540 1774#define IXGBE_EICR_GPI_SDP0_X550EM_x IXGBE_EICR_GPI_SDP0_X540 1775#define IXGBE_EICR_GPI_SDP1_X550EM_x IXGBE_EICR_GPI_SDP1_X540 1776#define IXGBE_EICR_GPI_SDP2_X550EM_x IXGBE_EICR_GPI_SDP2_X540 | 1760#define IXGBE_VMOLR_AUPE 0x01000000 /* accept untagged packets */ 1761#define IXGBE_VMOLR_ROMPE 0x02000000 /* accept packets in MTA tbl */ 1762#define IXGBE_VMOLR_ROPE 0x04000000 /* accept packets in UC tbl */ 1763#define IXGBE_VMOLR_BAM 0x08000000 /* accept broadcast packets */ 1764#define IXGBE_VMOLR_MPE 0x10000000 /* multicast promiscuous */ 1765 1766/* VFRE bitmask */ 1767#define IXGBE_VFRE_ENABLE_ALL 0xFFFFFFFF --- 89 unchanged lines hidden (view full) --- 1857#define IXGBE_EICR_GPI_SDP1_X540 0x04000000 /* Gen Purpose Interrupt on SDP1 */ 1858#define IXGBE_EICR_GPI_SDP2_X540 0x08000000 /* Gen Purpose Interrupt on SDP2 */ 1859#define IXGBE_EICR_GPI_SDP0_X550 IXGBE_EICR_GPI_SDP0_X540 1860#define IXGBE_EICR_GPI_SDP1_X550 IXGBE_EICR_GPI_SDP1_X540 1861#define IXGBE_EICR_GPI_SDP2_X550 IXGBE_EICR_GPI_SDP2_X540 1862#define IXGBE_EICR_GPI_SDP0_X550EM_x IXGBE_EICR_GPI_SDP0_X540 1863#define IXGBE_EICR_GPI_SDP1_X550EM_x IXGBE_EICR_GPI_SDP1_X540 1864#define IXGBE_EICR_GPI_SDP2_X550EM_x IXGBE_EICR_GPI_SDP2_X540 |
1865#define IXGBE_EICR_GPI_SDP0_X550EM_a IXGBE_EICR_GPI_SDP0_X540 1866#define IXGBE_EICR_GPI_SDP1_X550EM_a IXGBE_EICR_GPI_SDP1_X540 1867#define IXGBE_EICR_GPI_SDP2_X550EM_a IXGBE_EICR_GPI_SDP2_X540 |
|
1777#define IXGBE_EICR_GPI_SDP0_BY_MAC(_hw) IXGBE_BY_MAC((_hw), EICR_GPI_SDP0) 1778#define IXGBE_EICR_GPI_SDP1_BY_MAC(_hw) IXGBE_BY_MAC((_hw), EICR_GPI_SDP1) 1779#define IXGBE_EICR_GPI_SDP2_BY_MAC(_hw) IXGBE_BY_MAC((_hw), EICR_GPI_SDP2) 1780 1781#define IXGBE_EICR_PBUR 0x10000000 /* Packet Buffer Handler Error */ 1782#define IXGBE_EICR_DHER 0x20000000 /* Descriptor Handler Error */ 1783#define IXGBE_EICR_TCP_TIMER 0x40000000 /* TCP Timer */ 1784#define IXGBE_EICR_OTHER 0x80000000 /* Interrupt Cause Active */ --- 314 unchanged lines hidden (view full) --- 2099#define IXGBE_LINKS_TL_FAULT 0x00001000 2100#define IXGBE_LINKS_SIGNAL 0x00000F00 2101 2102#define IXGBE_LINKS_SPEED_NON_STD 0x08000000 2103#define IXGBE_LINKS_SPEED_82599 0x30000000 2104#define IXGBE_LINKS_SPEED_10G_82599 0x30000000 2105#define IXGBE_LINKS_SPEED_1G_82599 0x20000000 2106#define IXGBE_LINKS_SPEED_100_82599 0x10000000 | 1868#define IXGBE_EICR_GPI_SDP0_BY_MAC(_hw) IXGBE_BY_MAC((_hw), EICR_GPI_SDP0) 1869#define IXGBE_EICR_GPI_SDP1_BY_MAC(_hw) IXGBE_BY_MAC((_hw), EICR_GPI_SDP1) 1870#define IXGBE_EICR_GPI_SDP2_BY_MAC(_hw) IXGBE_BY_MAC((_hw), EICR_GPI_SDP2) 1871 1872#define IXGBE_EICR_PBUR 0x10000000 /* Packet Buffer Handler Error */ 1873#define IXGBE_EICR_DHER 0x20000000 /* Descriptor Handler Error */ 1874#define IXGBE_EICR_TCP_TIMER 0x40000000 /* TCP Timer */ 1875#define IXGBE_EICR_OTHER 0x80000000 /* Interrupt Cause Active */ --- 314 unchanged lines hidden (view full) --- 2190#define IXGBE_LINKS_TL_FAULT 0x00001000 2191#define IXGBE_LINKS_SIGNAL 0x00000F00 2192 2193#define IXGBE_LINKS_SPEED_NON_STD 0x08000000 2194#define IXGBE_LINKS_SPEED_82599 0x30000000 2195#define IXGBE_LINKS_SPEED_10G_82599 0x30000000 2196#define IXGBE_LINKS_SPEED_1G_82599 0x20000000 2197#define IXGBE_LINKS_SPEED_100_82599 0x10000000 |
2198#define IXGBE_LINKS_SPEED_10_X550EM_A 0x00000000 |
|
2107#define IXGBE_LINK_UP_TIME 90 /* 9.0 Seconds */ 2108#define IXGBE_AUTO_NEG_TIME 45 /* 4.5 Seconds */ 2109 2110#define IXGBE_LINKS2_AN_SUPPORTED 0x00000040 2111 2112/* PCS1GLSTA Bit Masks */ 2113#define IXGBE_PCS1GLSTA_LINK_OK 1 2114#define IXGBE_PCS1GLSTA_SYNK_OK 0x10 --- 29 unchanged lines hidden (view full) --- 2144/* SW_FW_SYNC/GSSR definitions */ 2145#define IXGBE_GSSR_EEP_SM 0x0001 2146#define IXGBE_GSSR_PHY0_SM 0x0002 2147#define IXGBE_GSSR_PHY1_SM 0x0004 2148#define IXGBE_GSSR_MAC_CSR_SM 0x0008 2149#define IXGBE_GSSR_FLASH_SM 0x0010 2150#define IXGBE_GSSR_NVM_UPDATE_SM 0x0200 2151#define IXGBE_GSSR_SW_MNG_SM 0x0400 | 2199#define IXGBE_LINK_UP_TIME 90 /* 9.0 Seconds */ 2200#define IXGBE_AUTO_NEG_TIME 45 /* 4.5 Seconds */ 2201 2202#define IXGBE_LINKS2_AN_SUPPORTED 0x00000040 2203 2204/* PCS1GLSTA Bit Masks */ 2205#define IXGBE_PCS1GLSTA_LINK_OK 1 2206#define IXGBE_PCS1GLSTA_SYNK_OK 0x10 --- 29 unchanged lines hidden (view full) --- 2236/* SW_FW_SYNC/GSSR definitions */ 2237#define IXGBE_GSSR_EEP_SM 0x0001 2238#define IXGBE_GSSR_PHY0_SM 0x0002 2239#define IXGBE_GSSR_PHY1_SM 0x0004 2240#define IXGBE_GSSR_MAC_CSR_SM 0x0008 2241#define IXGBE_GSSR_FLASH_SM 0x0010 2242#define IXGBE_GSSR_NVM_UPDATE_SM 0x0200 2243#define IXGBE_GSSR_SW_MNG_SM 0x0400 |
2244#define IXGBE_GSSR_TOKEN_SM 0x40000000 /* SW bit for shared access */ |
|
2152#define IXGBE_GSSR_SHARED_I2C_SM 0x1806 /* Wait for both phys and both I2Cs */ 2153#define IXGBE_GSSR_I2C_MASK 0x1800 2154#define IXGBE_GSSR_NVM_PHY_MASK 0xF 2155 2156/* FW Status register bitmask */ 2157#define IXGBE_FWSTS_FWRI 0x00000200 /* Firmware Reset Indication */ 2158 2159/* EEC Register */ --- 26 unchanged lines hidden (view full) --- 2186 2187/* Part Number String Length */ 2188#define IXGBE_PBANUM_LENGTH 11 2189 2190/* Checksum and EEPROM pointers */ 2191#define IXGBE_PBANUM_PTR_GUARD 0xFAFA 2192#define IXGBE_EEPROM_CHECKSUM 0x3F 2193#define IXGBE_EEPROM_SUM 0xBABA | 2245#define IXGBE_GSSR_SHARED_I2C_SM 0x1806 /* Wait for both phys and both I2Cs */ 2246#define IXGBE_GSSR_I2C_MASK 0x1800 2247#define IXGBE_GSSR_NVM_PHY_MASK 0xF 2248 2249/* FW Status register bitmask */ 2250#define IXGBE_FWSTS_FWRI 0x00000200 /* Firmware Reset Indication */ 2251 2252/* EEC Register */ --- 26 unchanged lines hidden (view full) --- 2279 2280/* Part Number String Length */ 2281#define IXGBE_PBANUM_LENGTH 11 2282 2283/* Checksum and EEPROM pointers */ 2284#define IXGBE_PBANUM_PTR_GUARD 0xFAFA 2285#define IXGBE_EEPROM_CHECKSUM 0x3F 2286#define IXGBE_EEPROM_SUM 0xBABA |
2287#define IXGBE_EEPROM_CTRL_4 0x45 2288#define IXGBE_EE_CTRL_4_INST_ID 0x10 2289#define IXGBE_EE_CTRL_4_INST_ID_SHIFT 4 |
|
2194#define IXGBE_PCIE_ANALOG_PTR 0x03 2195#define IXGBE_ATLAS0_CONFIG_PTR 0x04 2196#define IXGBE_PHY_PTR 0x04 2197#define IXGBE_ATLAS1_CONFIG_PTR 0x05 2198#define IXGBE_OPTION_ROM_PTR 0x05 2199#define IXGBE_PCIE_GENERAL_PTR 0x06 2200#define IXGBE_PCIE_CONFIG0_PTR 0x07 2201#define IXGBE_PCIE_CONFIG1_PTR 0x08 --- 11 unchanged lines hidden (view full) --- 2213#define IXGBE_FW_PTR 0x0F 2214#define IXGBE_PBANUM0_PTR 0x15 2215#define IXGBE_PBANUM1_PTR 0x16 2216#define IXGBE_ALT_MAC_ADDR_PTR 0x37 2217#define IXGBE_FREE_SPACE_PTR 0X3E 2218 2219#define IXGBE_SAN_MAC_ADDR_PTR 0x28 2220#define IXGBE_DEVICE_CAPS 0x2C | 2290#define IXGBE_PCIE_ANALOG_PTR 0x03 2291#define IXGBE_ATLAS0_CONFIG_PTR 0x04 2292#define IXGBE_PHY_PTR 0x04 2293#define IXGBE_ATLAS1_CONFIG_PTR 0x05 2294#define IXGBE_OPTION_ROM_PTR 0x05 2295#define IXGBE_PCIE_GENERAL_PTR 0x06 2296#define IXGBE_PCIE_CONFIG0_PTR 0x07 2297#define IXGBE_PCIE_CONFIG1_PTR 0x08 --- 11 unchanged lines hidden (view full) --- 2309#define IXGBE_FW_PTR 0x0F 2310#define IXGBE_PBANUM0_PTR 0x15 2311#define IXGBE_PBANUM1_PTR 0x16 2312#define IXGBE_ALT_MAC_ADDR_PTR 0x37 2313#define IXGBE_FREE_SPACE_PTR 0X3E 2314 2315#define IXGBE_SAN_MAC_ADDR_PTR 0x28 2316#define IXGBE_DEVICE_CAPS 0x2C |
2221#define IXGBE_SERIAL_NUMBER_MAC_ADDR 0x11 | 2317#define IXGBE_82599_SERIAL_NUMBER_MAC_ADDR 0x11 2318#define IXGBE_X550_SERIAL_NUMBER_MAC_ADDR 0x04 2319 |
2222#define IXGBE_PCIE_MSIX_82599_CAPS 0x72 2223#define IXGBE_MAX_MSIX_VECTORS_82599 0x40 2224#define IXGBE_PCIE_MSIX_82598_CAPS 0x62 2225#define IXGBE_MAX_MSIX_VECTORS_82598 0x13 2226 2227/* MSI-X capability fields masks */ 2228#define IXGBE_PCIE_MSIX_TBL_SZ_MASK 0x7FF 2229 --- 53 unchanged lines hidden (view full) --- 2283#define IXGBE_PCIE_CTRL2_DUMMY_ENABLE 0x8 /* Dummy Function Enable */ 2284#define IXGBE_PCIE_CTRL2_LAN_DISABLE 0x2 /* LAN PCI Disable */ 2285#define IXGBE_PCIE_CTRL2_DISABLE_SELECT 0x1 /* LAN Disable Select */ 2286 2287#define IXGBE_SAN_MAC_ADDR_PORT0_OFFSET 0x0 2288#define IXGBE_SAN_MAC_ADDR_PORT1_OFFSET 0x3 2289#define IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP 0x1 2290#define IXGBE_DEVICE_CAPS_FCOE_OFFLOADS 0x2 | 2320#define IXGBE_PCIE_MSIX_82599_CAPS 0x72 2321#define IXGBE_MAX_MSIX_VECTORS_82599 0x40 2322#define IXGBE_PCIE_MSIX_82598_CAPS 0x62 2323#define IXGBE_MAX_MSIX_VECTORS_82598 0x13 2324 2325/* MSI-X capability fields masks */ 2326#define IXGBE_PCIE_MSIX_TBL_SZ_MASK 0x7FF 2327 --- 53 unchanged lines hidden (view full) --- 2381#define IXGBE_PCIE_CTRL2_DUMMY_ENABLE 0x8 /* Dummy Function Enable */ 2382#define IXGBE_PCIE_CTRL2_LAN_DISABLE 0x2 /* LAN PCI Disable */ 2383#define IXGBE_PCIE_CTRL2_DISABLE_SELECT 0x1 /* LAN Disable Select */ 2384 2385#define IXGBE_SAN_MAC_ADDR_PORT0_OFFSET 0x0 2386#define IXGBE_SAN_MAC_ADDR_PORT1_OFFSET 0x3 2387#define IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP 0x1 2388#define IXGBE_DEVICE_CAPS_FCOE_OFFLOADS 0x2 |
2389#define IXGBE_DEVICE_CAPS_NO_CROSSTALK_WR (1 << 7) |
|
2291#define IXGBE_FW_LESM_PARAMETERS_PTR 0x2 2292#define IXGBE_FW_LESM_STATE_1 0x1 2293#define IXGBE_FW_LESM_STATE_ENABLED 0x8000 /* LESM Enable bit */ 2294#define IXGBE_FW_PASSTHROUGH_PATCH_CONFIG_PTR 0x4 2295#define IXGBE_FW_PATCH_VERSION_4 0x7 2296#define IXGBE_FCOE_IBA_CAPS_BLK_PTR 0x33 /* iSCSI/FCOE block */ 2297#define IXGBE_FCOE_IBA_CAPS_FCOE 0x20 /* FCOE flags */ 2298#define IXGBE_ISCSI_FCOE_BLK_PTR 0x17 /* iSCSI/FCOE block */ --- 187 unchanged lines hidden (view full) --- 2486#define IXGBE_MRQC_RT4TCEN 0x00000003 /* 4 TC no RSS */ 2487#define IXGBE_MRQC_RTRSS8TCEN 0x00000004 /* 8 TC w/ RSS */ 2488#define IXGBE_MRQC_RTRSS4TCEN 0x00000005 /* 4 TC w/ RSS */ 2489#define IXGBE_MRQC_VMDQEN 0x00000008 /* VMDq2 64 pools no RSS */ 2490#define IXGBE_MRQC_VMDQRSS32EN 0x0000000A /* VMDq2 32 pools w/ RSS */ 2491#define IXGBE_MRQC_VMDQRSS64EN 0x0000000B /* VMDq2 64 pools w/ RSS */ 2492#define IXGBE_MRQC_VMDQRT8TCEN 0x0000000C /* VMDq2/RT 16 pool 8 TC */ 2493#define IXGBE_MRQC_VMDQRT4TCEN 0x0000000D /* VMDq2/RT 32 pool 4 TC */ | 2390#define IXGBE_FW_LESM_PARAMETERS_PTR 0x2 2391#define IXGBE_FW_LESM_STATE_1 0x1 2392#define IXGBE_FW_LESM_STATE_ENABLED 0x8000 /* LESM Enable bit */ 2393#define IXGBE_FW_PASSTHROUGH_PATCH_CONFIG_PTR 0x4 2394#define IXGBE_FW_PATCH_VERSION_4 0x7 2395#define IXGBE_FCOE_IBA_CAPS_BLK_PTR 0x33 /* iSCSI/FCOE block */ 2396#define IXGBE_FCOE_IBA_CAPS_FCOE 0x20 /* FCOE flags */ 2397#define IXGBE_ISCSI_FCOE_BLK_PTR 0x17 /* iSCSI/FCOE block */ --- 187 unchanged lines hidden (view full) --- 2585#define IXGBE_MRQC_RT4TCEN 0x00000003 /* 4 TC no RSS */ 2586#define IXGBE_MRQC_RTRSS8TCEN 0x00000004 /* 8 TC w/ RSS */ 2587#define IXGBE_MRQC_RTRSS4TCEN 0x00000005 /* 4 TC w/ RSS */ 2588#define IXGBE_MRQC_VMDQEN 0x00000008 /* VMDq2 64 pools no RSS */ 2589#define IXGBE_MRQC_VMDQRSS32EN 0x0000000A /* VMDq2 32 pools w/ RSS */ 2590#define IXGBE_MRQC_VMDQRSS64EN 0x0000000B /* VMDq2 64 pools w/ RSS */ 2591#define IXGBE_MRQC_VMDQRT8TCEN 0x0000000C /* VMDq2/RT 16 pool 8 TC */ 2592#define IXGBE_MRQC_VMDQRT4TCEN 0x0000000D /* VMDq2/RT 32 pool 4 TC */ |
2593#define IXGBE_MRQC_L3L4TXSWEN 0x00008000 /* Enable L3/L4 Tx switch */ |
|
2494#define IXGBE_MRQC_RSS_FIELD_MASK 0xFFFF0000 2495#define IXGBE_MRQC_RSS_FIELD_IPV4_TCP 0x00010000 2496#define IXGBE_MRQC_RSS_FIELD_IPV4 0x00020000 2497#define IXGBE_MRQC_RSS_FIELD_IPV6_EX_TCP 0x00040000 2498#define IXGBE_MRQC_RSS_FIELD_IPV6_EX 0x00080000 2499#define IXGBE_MRQC_RSS_FIELD_IPV6 0x00100000 2500#define IXGBE_MRQC_RSS_FIELD_IPV6_TCP 0x00200000 2501#define IXGBE_MRQC_RSS_FIELD_IPV4_UDP 0x00400000 --- 155 unchanged lines hidden (view full) --- 2657#define IXGBE_RXDADV_PKTTYPE_IPV4 0x00000010 /* IPv4 hdr present */ 2658#define IXGBE_RXDADV_PKTTYPE_IPV4_EX 0x00000020 /* IPv4 hdr + extensions */ 2659#define IXGBE_RXDADV_PKTTYPE_IPV6 0x00000040 /* IPv6 hdr present */ 2660#define IXGBE_RXDADV_PKTTYPE_IPV6_EX 0x00000080 /* IPv6 hdr + extensions */ 2661#define IXGBE_RXDADV_PKTTYPE_TCP 0x00000100 /* TCP hdr present */ 2662#define IXGBE_RXDADV_PKTTYPE_UDP 0x00000200 /* UDP hdr present */ 2663#define IXGBE_RXDADV_PKTTYPE_SCTP 0x00000400 /* SCTP hdr present */ 2664#define IXGBE_RXDADV_PKTTYPE_NFS 0x00000800 /* NFS hdr present */ | 2594#define IXGBE_MRQC_RSS_FIELD_MASK 0xFFFF0000 2595#define IXGBE_MRQC_RSS_FIELD_IPV4_TCP 0x00010000 2596#define IXGBE_MRQC_RSS_FIELD_IPV4 0x00020000 2597#define IXGBE_MRQC_RSS_FIELD_IPV6_EX_TCP 0x00040000 2598#define IXGBE_MRQC_RSS_FIELD_IPV6_EX 0x00080000 2599#define IXGBE_MRQC_RSS_FIELD_IPV6 0x00100000 2600#define IXGBE_MRQC_RSS_FIELD_IPV6_TCP 0x00200000 2601#define IXGBE_MRQC_RSS_FIELD_IPV4_UDP 0x00400000 --- 155 unchanged lines hidden (view full) --- 2757#define IXGBE_RXDADV_PKTTYPE_IPV4 0x00000010 /* IPv4 hdr present */ 2758#define IXGBE_RXDADV_PKTTYPE_IPV4_EX 0x00000020 /* IPv4 hdr + extensions */ 2759#define IXGBE_RXDADV_PKTTYPE_IPV6 0x00000040 /* IPv6 hdr present */ 2760#define IXGBE_RXDADV_PKTTYPE_IPV6_EX 0x00000080 /* IPv6 hdr + extensions */ 2761#define IXGBE_RXDADV_PKTTYPE_TCP 0x00000100 /* TCP hdr present */ 2762#define IXGBE_RXDADV_PKTTYPE_UDP 0x00000200 /* UDP hdr present */ 2763#define IXGBE_RXDADV_PKTTYPE_SCTP 0x00000400 /* SCTP hdr present */ 2764#define IXGBE_RXDADV_PKTTYPE_NFS 0x00000800 /* NFS hdr present */ |
2765#define IXGBE_RXDADV_PKTTYPE_GENEVE 0x00000800 /* GENEVE hdr present */ |
|
2665#define IXGBE_RXDADV_PKTTYPE_VXLAN 0x00000800 /* VXLAN hdr present */ 2666#define IXGBE_RXDADV_PKTTYPE_TUNNEL 0x00010000 /* Tunnel type */ 2667#define IXGBE_RXDADV_PKTTYPE_IPSEC_ESP 0x00001000 /* IPSec ESP */ 2668#define IXGBE_RXDADV_PKTTYPE_IPSEC_AH 0x00002000 /* IPSec AH */ 2669#define IXGBE_RXDADV_PKTTYPE_LINKSEC 0x00004000 /* LinkSec Encap */ 2670#define IXGBE_RXDADV_PKTTYPE_ETQF 0x00008000 /* PKTTYPE is ETQF index */ 2671#define IXGBE_RXDADV_PKTTYPE_ETQF_MASK 0x00000070 /* ETQF has 8 indices */ 2672#define IXGBE_RXDADV_PKTTYPE_ETQF_SHIFT 4 /* Right-shift 4 bits */ --- 72 unchanged lines hidden (view full) --- 2745 : (0x0D018 + (0x40 * ((P) - 64)))) 2746#define IXGBE_PVFRXDCTL(P) ((P < 64) ? (0x01028 + (0x40 * (P))) \ 2747 : (0x0D028 + (0x40 * ((P) - 64)))) 2748#define IXGBE_PVFSRRCTL(P) ((P < 64) ? (0x01014 + (0x40 * (P))) \ 2749 : (0x0D014 + (0x40 * ((P) - 64)))) 2750#define IXGBE_PVFPSRTYPE(P) (0x0EA00 + (4 * (P))) 2751#define IXGBE_PVFTDBAL(P) (0x06000 + (0x40 * (P))) 2752#define IXGBE_PVFTDBAH(P) (0x06004 + (0x40 * (P))) | 2766#define IXGBE_RXDADV_PKTTYPE_VXLAN 0x00000800 /* VXLAN hdr present */ 2767#define IXGBE_RXDADV_PKTTYPE_TUNNEL 0x00010000 /* Tunnel type */ 2768#define IXGBE_RXDADV_PKTTYPE_IPSEC_ESP 0x00001000 /* IPSec ESP */ 2769#define IXGBE_RXDADV_PKTTYPE_IPSEC_AH 0x00002000 /* IPSec AH */ 2770#define IXGBE_RXDADV_PKTTYPE_LINKSEC 0x00004000 /* LinkSec Encap */ 2771#define IXGBE_RXDADV_PKTTYPE_ETQF 0x00008000 /* PKTTYPE is ETQF index */ 2772#define IXGBE_RXDADV_PKTTYPE_ETQF_MASK 0x00000070 /* ETQF has 8 indices */ 2773#define IXGBE_RXDADV_PKTTYPE_ETQF_SHIFT 4 /* Right-shift 4 bits */ --- 72 unchanged lines hidden (view full) --- 2846 : (0x0D018 + (0x40 * ((P) - 64)))) 2847#define IXGBE_PVFRXDCTL(P) ((P < 64) ? (0x01028 + (0x40 * (P))) \ 2848 : (0x0D028 + (0x40 * ((P) - 64)))) 2849#define IXGBE_PVFSRRCTL(P) ((P < 64) ? (0x01014 + (0x40 * (P))) \ 2850 : (0x0D014 + (0x40 * ((P) - 64)))) 2851#define IXGBE_PVFPSRTYPE(P) (0x0EA00 + (4 * (P))) 2852#define IXGBE_PVFTDBAL(P) (0x06000 + (0x40 * (P))) 2853#define IXGBE_PVFTDBAH(P) (0x06004 + (0x40 * (P))) |
2753#define IXGBE_PVFTTDLEN(P) (0x06008 + (0x40 * (P))) | 2854#define IXGBE_PVFTDLEN(P) (0x06008 + (0x40 * (P))) |
2754#define IXGBE_PVFTDH(P) (0x06010 + (0x40 * (P))) 2755#define IXGBE_PVFTDT(P) (0x06018 + (0x40 * (P))) 2756#define IXGBE_PVFTXDCTL(P) (0x06028 + (0x40 * (P))) 2757#define IXGBE_PVFTDWBAL(P) (0x06038 + (0x40 * (P))) 2758#define IXGBE_PVFTDWBAH(P) (0x0603C + (0x40 * (P))) 2759#define IXGBE_PVFDCA_RXCTRL(P) (((P) < 64) ? (0x0100C + (0x40 * (P))) \ 2760 : (0x0D00C + (0x40 * ((P) - 64)))) 2761#define IXGBE_PVFDCA_TXCTRL(P) (0x0600C + (0x40 * (P))) --- 138 unchanged lines hidden (view full) --- 2900/* CEM Support */ 2901#define FW_CEM_HDR_LEN 0x4 2902#define FW_CEM_CMD_DRIVER_INFO 0xDD 2903#define FW_CEM_CMD_DRIVER_INFO_LEN 0x5 2904#define FW_CEM_CMD_RESERVED 0X0 2905#define FW_CEM_UNUSED_VER 0x0 2906#define FW_CEM_MAX_RETRIES 3 2907#define FW_CEM_RESP_STATUS_SUCCESS 0x1 | 2855#define IXGBE_PVFTDH(P) (0x06010 + (0x40 * (P))) 2856#define IXGBE_PVFTDT(P) (0x06018 + (0x40 * (P))) 2857#define IXGBE_PVFTXDCTL(P) (0x06028 + (0x40 * (P))) 2858#define IXGBE_PVFTDWBAL(P) (0x06038 + (0x40 * (P))) 2859#define IXGBE_PVFTDWBAH(P) (0x0603C + (0x40 * (P))) 2860#define IXGBE_PVFDCA_RXCTRL(P) (((P) < 64) ? (0x0100C + (0x40 * (P))) \ 2861 : (0x0D00C + (0x40 * ((P) - 64)))) 2862#define IXGBE_PVFDCA_TXCTRL(P) (0x0600C + (0x40 * (P))) --- 138 unchanged lines hidden (view full) --- 3001/* CEM Support */ 3002#define FW_CEM_HDR_LEN 0x4 3003#define FW_CEM_CMD_DRIVER_INFO 0xDD 3004#define FW_CEM_CMD_DRIVER_INFO_LEN 0x5 3005#define FW_CEM_CMD_RESERVED 0X0 3006#define FW_CEM_UNUSED_VER 0x0 3007#define FW_CEM_MAX_RETRIES 3 3008#define FW_CEM_RESP_STATUS_SUCCESS 0x1 |
3009#define FW_CEM_DRIVER_VERSION_SIZE 39 /* +9 would send 48 bytes to fw */ |
|
2908#define FW_READ_SHADOW_RAM_CMD 0x31 2909#define FW_READ_SHADOW_RAM_LEN 0x6 2910#define FW_WRITE_SHADOW_RAM_CMD 0x33 2911#define FW_WRITE_SHADOW_RAM_LEN 0xA /* 8 plus 1 WORD to write */ 2912#define FW_SHADOW_RAM_DUMP_CMD 0x36 2913#define FW_SHADOW_RAM_DUMP_LEN 0 2914#define FW_DEFAULT_CHECKSUM 0xFF /* checksum always 0xFF */ 2915#define FW_NVM_DATA_OFFSET 3 2916#define FW_MAX_READ_BUFFER_SIZE 1024 2917#define FW_DISABLE_RXEN_CMD 0xDE 2918#define FW_DISABLE_RXEN_LEN 0x1 2919#define FW_PHY_MGMT_REQ_CMD 0x20 | 3010#define FW_READ_SHADOW_RAM_CMD 0x31 3011#define FW_READ_SHADOW_RAM_LEN 0x6 3012#define FW_WRITE_SHADOW_RAM_CMD 0x33 3013#define FW_WRITE_SHADOW_RAM_LEN 0xA /* 8 plus 1 WORD to write */ 3014#define FW_SHADOW_RAM_DUMP_CMD 0x36 3015#define FW_SHADOW_RAM_DUMP_LEN 0 3016#define FW_DEFAULT_CHECKSUM 0xFF /* checksum always 0xFF */ 3017#define FW_NVM_DATA_OFFSET 3 3018#define FW_MAX_READ_BUFFER_SIZE 1024 3019#define FW_DISABLE_RXEN_CMD 0xDE 3020#define FW_DISABLE_RXEN_LEN 0x1 3021#define FW_PHY_MGMT_REQ_CMD 0x20 |
3022#define FW_PHY_TOKEN_REQ_CMD 0xA 3023#define FW_PHY_TOKEN_REQ_LEN 2 3024#define FW_PHY_TOKEN_REQ 0 3025#define FW_PHY_TOKEN_REL 1 3026#define FW_PHY_TOKEN_OK 1 3027#define FW_PHY_TOKEN_RETRY 0x80 3028#define FW_PHY_TOKEN_DELAY 5 /* milliseconds */ 3029#define FW_PHY_TOKEN_WAIT 5 /* seconds */ 3030#define FW_PHY_TOKEN_RETRIES ((FW_PHY_TOKEN_WAIT * 1000) / FW_PHY_TOKEN_DELAY) |
|
2920#define FW_INT_PHY_REQ_CMD 0xB 2921#define FW_INT_PHY_REQ_LEN 10 2922#define FW_INT_PHY_REQ_READ 0 2923#define FW_INT_PHY_REQ_WRITE 1 | 3031#define FW_INT_PHY_REQ_CMD 0xB 3032#define FW_INT_PHY_REQ_LEN 10 3033#define FW_INT_PHY_REQ_READ 0 3034#define FW_INT_PHY_REQ_WRITE 1 |
3035#define FW_PHY_ACT_REQ_CMD 5 3036#define FW_PHY_ACT_DATA_COUNT 4 3037#define FW_PHY_ACT_REQ_LEN (4 + 4 * FW_PHY_ACT_DATA_COUNT) 3038#define FW_PHY_ACT_INIT_PHY 1 3039#define FW_PHY_ACT_SETUP_LINK 2 3040#define FW_PHY_ACT_LINK_SPEED_10 (1u << 0) 3041#define FW_PHY_ACT_LINK_SPEED_100 (1u << 1) 3042#define FW_PHY_ACT_LINK_SPEED_1G (1u << 2) 3043#define FW_PHY_ACT_LINK_SPEED_2_5G (1u << 3) 3044#define FW_PHY_ACT_LINK_SPEED_5G (1u << 4) 3045#define FW_PHY_ACT_LINK_SPEED_10G (1u << 5) 3046#define FW_PHY_ACT_LINK_SPEED_20G (1u << 6) 3047#define FW_PHY_ACT_LINK_SPEED_25G (1u << 7) 3048#define FW_PHY_ACT_LINK_SPEED_40G (1u << 8) 3049#define FW_PHY_ACT_LINK_SPEED_50G (1u << 9) 3050#define FW_PHY_ACT_LINK_SPEED_100G (1u << 10) 3051#define FW_PHY_ACT_SETUP_LINK_PAUSE_SHIFT 16 3052#define FW_PHY_ACT_SETUP_LINK_PAUSE_MASK (3u << \ 3053 FW_PHY_ACT_SETUP_LINK_PAUSE_SHIFT) 3054#define FW_PHY_ACT_SETUP_LINK_PAUSE_NONE 0u 3055#define FW_PHY_ACT_SETUP_LINK_PAUSE_TX 1u 3056#define FW_PHY_ACT_SETUP_LINK_PAUSE_RX 2u 3057#define FW_PHY_ACT_SETUP_LINK_PAUSE_RXTX 3u 3058#define FW_PHY_ACT_SETUP_LINK_LP (1u << 18) 3059#define FW_PHY_ACT_SETUP_LINK_HP (1u << 19) 3060#define FW_PHY_ACT_SETUP_LINK_EEE (1u << 20) 3061#define FW_PHY_ACT_SETUP_LINK_AN (1u << 22) 3062#define FW_PHY_ACT_SETUP_LINK_RSP_DOWN (1u << 0) 3063#define FW_PHY_ACT_GET_LINK_INFO 3 3064#define FW_PHY_ACT_GET_LINK_INFO_EEE (1u << 19) 3065#define FW_PHY_ACT_GET_LINK_INFO_FC_TX (1u << 20) 3066#define FW_PHY_ACT_GET_LINK_INFO_FC_RX (1u << 21) 3067#define FW_PHY_ACT_GET_LINK_INFO_POWER (1u << 22) 3068#define FW_PHY_ACT_GET_LINK_INFO_AN_COMPLETE (1u << 24) 3069#define FW_PHY_ACT_GET_LINK_INFO_TEMP (1u << 25) 3070#define FW_PHY_ACT_GET_LINK_INFO_LP_FC_TX (1u << 28) 3071#define FW_PHY_ACT_GET_LINK_INFO_LP_FC_RX (1u << 29) 3072#define FW_PHY_ACT_FORCE_LINK_DOWN 4 3073#define FW_PHY_ACT_FORCE_LINK_DOWN_OFF (1u << 0) 3074#define FW_PHY_ACT_PHY_SW_RESET 5 3075#define FW_PHY_ACT_PHY_HW_RESET 6 3076#define FW_PHY_ACT_GET_PHY_INFO 7 3077#define FW_PHY_ACT_UD_2 0x1002 3078#define FW_PHY_ACT_UD_2_10G_KR_EEE (1u << 6) 3079#define FW_PHY_ACT_UD_2_10G_KX4_EEE (1u << 5) 3080#define FW_PHY_ACT_UD_2_1G_KX_EEE (1u << 4) 3081#define FW_PHY_ACT_UD_2_10G_T_EEE (1u << 3) 3082#define FW_PHY_ACT_UD_2_1G_T_EEE (1u << 2) 3083#define FW_PHY_ACT_UD_2_100M_TX_EEE (1u << 1) 3084#define FW_PHY_ACT_RETRIES 50 3085#define FW_PHY_INFO_SPEED_MASK 0xFFFu 3086#define FW_PHY_INFO_ID_HI_MASK 0xFFFF0000u 3087#define FW_PHY_INFO_ID_LO_MASK 0x0000FFFFu |
|
2924 2925/* Host Interface Command Structures */ 2926 | 3088 3089/* Host Interface Command Structures */ 3090 |
3091#pragma pack(push, 1) 3092 |
|
2927struct ixgbe_hic_hdr { 2928 u8 cmd; 2929 u8 buf_len; 2930 union { 2931 u8 cmd_resv; 2932 u8 ret_status; 2933 } cmd_or_resp; 2934 u8 checksum; --- 24 unchanged lines hidden (view full) --- 2959 u8 ver_sub; 2960 u8 ver_build; 2961 u8 ver_min; 2962 u8 ver_maj; 2963 u8 pad; /* end spacing to ensure length is mult. of dword */ 2964 u16 pad2; /* end spacing to ensure length is mult. of dword2 */ 2965}; 2966 | 3093struct ixgbe_hic_hdr { 3094 u8 cmd; 3095 u8 buf_len; 3096 union { 3097 u8 cmd_resv; 3098 u8 ret_status; 3099 } cmd_or_resp; 3100 u8 checksum; --- 24 unchanged lines hidden (view full) --- 3125 u8 ver_sub; 3126 u8 ver_build; 3127 u8 ver_min; 3128 u8 ver_maj; 3129 u8 pad; /* end spacing to ensure length is mult. of dword */ 3130 u16 pad2; /* end spacing to ensure length is mult. of dword2 */ 3131}; 3132 |
3133struct ixgbe_hic_drv_info2 { 3134 struct ixgbe_hic_hdr hdr; 3135 u8 port_num; 3136 u8 ver_sub; 3137 u8 ver_build; 3138 u8 ver_min; 3139 u8 ver_maj; 3140 char driver_string[FW_CEM_DRIVER_VERSION_SIZE]; 3141}; 3142 |
|
2967/* These need to be dword aligned */ 2968struct ixgbe_hic_read_shadow_ram { 2969 union ixgbe_hic_hdr2 hdr; 2970 u32 address; 2971 u16 length; 2972 u16 pad2; 2973 u16 data; 2974 u16 pad3; --- 10 unchanged lines hidden (view full) --- 2985 2986struct ixgbe_hic_disable_rxen { 2987 struct ixgbe_hic_hdr hdr; 2988 u8 port_number; 2989 u8 pad2; 2990 u16 pad3; 2991}; 2992 | 3143/* These need to be dword aligned */ 3144struct ixgbe_hic_read_shadow_ram { 3145 union ixgbe_hic_hdr2 hdr; 3146 u32 address; 3147 u16 length; 3148 u16 pad2; 3149 u16 data; 3150 u16 pad3; --- 10 unchanged lines hidden (view full) --- 3161 3162struct ixgbe_hic_disable_rxen { 3163 struct ixgbe_hic_hdr hdr; 3164 u8 port_number; 3165 u8 pad2; 3166 u16 pad3; 3167}; 3168 |
3169struct ixgbe_hic_phy_token_req { 3170 struct ixgbe_hic_hdr hdr; 3171 u8 port_number; 3172 u8 command_type; 3173 u16 pad; 3174}; 3175 |
|
2993struct ixgbe_hic_internal_phy_req { 2994 struct ixgbe_hic_hdr hdr; 2995 u8 port_number; 2996 u8 command_type; | 3176struct ixgbe_hic_internal_phy_req { 3177 struct ixgbe_hic_hdr hdr; 3178 u8 port_number; 3179 u8 command_type; |
2997 u16 address; | 3180 __be16 address; |
2998 u16 rsv1; | 3181 u16 rsv1; |
2999 u32 write_data; | 3182 __be32 write_data; |
3000 u16 pad; 3001}; 3002 3003struct ixgbe_hic_internal_phy_resp { 3004 struct ixgbe_hic_hdr hdr; | 3183 u16 pad; 3184}; 3185 3186struct ixgbe_hic_internal_phy_resp { 3187 struct ixgbe_hic_hdr hdr; |
3005 u32 read_data; | 3188 __be32 read_data; |
3006}; 3007 | 3189}; 3190 |
3191struct ixgbe_hic_phy_activity_req { 3192 struct ixgbe_hic_hdr hdr; 3193 u8 port_number; 3194 u8 pad; 3195 __le16 activity_id; 3196 __be32 data[FW_PHY_ACT_DATA_COUNT]; 3197}; |
|
3008 | 3198 |
3199struct ixgbe_hic_phy_activity_resp { 3200 struct ixgbe_hic_hdr hdr; 3201 __be32 data[FW_PHY_ACT_DATA_COUNT]; 3202}; 3203 3204#pragma pack(pop) 3205 |
|
3009/* Transmit Descriptor - Legacy */ 3010struct ixgbe_legacy_tx_desc { 3011 u64 buffer_addr; /* Address of the descriptor's data buffer */ 3012 union { 3013 __le32 data; 3014 struct { 3015 __le16 length; /* Data buffer length */ 3016 u8 cso; /* Checksum offset */ --- 108 unchanged lines hidden (view full) --- 3125#define IXGBE_ADVTXD_PAYLEN_SHIFT 14 /* Adv desc PAYLEN shift */ 3126#define IXGBE_ADVTXD_MACLEN_SHIFT 9 /* Adv ctxt desc mac len shift */ 3127#define IXGBE_ADVTXD_VLAN_SHIFT 16 /* Adv ctxt vlan tag shift */ 3128#define IXGBE_ADVTXD_TUCMD_IPV4 0x00000400 /* IP Packet Type: 1=IPv4 */ 3129#define IXGBE_ADVTXD_TUCMD_IPV6 0x00000000 /* IP Packet Type: 0=IPv6 */ 3130#define IXGBE_ADVTXD_TUCMD_L4T_UDP 0x00000000 /* L4 Packet TYPE of UDP */ 3131#define IXGBE_ADVTXD_TUCMD_L4T_TCP 0x00000800 /* L4 Packet TYPE of TCP */ 3132#define IXGBE_ADVTXD_TUCMD_L4T_SCTP 0x00001000 /* L4 Packet TYPE of SCTP */ | 3206/* Transmit Descriptor - Legacy */ 3207struct ixgbe_legacy_tx_desc { 3208 u64 buffer_addr; /* Address of the descriptor's data buffer */ 3209 union { 3210 __le32 data; 3211 struct { 3212 __le16 length; /* Data buffer length */ 3213 u8 cso; /* Checksum offset */ --- 108 unchanged lines hidden (view full) --- 3322#define IXGBE_ADVTXD_PAYLEN_SHIFT 14 /* Adv desc PAYLEN shift */ 3323#define IXGBE_ADVTXD_MACLEN_SHIFT 9 /* Adv ctxt desc mac len shift */ 3324#define IXGBE_ADVTXD_VLAN_SHIFT 16 /* Adv ctxt vlan tag shift */ 3325#define IXGBE_ADVTXD_TUCMD_IPV4 0x00000400 /* IP Packet Type: 1=IPv4 */ 3326#define IXGBE_ADVTXD_TUCMD_IPV6 0x00000000 /* IP Packet Type: 0=IPv6 */ 3327#define IXGBE_ADVTXD_TUCMD_L4T_UDP 0x00000000 /* L4 Packet TYPE of UDP */ 3328#define IXGBE_ADVTXD_TUCMD_L4T_TCP 0x00000800 /* L4 Packet TYPE of TCP */ 3329#define IXGBE_ADVTXD_TUCMD_L4T_SCTP 0x00001000 /* L4 Packet TYPE of SCTP */ |
3330#define IXGBE_ADVTXD_TUCMD_L4T_RSV 0x00001800 /* RSV L4 Packet TYPE */ |
|
3133#define IXGBE_ADVTXD_TUCMD_MKRREQ 0x00002000 /* req Markers and CRC */ 3134#define IXGBE_ADVTXD_POPTS_IPSEC 0x00000400 /* IPSec offload request */ 3135#define IXGBE_ADVTXD_TUCMD_IPSEC_TYPE_ESP 0x00002000 /* IPSec Type ESP */ 3136#define IXGBE_ADVTXD_TUCMD_IPSEC_ENCRYPT_EN 0x00004000/* ESP Encrypt Enable */ 3137#define IXGBE_ADVTXT_TUCMD_FCOE 0x00008000 /* FCoE Frame Type */ 3138#define IXGBE_ADVTXD_FCOEF_EOF_MASK (0x3 << 10) /* FC EOF index */ 3139#define IXGBE_ADVTXD_FCOEF_SOF ((1 << 2) << 10) /* FC SOF index */ 3140#define IXGBE_ADVTXD_FCOEF_PARINC ((1 << 3) << 10) /* Rel_Off in F_CTL */ --- 6 unchanged lines hidden (view full) --- 3147#define IXGBE_ADVTXD_L4LEN_SHIFT 8 /* Adv ctxt L4LEN shift */ 3148#define IXGBE_ADVTXD_MSS_SHIFT 16 /* Adv ctxt MSS shift */ 3149 3150#define IXGBE_ADVTXD_OUTER_IPLEN 16 /* Adv ctxt OUTERIPLEN shift */ 3151#define IXGBE_ADVTXD_TUNNEL_LEN 24 /* Adv ctxt TUNNELLEN shift */ 3152#define IXGBE_ADVTXD_TUNNEL_TYPE_SHIFT 16 /* Adv Tx Desc Tunnel Type shift */ 3153#define IXGBE_ADVTXD_OUTERIPCS_SHIFT 17 /* Adv Tx Desc OUTERIPCS Shift */ 3154#define IXGBE_ADVTXD_TUNNEL_TYPE_NVGRE 1 /* Adv Tx Desc Tunnel Type NVGRE */ | 3331#define IXGBE_ADVTXD_TUCMD_MKRREQ 0x00002000 /* req Markers and CRC */ 3332#define IXGBE_ADVTXD_POPTS_IPSEC 0x00000400 /* IPSec offload request */ 3333#define IXGBE_ADVTXD_TUCMD_IPSEC_TYPE_ESP 0x00002000 /* IPSec Type ESP */ 3334#define IXGBE_ADVTXD_TUCMD_IPSEC_ENCRYPT_EN 0x00004000/* ESP Encrypt Enable */ 3335#define IXGBE_ADVTXT_TUCMD_FCOE 0x00008000 /* FCoE Frame Type */ 3336#define IXGBE_ADVTXD_FCOEF_EOF_MASK (0x3 << 10) /* FC EOF index */ 3337#define IXGBE_ADVTXD_FCOEF_SOF ((1 << 2) << 10) /* FC SOF index */ 3338#define IXGBE_ADVTXD_FCOEF_PARINC ((1 << 3) << 10) /* Rel_Off in F_CTL */ --- 6 unchanged lines hidden (view full) --- 3345#define IXGBE_ADVTXD_L4LEN_SHIFT 8 /* Adv ctxt L4LEN shift */ 3346#define IXGBE_ADVTXD_MSS_SHIFT 16 /* Adv ctxt MSS shift */ 3347 3348#define IXGBE_ADVTXD_OUTER_IPLEN 16 /* Adv ctxt OUTERIPLEN shift */ 3349#define IXGBE_ADVTXD_TUNNEL_LEN 24 /* Adv ctxt TUNNELLEN shift */ 3350#define IXGBE_ADVTXD_TUNNEL_TYPE_SHIFT 16 /* Adv Tx Desc Tunnel Type shift */ 3351#define IXGBE_ADVTXD_OUTERIPCS_SHIFT 17 /* Adv Tx Desc OUTERIPCS Shift */ 3352#define IXGBE_ADVTXD_TUNNEL_TYPE_NVGRE 1 /* Adv Tx Desc Tunnel Type NVGRE */ |
3155 | 3353/* Adv Tx Desc OUTERIPCS Shift for X550EM_a */ 3354#define IXGBE_ADVTXD_OUTERIPCS_SHIFT_X550EM_a 26 |
3156/* Autonegotiation advertised speeds */ 3157typedef u32 ixgbe_autoneg_advertised; 3158/* Link speed */ 3159typedef u32 ixgbe_link_speed; 3160#define IXGBE_LINK_SPEED_UNKNOWN 0 | 3355/* Autonegotiation advertised speeds */ 3356typedef u32 ixgbe_autoneg_advertised; 3357/* Link speed */ 3358typedef u32 ixgbe_link_speed; 3359#define IXGBE_LINK_SPEED_UNKNOWN 0 |
3360#define IXGBE_LINK_SPEED_10_FULL 0x0002 |
|
3161#define IXGBE_LINK_SPEED_100_FULL 0x0008 3162#define IXGBE_LINK_SPEED_1GB_FULL 0x0020 3163#define IXGBE_LINK_SPEED_2_5GB_FULL 0x0400 3164#define IXGBE_LINK_SPEED_5GB_FULL 0x0800 3165#define IXGBE_LINK_SPEED_10GB_FULL 0x0080 3166#define IXGBE_LINK_SPEED_82598_AUTONEG (IXGBE_LINK_SPEED_1GB_FULL | \ 3167 IXGBE_LINK_SPEED_10GB_FULL) 3168#define IXGBE_LINK_SPEED_82599_AUTONEG (IXGBE_LINK_SPEED_100_FULL | \ 3169 IXGBE_LINK_SPEED_1GB_FULL | \ 3170 IXGBE_LINK_SPEED_10GB_FULL) 3171 3172/* Physical layer type */ | 3361#define IXGBE_LINK_SPEED_100_FULL 0x0008 3362#define IXGBE_LINK_SPEED_1GB_FULL 0x0020 3363#define IXGBE_LINK_SPEED_2_5GB_FULL 0x0400 3364#define IXGBE_LINK_SPEED_5GB_FULL 0x0800 3365#define IXGBE_LINK_SPEED_10GB_FULL 0x0080 3366#define IXGBE_LINK_SPEED_82598_AUTONEG (IXGBE_LINK_SPEED_1GB_FULL | \ 3367 IXGBE_LINK_SPEED_10GB_FULL) 3368#define IXGBE_LINK_SPEED_82599_AUTONEG (IXGBE_LINK_SPEED_100_FULL | \ 3369 IXGBE_LINK_SPEED_1GB_FULL | \ 3370 IXGBE_LINK_SPEED_10GB_FULL) 3371 3372/* Physical layer type */ |
3173typedef u32 ixgbe_physical_layer; | 3373typedef u64 ixgbe_physical_layer; |
3174#define IXGBE_PHYSICAL_LAYER_UNKNOWN 0 | 3374#define IXGBE_PHYSICAL_LAYER_UNKNOWN 0 |
3175#define IXGBE_PHYSICAL_LAYER_10GBASE_T 0x0001 3176#define IXGBE_PHYSICAL_LAYER_1000BASE_T 0x0002 3177#define IXGBE_PHYSICAL_LAYER_100BASE_TX 0x0004 3178#define IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU 0x0008 3179#define IXGBE_PHYSICAL_LAYER_10GBASE_LR 0x0010 3180#define IXGBE_PHYSICAL_LAYER_10GBASE_LRM 0x0020 3181#define IXGBE_PHYSICAL_LAYER_10GBASE_SR 0x0040 3182#define IXGBE_PHYSICAL_LAYER_10GBASE_KX4 0x0080 3183#define IXGBE_PHYSICAL_LAYER_10GBASE_CX4 0x0100 3184#define IXGBE_PHYSICAL_LAYER_1000BASE_KX 0x0200 3185#define IXGBE_PHYSICAL_LAYER_1000BASE_BX 0x0400 3186#define IXGBE_PHYSICAL_LAYER_10GBASE_KR 0x0800 3187#define IXGBE_PHYSICAL_LAYER_10GBASE_XAUI 0x1000 3188#define IXGBE_PHYSICAL_LAYER_SFP_ACTIVE_DA 0x2000 3189#define IXGBE_PHYSICAL_LAYER_1000BASE_SX 0x4000 | 3375#define IXGBE_PHYSICAL_LAYER_10GBASE_T 0x00001 3376#define IXGBE_PHYSICAL_LAYER_1000BASE_T 0x00002 3377#define IXGBE_PHYSICAL_LAYER_100BASE_TX 0x00004 3378#define IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU 0x00008 3379#define IXGBE_PHYSICAL_LAYER_10GBASE_LR 0x00010 3380#define IXGBE_PHYSICAL_LAYER_10GBASE_LRM 0x00020 3381#define IXGBE_PHYSICAL_LAYER_10GBASE_SR 0x00040 3382#define IXGBE_PHYSICAL_LAYER_10GBASE_KX4 0x00080 3383#define IXGBE_PHYSICAL_LAYER_10GBASE_CX4 0x00100 3384#define IXGBE_PHYSICAL_LAYER_1000BASE_KX 0x00200 3385#define IXGBE_PHYSICAL_LAYER_1000BASE_BX 0x00400 3386#define IXGBE_PHYSICAL_LAYER_10GBASE_KR 0x00800 3387#define IXGBE_PHYSICAL_LAYER_10GBASE_XAUI 0x01000 3388#define IXGBE_PHYSICAL_LAYER_SFP_ACTIVE_DA 0x02000 3389#define IXGBE_PHYSICAL_LAYER_1000BASE_SX 0x04000 3390#define IXGBE_PHYSICAL_LAYER_10BASE_T 0x08000 3391#define IXGBE_PHYSICAL_LAYER_2500BASE_KX 0x10000 |
3190 3191/* Flow Control Data Sheet defined values 3192 * Calculation and defines taken from 802.1bb Annex O 3193 */ 3194 3195/* BitTimes (BT) conversion */ 3196#define IXGBE_BT2KB(BT) ((BT + (8 * 1024 - 1)) / (8 * 1024)) 3197#define IXGBE_B2BT(BT) (BT * 8) --- 188 unchanged lines hidden (view full) --- 3386 ixgbe_mac_unknown = 0, 3387 ixgbe_mac_82598EB, 3388 ixgbe_mac_82599EB, 3389 ixgbe_mac_82599_vf, 3390 ixgbe_mac_X540, 3391 ixgbe_mac_X540_vf, 3392 ixgbe_mac_X550, 3393 ixgbe_mac_X550EM_x, | 3392 3393/* Flow Control Data Sheet defined values 3394 * Calculation and defines taken from 802.1bb Annex O 3395 */ 3396 3397/* BitTimes (BT) conversion */ 3398#define IXGBE_BT2KB(BT) ((BT + (8 * 1024 - 1)) / (8 * 1024)) 3399#define IXGBE_B2BT(BT) (BT * 8) --- 188 unchanged lines hidden (view full) --- 3588 ixgbe_mac_unknown = 0, 3589 ixgbe_mac_82598EB, 3590 ixgbe_mac_82599EB, 3591 ixgbe_mac_82599_vf, 3592 ixgbe_mac_X540, 3593 ixgbe_mac_X540_vf, 3594 ixgbe_mac_X550, 3595 ixgbe_mac_X550EM_x, |
3596 ixgbe_mac_X550EM_a, |
|
3394 ixgbe_mac_X550_vf, 3395 ixgbe_mac_X550EM_x_vf, | 3597 ixgbe_mac_X550_vf, 3598 ixgbe_mac_X550EM_x_vf, |
3599 ixgbe_mac_X550EM_a_vf, |
|
3396 ixgbe_num_macs 3397}; 3398 3399enum ixgbe_phy_type { 3400 ixgbe_phy_unknown = 0, 3401 ixgbe_phy_none, 3402 ixgbe_phy_tn, 3403 ixgbe_phy_aq, 3404 ixgbe_phy_x550em_kr, 3405 ixgbe_phy_x550em_kx4, | 3600 ixgbe_num_macs 3601}; 3602 3603enum ixgbe_phy_type { 3604 ixgbe_phy_unknown = 0, 3605 ixgbe_phy_none, 3606 ixgbe_phy_tn, 3607 ixgbe_phy_aq, 3608 ixgbe_phy_x550em_kr, 3609 ixgbe_phy_x550em_kx4, |
3610 ixgbe_phy_x550em_xfi, |
|
3406 ixgbe_phy_x550em_ext_t, | 3611 ixgbe_phy_x550em_ext_t, |
3612 ixgbe_phy_ext_1g_t, |
|
3407 ixgbe_phy_cu_unknown, 3408 ixgbe_phy_qt, 3409 ixgbe_phy_xaui, 3410 ixgbe_phy_nl, 3411 ixgbe_phy_sfp_passive_tyco, 3412 ixgbe_phy_sfp_passive_unknown, 3413 ixgbe_phy_sfp_active_unknown, 3414 ixgbe_phy_sfp_avago, 3415 ixgbe_phy_sfp_ftl, 3416 ixgbe_phy_sfp_ftl_active, 3417 ixgbe_phy_sfp_unknown, 3418 ixgbe_phy_sfp_intel, 3419 ixgbe_phy_qsfp_passive_unknown, 3420 ixgbe_phy_qsfp_active_unknown, 3421 ixgbe_phy_qsfp_intel, 3422 ixgbe_phy_qsfp_unknown, 3423 ixgbe_phy_sfp_unsupported, /*Enforce bit set with unsupported module*/ | 3613 ixgbe_phy_cu_unknown, 3614 ixgbe_phy_qt, 3615 ixgbe_phy_xaui, 3616 ixgbe_phy_nl, 3617 ixgbe_phy_sfp_passive_tyco, 3618 ixgbe_phy_sfp_passive_unknown, 3619 ixgbe_phy_sfp_active_unknown, 3620 ixgbe_phy_sfp_avago, 3621 ixgbe_phy_sfp_ftl, 3622 ixgbe_phy_sfp_ftl_active, 3623 ixgbe_phy_sfp_unknown, 3624 ixgbe_phy_sfp_intel, 3625 ixgbe_phy_qsfp_passive_unknown, 3626 ixgbe_phy_qsfp_active_unknown, 3627 ixgbe_phy_qsfp_intel, 3628 ixgbe_phy_qsfp_unknown, 3629 ixgbe_phy_sfp_unsupported, /*Enforce bit set with unsupported module*/ |
3630 ixgbe_phy_sgmii, 3631 ixgbe_phy_fw, |
|
3424 ixgbe_phy_generic 3425}; 3426 3427/* 3428 * SFP+ module type IDs: 3429 * 3430 * ID Module Type 3431 * ============= --- 99 unchanged lines hidden (view full) --- 3531 3532/* Bus parameters */ 3533struct ixgbe_bus_info { 3534 enum ixgbe_bus_speed speed; 3535 enum ixgbe_bus_width width; 3536 enum ixgbe_bus_type type; 3537 3538 u16 func; | 3632 ixgbe_phy_generic 3633}; 3634 3635/* 3636 * SFP+ module type IDs: 3637 * 3638 * ID Module Type 3639 * ============= --- 99 unchanged lines hidden (view full) --- 3739 3740/* Bus parameters */ 3741struct ixgbe_bus_info { 3742 enum ixgbe_bus_speed speed; 3743 enum ixgbe_bus_width width; 3744 enum ixgbe_bus_type type; 3745 3746 u16 func; |
3539 u16 lan_id; | 3747 u8 lan_id; 3748 u16 instance_id; |
3540}; 3541 3542/* Flow control parameters */ 3543struct ixgbe_fc_info { 3544 u32 high_water[IXGBE_DCB_MAX_TRAFFIC_CLASS]; /* Flow Ctrl High-water */ 3545 u32 low_water[IXGBE_DCB_MAX_TRAFFIC_CLASS]; /* Flow Ctrl Low-water */ 3546 u16 pause_time; /* Flow Control Pause timer */ 3547 bool send_xon; /* Flow control send XON */ --- 105 unchanged lines hidden (view full) --- 3653 3654struct ixgbe_mac_operations { 3655 s32 (*init_hw)(struct ixgbe_hw *); 3656 s32 (*reset_hw)(struct ixgbe_hw *); 3657 s32 (*start_hw)(struct ixgbe_hw *); 3658 s32 (*clear_hw_cntrs)(struct ixgbe_hw *); 3659 void (*enable_relaxed_ordering)(struct ixgbe_hw *); 3660 enum ixgbe_media_type (*get_media_type)(struct ixgbe_hw *); | 3749}; 3750 3751/* Flow control parameters */ 3752struct ixgbe_fc_info { 3753 u32 high_water[IXGBE_DCB_MAX_TRAFFIC_CLASS]; /* Flow Ctrl High-water */ 3754 u32 low_water[IXGBE_DCB_MAX_TRAFFIC_CLASS]; /* Flow Ctrl Low-water */ 3755 u16 pause_time; /* Flow Control Pause timer */ 3756 bool send_xon; /* Flow control send XON */ --- 105 unchanged lines hidden (view full) --- 3862 3863struct ixgbe_mac_operations { 3864 s32 (*init_hw)(struct ixgbe_hw *); 3865 s32 (*reset_hw)(struct ixgbe_hw *); 3866 s32 (*start_hw)(struct ixgbe_hw *); 3867 s32 (*clear_hw_cntrs)(struct ixgbe_hw *); 3868 void (*enable_relaxed_ordering)(struct ixgbe_hw *); 3869 enum ixgbe_media_type (*get_media_type)(struct ixgbe_hw *); |
3661 u32 (*get_supported_physical_layer)(struct ixgbe_hw *); | 3870 u64 (*get_supported_physical_layer)(struct ixgbe_hw *); |
3662 s32 (*get_mac_addr)(struct ixgbe_hw *, u8 *); 3663 s32 (*get_san_mac_addr)(struct ixgbe_hw *, u8 *); 3664 s32 (*set_san_mac_addr)(struct ixgbe_hw *, u8 *); 3665 s32 (*get_device_caps)(struct ixgbe_hw *, u16 *); 3666 s32 (*get_wwn_prefix)(struct ixgbe_hw *, u16 *, u16 *); 3667 s32 (*get_fcoe_boot_status)(struct ixgbe_hw *, u16 *); 3668 s32 (*stop_adapter)(struct ixgbe_hw *); 3669 s32 (*get_bus_info)(struct ixgbe_hw *); | 3871 s32 (*get_mac_addr)(struct ixgbe_hw *, u8 *); 3872 s32 (*get_san_mac_addr)(struct ixgbe_hw *, u8 *); 3873 s32 (*set_san_mac_addr)(struct ixgbe_hw *, u8 *); 3874 s32 (*get_device_caps)(struct ixgbe_hw *, u16 *); 3875 s32 (*get_wwn_prefix)(struct ixgbe_hw *, u16 *, u16 *); 3876 s32 (*get_fcoe_boot_status)(struct ixgbe_hw *, u16 *); 3877 s32 (*stop_adapter)(struct ixgbe_hw *); 3878 s32 (*get_bus_info)(struct ixgbe_hw *); |
3879 s32 (*negotiate_api_version)(struct ixgbe_hw *, int); |
|
3670 void (*set_lan_id)(struct ixgbe_hw *); 3671 s32 (*read_analog_reg8)(struct ixgbe_hw*, u32, u8*); 3672 s32 (*write_analog_reg8)(struct ixgbe_hw*, u32, u8); 3673 s32 (*setup_sfp)(struct ixgbe_hw *); 3674 s32 (*enable_rx_dma)(struct ixgbe_hw *, u32); 3675 s32 (*disable_sec_rx_path)(struct ixgbe_hw *); 3676 s32 (*enable_sec_rx_path)(struct ixgbe_hw *); 3677 s32 (*acquire_swfw_sync)(struct ixgbe_hw *, u32); 3678 void (*release_swfw_sync)(struct ixgbe_hw *, u32); | 3880 void (*set_lan_id)(struct ixgbe_hw *); 3881 s32 (*read_analog_reg8)(struct ixgbe_hw*, u32, u8*); 3882 s32 (*write_analog_reg8)(struct ixgbe_hw*, u32, u8); 3883 s32 (*setup_sfp)(struct ixgbe_hw *); 3884 s32 (*enable_rx_dma)(struct ixgbe_hw *, u32); 3885 s32 (*disable_sec_rx_path)(struct ixgbe_hw *); 3886 s32 (*enable_sec_rx_path)(struct ixgbe_hw *); 3887 s32 (*acquire_swfw_sync)(struct ixgbe_hw *, u32); 3888 void (*release_swfw_sync)(struct ixgbe_hw *, u32); |
3889 void (*init_swfw_sync)(struct ixgbe_hw *); |
|
3679 s32 (*prot_autoc_read)(struct ixgbe_hw *, bool *, u32 *); 3680 s32 (*prot_autoc_write)(struct ixgbe_hw *, u32, bool); 3681 3682 /* Link */ 3683 void (*disable_tx_laser)(struct ixgbe_hw *); 3684 void (*enable_tx_laser)(struct ixgbe_hw *); 3685 void (*flap_tx_laser)(struct ixgbe_hw *); 3686 s32 (*setup_link)(struct ixgbe_hw *, ixgbe_link_speed, bool); --- 6 unchanged lines hidden (view full) --- 3693 /* Packet Buffer manipulation */ 3694 void (*setup_rxpba)(struct ixgbe_hw *, int, u32, int); 3695 3696 /* LED */ 3697 s32 (*led_on)(struct ixgbe_hw *, u32); 3698 s32 (*led_off)(struct ixgbe_hw *, u32); 3699 s32 (*blink_led_start)(struct ixgbe_hw *, u32); 3700 s32 (*blink_led_stop)(struct ixgbe_hw *, u32); | 3890 s32 (*prot_autoc_read)(struct ixgbe_hw *, bool *, u32 *); 3891 s32 (*prot_autoc_write)(struct ixgbe_hw *, u32, bool); 3892 3893 /* Link */ 3894 void (*disable_tx_laser)(struct ixgbe_hw *); 3895 void (*enable_tx_laser)(struct ixgbe_hw *); 3896 void (*flap_tx_laser)(struct ixgbe_hw *); 3897 s32 (*setup_link)(struct ixgbe_hw *, ixgbe_link_speed, bool); --- 6 unchanged lines hidden (view full) --- 3904 /* Packet Buffer manipulation */ 3905 void (*setup_rxpba)(struct ixgbe_hw *, int, u32, int); 3906 3907 /* LED */ 3908 s32 (*led_on)(struct ixgbe_hw *, u32); 3909 s32 (*led_off)(struct ixgbe_hw *, u32); 3910 s32 (*blink_led_start)(struct ixgbe_hw *, u32); 3911 s32 (*blink_led_stop)(struct ixgbe_hw *, u32); |
3912 s32 (*init_led_link_act)(struct ixgbe_hw *); |
|
3701 3702 /* RAR, Multicast, VLAN */ 3703 s32 (*set_rar)(struct ixgbe_hw *, u32, u8 *, u32, u32); 3704 s32 (*set_uc_addr)(struct ixgbe_hw *, u32, u8 *); 3705 s32 (*clear_rar)(struct ixgbe_hw *, u32); 3706 s32 (*insert_mac_addr)(struct ixgbe_hw *, u8 *, u32); 3707 s32 (*set_vmdq)(struct ixgbe_hw *, u32, u32); 3708 s32 (*set_vmdq_san_mac)(struct ixgbe_hw *, u32); 3709 s32 (*clear_vmdq)(struct ixgbe_hw *, u32, u32); 3710 s32 (*init_rx_addrs)(struct ixgbe_hw *); 3711 s32 (*update_uc_addr_list)(struct ixgbe_hw *, u8 *, u32, 3712 ixgbe_mc_addr_itr); 3713 s32 (*update_mc_addr_list)(struct ixgbe_hw *, u8 *, u32, 3714 ixgbe_mc_addr_itr, bool clear); | 3913 3914 /* RAR, Multicast, VLAN */ 3915 s32 (*set_rar)(struct ixgbe_hw *, u32, u8 *, u32, u32); 3916 s32 (*set_uc_addr)(struct ixgbe_hw *, u32, u8 *); 3917 s32 (*clear_rar)(struct ixgbe_hw *, u32); 3918 s32 (*insert_mac_addr)(struct ixgbe_hw *, u8 *, u32); 3919 s32 (*set_vmdq)(struct ixgbe_hw *, u32, u32); 3920 s32 (*set_vmdq_san_mac)(struct ixgbe_hw *, u32); 3921 s32 (*clear_vmdq)(struct ixgbe_hw *, u32, u32); 3922 s32 (*init_rx_addrs)(struct ixgbe_hw *); 3923 s32 (*update_uc_addr_list)(struct ixgbe_hw *, u8 *, u32, 3924 ixgbe_mc_addr_itr); 3925 s32 (*update_mc_addr_list)(struct ixgbe_hw *, u8 *, u32, 3926 ixgbe_mc_addr_itr, bool clear); |
3927 s32 (*update_xcast_mode)(struct ixgbe_hw *, int); |
|
3715 s32 (*enable_mc)(struct ixgbe_hw *); 3716 s32 (*disable_mc)(struct ixgbe_hw *); 3717 s32 (*clear_vfta)(struct ixgbe_hw *); | 3928 s32 (*enable_mc)(struct ixgbe_hw *); 3929 s32 (*disable_mc)(struct ixgbe_hw *); 3930 s32 (*clear_vfta)(struct ixgbe_hw *); |
3718 s32 (*set_vfta)(struct ixgbe_hw *, u32, u32, bool); 3719 s32 (*set_vlvf)(struct ixgbe_hw *, u32, u32, bool, bool *); | 3931 s32 (*set_vfta)(struct ixgbe_hw *, u32, u32, bool, bool); 3932 s32 (*set_vlvf)(struct ixgbe_hw *, u32, u32, bool, u32 *, u32, 3933 bool); 3934 s32 (*set_rlpml)(struct ixgbe_hw *, u16); |
3720 s32 (*init_uta_tables)(struct ixgbe_hw *); 3721 void (*set_mac_anti_spoofing)(struct ixgbe_hw *, bool, int); 3722 void (*set_vlan_anti_spoofing)(struct ixgbe_hw *, bool, int); 3723 3724 /* Flow Control */ 3725 s32 (*fc_enable)(struct ixgbe_hw *); 3726 s32 (*setup_fc)(struct ixgbe_hw *); | 3935 s32 (*init_uta_tables)(struct ixgbe_hw *); 3936 void (*set_mac_anti_spoofing)(struct ixgbe_hw *, bool, int); 3937 void (*set_vlan_anti_spoofing)(struct ixgbe_hw *, bool, int); 3938 3939 /* Flow Control */ 3940 s32 (*fc_enable)(struct ixgbe_hw *); 3941 s32 (*setup_fc)(struct ixgbe_hw *); |
3942 void (*fc_autoneg)(struct ixgbe_hw *); |
|
3727 3728 /* Manageability interface */ | 3943 3944 /* Manageability interface */ |
3729 s32 (*set_fw_drv_ver)(struct ixgbe_hw *, u8, u8, u8, u8); | 3945 s32 (*set_fw_drv_ver)(struct ixgbe_hw *, u8, u8, u8, u8, u16, 3946 const char *); 3947 s32 (*bypass_rw) (struct ixgbe_hw *hw, u32 cmd, u32 *status); 3948 bool (*bypass_valid_rd) (u32 in_reg, u32 out_reg); 3949 s32 (*bypass_set) (struct ixgbe_hw *hw, u32 cmd, u32 event, u32 action); 3950 s32 (*bypass_rd_eep) (struct ixgbe_hw *hw, u32 addr, u8 *value); |
3730 void (*get_rtrup2tc)(struct ixgbe_hw *hw, u8 *map); 3731 void (*disable_rx)(struct ixgbe_hw *hw); 3732 void (*enable_rx)(struct ixgbe_hw *hw); 3733 void (*set_source_address_pruning)(struct ixgbe_hw *, bool, 3734 unsigned int); 3735 void (*set_ethertype_anti_spoofing)(struct ixgbe_hw *, bool, int); 3736 s32 (*dmac_update_tcs)(struct ixgbe_hw *hw); 3737 s32 (*dmac_config_tcs)(struct ixgbe_hw *hw); --- 22 unchanged lines hidden (view full) --- 3760 s32 (*check_link)(struct ixgbe_hw *, ixgbe_link_speed *, bool *); 3761 s32 (*get_firmware_version)(struct ixgbe_hw *, u16 *); 3762 s32 (*read_i2c_byte)(struct ixgbe_hw *, u8, u8, u8 *); 3763 s32 (*write_i2c_byte)(struct ixgbe_hw *, u8, u8, u8); 3764 s32 (*read_i2c_sff8472)(struct ixgbe_hw *, u8 , u8 *); 3765 s32 (*read_i2c_eeprom)(struct ixgbe_hw *, u8 , u8 *); 3766 s32 (*write_i2c_eeprom)(struct ixgbe_hw *, u8, u8); 3767 void (*i2c_bus_clear)(struct ixgbe_hw *); | 3951 void (*get_rtrup2tc)(struct ixgbe_hw *hw, u8 *map); 3952 void (*disable_rx)(struct ixgbe_hw *hw); 3953 void (*enable_rx)(struct ixgbe_hw *hw); 3954 void (*set_source_address_pruning)(struct ixgbe_hw *, bool, 3955 unsigned int); 3956 void (*set_ethertype_anti_spoofing)(struct ixgbe_hw *, bool, int); 3957 s32 (*dmac_update_tcs)(struct ixgbe_hw *hw); 3958 s32 (*dmac_config_tcs)(struct ixgbe_hw *hw); --- 22 unchanged lines hidden (view full) --- 3981 s32 (*check_link)(struct ixgbe_hw *, ixgbe_link_speed *, bool *); 3982 s32 (*get_firmware_version)(struct ixgbe_hw *, u16 *); 3983 s32 (*read_i2c_byte)(struct ixgbe_hw *, u8, u8, u8 *); 3984 s32 (*write_i2c_byte)(struct ixgbe_hw *, u8, u8, u8); 3985 s32 (*read_i2c_sff8472)(struct ixgbe_hw *, u8 , u8 *); 3986 s32 (*read_i2c_eeprom)(struct ixgbe_hw *, u8 , u8 *); 3987 s32 (*write_i2c_eeprom)(struct ixgbe_hw *, u8, u8); 3988 void (*i2c_bus_clear)(struct ixgbe_hw *); |
3768 s32 (*read_i2c_combined)(struct ixgbe_hw *, u8 addr, u16 reg, u16 *val); 3769 s32 (*write_i2c_combined)(struct ixgbe_hw *, u8 addr, u16 reg, u16 val); | |
3770 s32 (*check_overtemp)(struct ixgbe_hw *); 3771 s32 (*set_phy_power)(struct ixgbe_hw *, bool on); 3772 s32 (*enter_lplu)(struct ixgbe_hw *); 3773 s32 (*handle_lasi)(struct ixgbe_hw *hw); | 3989 s32 (*check_overtemp)(struct ixgbe_hw *); 3990 s32 (*set_phy_power)(struct ixgbe_hw *, bool on); 3991 s32 (*enter_lplu)(struct ixgbe_hw *); 3992 s32 (*handle_lasi)(struct ixgbe_hw *hw); |
3774 s32 (*read_i2c_combined_unlocked)(struct ixgbe_hw *, u8 addr, u16 reg, 3775 u16 *value); 3776 s32 (*write_i2c_combined_unlocked)(struct ixgbe_hw *, u8 addr, u16 reg, 3777 u16 value); | |
3778 s32 (*read_i2c_byte_unlocked)(struct ixgbe_hw *, u8 offset, u8 addr, 3779 u8 *value); 3780 s32 (*write_i2c_byte_unlocked)(struct ixgbe_hw *, u8 offset, u8 addr, 3781 u8 value); 3782}; 3783 | 3993 s32 (*read_i2c_byte_unlocked)(struct ixgbe_hw *, u8 offset, u8 addr, 3994 u8 *value); 3995 s32 (*write_i2c_byte_unlocked)(struct ixgbe_hw *, u8 offset, u8 addr, 3996 u8 value); 3997}; 3998 |
3999struct ixgbe_link_operations { 4000 s32 (*read_link)(struct ixgbe_hw *, u8 addr, u16 reg, u16 *val); 4001 s32 (*read_link_unlocked)(struct ixgbe_hw *, u8 addr, u16 reg, 4002 u16 *val); 4003 s32 (*write_link)(struct ixgbe_hw *, u8 addr, u16 reg, u16 val); 4004 s32 (*write_link_unlocked)(struct ixgbe_hw *, u8 addr, u16 reg, 4005 u16 val); 4006}; 4007 4008struct ixgbe_link_info { 4009 struct ixgbe_link_operations ops; 4010 u8 addr; 4011}; 4012 |
|
3784struct ixgbe_eeprom_info { 3785 struct ixgbe_eeprom_operations ops; 3786 enum ixgbe_eeprom_type type; 3787 u32 semaphore_delay; 3788 u16 word_size; 3789 u16 address_bits; 3790 u16 word_page_size; 3791 u16 ctrl_word_3; --- 27 unchanged lines hidden (view full) --- 3819 u16 max_msix_vectors; 3820 bool arc_subsystem_valid; 3821 bool orig_link_settings_stored; 3822 bool autotry_restart; 3823 u8 flags; 3824 struct ixgbe_dmac_config dmac_config; 3825 bool set_lben; 3826 u32 max_link_up_time; | 4013struct ixgbe_eeprom_info { 4014 struct ixgbe_eeprom_operations ops; 4015 enum ixgbe_eeprom_type type; 4016 u32 semaphore_delay; 4017 u16 word_size; 4018 u16 address_bits; 4019 u16 word_page_size; 4020 u16 ctrl_word_3; --- 27 unchanged lines hidden (view full) --- 4048 u16 max_msix_vectors; 4049 bool arc_subsystem_valid; 4050 bool orig_link_settings_stored; 4051 bool autotry_restart; 4052 u8 flags; 4053 struct ixgbe_dmac_config dmac_config; 4054 bool set_lben; 4055 u32 max_link_up_time; |
4056 u8 led_link_act; |
|
3827}; 3828 3829struct ixgbe_phy_info { 3830 struct ixgbe_phy_operations ops; 3831 enum ixgbe_phy_type type; 3832 u32 addr; 3833 u32 id; 3834 enum ixgbe_sfp_type sfp_type; 3835 bool sfp_setup_needed; 3836 u32 revision; 3837 enum ixgbe_media_type media_type; 3838 u32 phy_semaphore_mask; 3839 bool reset_disable; 3840 ixgbe_autoneg_advertised autoneg_advertised; 3841 ixgbe_link_speed speeds_supported; | 4057}; 4058 4059struct ixgbe_phy_info { 4060 struct ixgbe_phy_operations ops; 4061 enum ixgbe_phy_type type; 4062 u32 addr; 4063 u32 id; 4064 enum ixgbe_sfp_type sfp_type; 4065 bool sfp_setup_needed; 4066 u32 revision; 4067 enum ixgbe_media_type media_type; 4068 u32 phy_semaphore_mask; 4069 bool reset_disable; 4070 ixgbe_autoneg_advertised autoneg_advertised; 4071 ixgbe_link_speed speeds_supported; |
4072 ixgbe_link_speed eee_speeds_supported; 4073 ixgbe_link_speed eee_speeds_advertised; |
|
3842 enum ixgbe_smart_speed smart_speed; 3843 bool smart_speed_active; 3844 bool multispeed_fiber; 3845 bool reset_if_overtemp; 3846 bool qsfp_shared_i2c_bus; 3847 u32 nw_mng_if_sel; 3848}; 3849 --- 30 unchanged lines hidden (view full) --- 3880 3881struct ixgbe_hw { 3882 u8 IOMEM *hw_addr; 3883 void *back; 3884 struct ixgbe_mac_info mac; 3885 struct ixgbe_addr_filter_info addr_ctrl; 3886 struct ixgbe_fc_info fc; 3887 struct ixgbe_phy_info phy; | 4074 enum ixgbe_smart_speed smart_speed; 4075 bool smart_speed_active; 4076 bool multispeed_fiber; 4077 bool reset_if_overtemp; 4078 bool qsfp_shared_i2c_bus; 4079 u32 nw_mng_if_sel; 4080}; 4081 --- 30 unchanged lines hidden (view full) --- 4112 4113struct ixgbe_hw { 4114 u8 IOMEM *hw_addr; 4115 void *back; 4116 struct ixgbe_mac_info mac; 4117 struct ixgbe_addr_filter_info addr_ctrl; 4118 struct ixgbe_fc_info fc; 4119 struct ixgbe_phy_info phy; |
4120 struct ixgbe_link_info link; |
|
3888 struct ixgbe_eeprom_info eeprom; 3889 struct ixgbe_bus_info bus; 3890 struct ixgbe_mbx_info mbx; 3891 const u32 *mvals; 3892 u16 device_id; 3893 u16 vendor_id; 3894 u16 subsystem_device_id; 3895 u16 subsystem_vendor_id; 3896 u8 revision_id; 3897 bool adapter_stopped; 3898 int api_version; 3899 bool force_full_reset; 3900 bool allow_unsupported_sfp; 3901 bool wol_enabled; | 4121 struct ixgbe_eeprom_info eeprom; 4122 struct ixgbe_bus_info bus; 4123 struct ixgbe_mbx_info mbx; 4124 const u32 *mvals; 4125 u16 device_id; 4126 u16 vendor_id; 4127 u16 subsystem_device_id; 4128 u16 subsystem_vendor_id; 4129 u8 revision_id; 4130 bool adapter_stopped; 4131 int api_version; 4132 bool force_full_reset; 4133 bool allow_unsupported_sfp; 4134 bool wol_enabled; |
4135 bool need_crosstalk_fix; |
|
3902}; 3903 3904#define ixgbe_call_func(hw, func, params, error) \ 3905 (func != NULL) ? func params : error 3906 3907 3908/* Error Codes */ 3909#define IXGBE_SUCCESS 0 --- 25 unchanged lines hidden (view full) --- 3935#define IXGBE_ERR_OVERTEMP -26 3936#define IXGBE_ERR_FC_NOT_NEGOTIATED -27 3937#define IXGBE_ERR_FC_NOT_SUPPORTED -28 3938#define IXGBE_ERR_SFP_SETUP_NOT_COMPLETE -30 3939#define IXGBE_ERR_PBA_SECTION -31 3940#define IXGBE_ERR_INVALID_ARGUMENT -32 3941#define IXGBE_ERR_HOST_INTERFACE_COMMAND -33 3942#define IXGBE_ERR_OUT_OF_MEM -34 | 4136}; 4137 4138#define ixgbe_call_func(hw, func, params, error) \ 4139 (func != NULL) ? func params : error 4140 4141 4142/* Error Codes */ 4143#define IXGBE_SUCCESS 0 --- 25 unchanged lines hidden (view full) --- 4169#define IXGBE_ERR_OVERTEMP -26 4170#define IXGBE_ERR_FC_NOT_NEGOTIATED -27 4171#define IXGBE_ERR_FC_NOT_SUPPORTED -28 4172#define IXGBE_ERR_SFP_SETUP_NOT_COMPLETE -30 4173#define IXGBE_ERR_PBA_SECTION -31 4174#define IXGBE_ERR_INVALID_ARGUMENT -32 4175#define IXGBE_ERR_HOST_INTERFACE_COMMAND -33 4176#define IXGBE_ERR_OUT_OF_MEM -34 |
4177#define IXGBE_BYPASS_FW_WRITE_FAILURE -35 |
|
3943#define IXGBE_ERR_FEATURE_NOT_SUPPORTED -36 3944#define IXGBE_ERR_EEPROM_PROTECTED_REGION -37 3945#define IXGBE_ERR_FDIR_CMD_INCOMPLETE -38 | 4178#define IXGBE_ERR_FEATURE_NOT_SUPPORTED -36 4179#define IXGBE_ERR_EEPROM_PROTECTED_REGION -37 4180#define IXGBE_ERR_FDIR_CMD_INCOMPLETE -38 |
4181#define IXGBE_ERR_FW_RESP_INVALID -39 4182#define IXGBE_ERR_TOKEN_RETRY -40 |
|
3946 3947#define IXGBE_NOT_IMPLEMENTED 0x7FFFFFFF 3948 3949 | 4183 4184#define IXGBE_NOT_IMPLEMENTED 0x7FFFFFFF 4185 4186 |
4187#define BYPASS_PAGE_CTL0 0x00000000 4188#define BYPASS_PAGE_CTL1 0x40000000 4189#define BYPASS_PAGE_CTL2 0x80000000 4190#define BYPASS_PAGE_M 0xc0000000 4191#define BYPASS_WE 0x20000000 4192 4193#define BYPASS_AUTO 0x0 4194#define BYPASS_NOP 0x0 4195#define BYPASS_NORM 0x1 4196#define BYPASS_BYPASS 0x2 4197#define BYPASS_ISOLATE 0x3 4198 4199#define BYPASS_EVENT_MAIN_ON 0x1 4200#define BYPASS_EVENT_AUX_ON 0x2 4201#define BYPASS_EVENT_MAIN_OFF 0x3 4202#define BYPASS_EVENT_AUX_OFF 0x4 4203#define BYPASS_EVENT_WDT_TO 0x5 4204#define BYPASS_EVENT_USR 0x6 4205 4206#define BYPASS_MODE_OFF_M 0x00000003 4207#define BYPASS_STATUS_OFF_M 0x0000000c 4208#define BYPASS_AUX_ON_M 0x00000030 4209#define BYPASS_MAIN_ON_M 0x000000c0 4210#define BYPASS_MAIN_OFF_M 0x00000300 4211#define BYPASS_AUX_OFF_M 0x00000c00 4212#define BYPASS_WDTIMEOUT_M 0x00003000 4213#define BYPASS_WDT_ENABLE_M 0x00004000 4214#define BYPASS_WDT_VALUE_M 0x00070000 4215 4216#define BYPASS_MODE_OFF_SHIFT 0 4217#define BYPASS_STATUS_OFF_SHIFT 2 4218#define BYPASS_AUX_ON_SHIFT 4 4219#define BYPASS_MAIN_ON_SHIFT 6 4220#define BYPASS_MAIN_OFF_SHIFT 8 4221#define BYPASS_AUX_OFF_SHIFT 10 4222#define BYPASS_WDTIMEOUT_SHIFT 12 4223#define BYPASS_WDT_ENABLE_SHIFT 14 4224#define BYPASS_WDT_TIME_SHIFT 16 4225 4226#define BYPASS_WDT_1 0x0 4227#define BYPASS_WDT_1_5 0x1 4228#define BYPASS_WDT_2 0x2 4229#define BYPASS_WDT_3 0x3 4230#define BYPASS_WDT_4 0x4 4231#define BYPASS_WDT_8 0x5 4232#define BYPASS_WDT_16 0x6 4233#define BYPASS_WDT_32 0x7 4234#define BYPASS_WDT_OFF 0xffff 4235 4236#define BYPASS_CTL1_TIME_M 0x01ffffff 4237#define BYPASS_CTL1_VALID_M 0x02000000 4238#define BYPASS_CTL1_OFFTRST_M 0x04000000 4239#define BYPASS_CTL1_WDT_PET_M 0x08000000 4240 4241#define BYPASS_CTL1_VALID 0x02000000 4242#define BYPASS_CTL1_OFFTRST 0x04000000 4243#define BYPASS_CTL1_WDT_PET 0x08000000 4244 4245#define BYPASS_CTL2_DATA_M 0x000000ff 4246#define BYPASS_CTL2_OFFSET_M 0x0000ff00 4247#define BYPASS_CTL2_RW_M 0x00010000 4248#define BYPASS_CTL2_HEAD_M 0x0ff00000 4249 4250#define BYPASS_CTL2_OFFSET_SHIFT 8 4251#define BYPASS_CTL2_HEAD_SHIFT 20 4252 4253#define BYPASS_CTL2_RW 0x00010000 4254 4255struct ixgbe_bypass_eeprom { 4256 u32 logs; 4257 u32 clear_off; 4258 u8 actions; 4259}; 4260 4261#define BYPASS_MAX_LOGS 43 4262#define BYPASS_LOG_SIZE 5 4263#define BYPASS_LOG_LINE_SIZE 37 4264 4265#define BYPASS_EEPROM_VER_ADD 0x02 4266 4267#define BYPASS_LOG_TIME_M 0x01ffffff 4268#define BYPASS_LOG_TIME_VALID_M 0x02000000 4269#define BYPASS_LOG_HEAD_M 0x04000000 4270#define BYPASS_LOG_CLEAR_M 0x08000000 4271#define BYPASS_LOG_EVENT_M 0xf0000000 4272#define BYPASS_LOG_ACTION_M 0x03 4273 4274#define BYPASS_LOG_EVENT_SHIFT 28 4275#define BYPASS_LOG_CLEAR_SHIFT 24 /* bit offset */ 4276 4277 |
|
3950#define IXGBE_FUSES0_GROUP(_i) (0x11158 + ((_i) * 4)) 3951#define IXGBE_FUSES0_300MHZ (1 << 5) | 4278#define IXGBE_FUSES0_GROUP(_i) (0x11158 + ((_i) * 4)) 4279#define IXGBE_FUSES0_300MHZ (1 << 5) |
3952#define IXGBE_FUSES0_REV1 (1 << 6) | 4280#define IXGBE_FUSES0_REV_MASK (3 << 6) |
3953 3954#define IXGBE_KRM_PORT_CAR_GEN_CTRL(P) ((P) ? 0x8010 : 0x4010) | 4281 4282#define IXGBE_KRM_PORT_CAR_GEN_CTRL(P) ((P) ? 0x8010 : 0x4010) |
4283#define IXGBE_KRM_LINK_S1(P) ((P) ? 0x8200 : 0x4200) |
|
3955#define IXGBE_KRM_LINK_CTRL_1(P) ((P) ? 0x820C : 0x420C) 3956#define IXGBE_KRM_AN_CNTL_1(P) ((P) ? 0x822C : 0x422C) | 4284#define IXGBE_KRM_LINK_CTRL_1(P) ((P) ? 0x820C : 0x420C) 4285#define IXGBE_KRM_AN_CNTL_1(P) ((P) ? 0x822C : 0x422C) |
4286#define IXGBE_KRM_AN_CNTL_4(P) ((P) ? 0x8238 : 0x4238) 4287#define IXGBE_KRM_AN_CNTL_8(P) ((P) ? 0x8248 : 0x4248) 4288#define IXGBE_KRM_PCS_KX_AN(P) ((P) ? 0x9918 : 0x5918) 4289#define IXGBE_KRM_PCS_KX_AN_LP(P) ((P) ? 0x991C : 0x591C) 4290#define IXGBE_KRM_SGMII_CTRL(P) ((P) ? 0x82A0 : 0x42A0) 4291#define IXGBE_KRM_LP_BASE_PAGE_HIGH(P) ((P) ? 0x836C : 0x436C) |
|
3957#define IXGBE_KRM_DSP_TXFFE_STATE_4(P) ((P) ? 0x8634 : 0x4634) 3958#define IXGBE_KRM_DSP_TXFFE_STATE_5(P) ((P) ? 0x8638 : 0x4638) 3959#define IXGBE_KRM_RX_TRN_LINKUP_CTRL(P) ((P) ? 0x8B00 : 0x4B00) 3960#define IXGBE_KRM_PMD_DFX_BURNIN(P) ((P) ? 0x8E00 : 0x4E00) | 4292#define IXGBE_KRM_DSP_TXFFE_STATE_4(P) ((P) ? 0x8634 : 0x4634) 4293#define IXGBE_KRM_DSP_TXFFE_STATE_5(P) ((P) ? 0x8638 : 0x4638) 4294#define IXGBE_KRM_RX_TRN_LINKUP_CTRL(P) ((P) ? 0x8B00 : 0x4B00) 4295#define IXGBE_KRM_PMD_DFX_BURNIN(P) ((P) ? 0x8E00 : 0x4E00) |
4296#define IXGBE_KRM_PMD_FLX_MASK_ST20(P) ((P) ? 0x9054 : 0x5054) |
|
3961#define IXGBE_KRM_TX_COEFF_CTRL_1(P) ((P) ? 0x9520 : 0x5520) 3962#define IXGBE_KRM_RX_ANA_CTL(P) ((P) ? 0x9A00 : 0x5A00) 3963 | 4297#define IXGBE_KRM_TX_COEFF_CTRL_1(P) ((P) ? 0x9520 : 0x5520) 4298#define IXGBE_KRM_RX_ANA_CTL(P) ((P) ? 0x9A00 : 0x5A00) 4299 |
4300#define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_DA ~(0x3 << 20) 4301#define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_SR (1u << 20) 4302#define IXGBE_KRM_PMD_FLX_MASK_ST20_SFI_10G_LR (0x2 << 20) 4303#define IXGBE_KRM_PMD_FLX_MASK_ST20_SGMII_EN (1u << 25) 4304#define IXGBE_KRM_PMD_FLX_MASK_ST20_AN37_EN (1u << 26) 4305#define IXGBE_KRM_PMD_FLX_MASK_ST20_AN_EN (1u << 27) 4306#define IXGBE_KRM_PMD_FLX_MASK_ST20_SPEED_10M ~(0x7 << 28) 4307#define IXGBE_KRM_PMD_FLX_MASK_ST20_SPEED_100M (1u << 28) 4308#define IXGBE_KRM_PMD_FLX_MASK_ST20_SPEED_1G (0x2 << 28) 4309#define IXGBE_KRM_PMD_FLX_MASK_ST20_SPEED_10G (0x3 << 28) 4310#define IXGBE_KRM_PMD_FLX_MASK_ST20_SPEED_AN (0x4 << 28) 4311#define IXGBE_KRM_PMD_FLX_MASK_ST20_SPEED_2_5G (0x7 << 28) 4312#define IXGBE_KRM_PMD_FLX_MASK_ST20_SPEED_MASK (0x7 << 28) 4313#define IXGBE_KRM_PMD_FLX_MASK_ST20_FW_AN_RESTART (1u << 31) 4314 |
|
3964#define IXGBE_KRM_PORT_CAR_GEN_CTRL_NELB_32B (1 << 9) 3965#define IXGBE_KRM_PORT_CAR_GEN_CTRL_NELB_KRPCS (1 << 11) 3966 3967#define IXGBE_KRM_LINK_CTRL_1_TETH_FORCE_SPEED_MASK (0x7 << 8) 3968#define IXGBE_KRM_LINK_CTRL_1_TETH_FORCE_SPEED_1G (2 << 8) 3969#define IXGBE_KRM_LINK_CTRL_1_TETH_FORCE_SPEED_10G (4 << 8) | 4315#define IXGBE_KRM_PORT_CAR_GEN_CTRL_NELB_32B (1 << 9) 4316#define IXGBE_KRM_PORT_CAR_GEN_CTRL_NELB_KRPCS (1 << 11) 4317 4318#define IXGBE_KRM_LINK_CTRL_1_TETH_FORCE_SPEED_MASK (0x7 << 8) 4319#define IXGBE_KRM_LINK_CTRL_1_TETH_FORCE_SPEED_1G (2 << 8) 4320#define IXGBE_KRM_LINK_CTRL_1_TETH_FORCE_SPEED_10G (4 << 8) |
4321#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_SGMII_EN (1 << 12) 4322#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_CLAUSE_37_EN (1 << 13) |
|
3970#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_FEC_REQ (1 << 14) 3971#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_CAP_FEC (1 << 15) 3972#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_CAP_KX (1 << 16) 3973#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_CAP_KR (1 << 18) 3974#define IXGBE_KRM_LINK_CTRL_1_TETH_EEE_CAP_KX (1 << 24) 3975#define IXGBE_KRM_LINK_CTRL_1_TETH_EEE_CAP_KR (1 << 26) | 4323#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_FEC_REQ (1 << 14) 4324#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_CAP_FEC (1 << 15) 4325#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_CAP_KX (1 << 16) 4326#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_CAP_KR (1 << 18) 4327#define IXGBE_KRM_LINK_CTRL_1_TETH_EEE_CAP_KX (1 << 24) 4328#define IXGBE_KRM_LINK_CTRL_1_TETH_EEE_CAP_KR (1 << 26) |
4329#define IXGBE_KRM_LINK_S1_MAC_AN_COMPLETE (1 << 28) |
|
3976#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_ENABLE (1 << 29) 3977#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_RESTART (1 << 31) 3978 3979#define IXGBE_KRM_AN_CNTL_1_SYM_PAUSE (1 << 28) 3980#define IXGBE_KRM_AN_CNTL_1_ASM_PAUSE (1 << 29) | 4330#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_ENABLE (1 << 29) 4331#define IXGBE_KRM_LINK_CTRL_1_TETH_AN_RESTART (1 << 31) 4332 4333#define IXGBE_KRM_AN_CNTL_1_SYM_PAUSE (1 << 28) 4334#define IXGBE_KRM_AN_CNTL_1_ASM_PAUSE (1 << 29) |
4335#define IXGBE_KRM_PCS_KX_AN_SYM_PAUSE (1 << 1) 4336#define IXGBE_KRM_PCS_KX_AN_ASM_PAUSE (1 << 2) 4337#define IXGBE_KRM_PCS_KX_AN_LP_SYM_PAUSE (1 << 2) 4338#define IXGBE_KRM_PCS_KX_AN_LP_ASM_PAUSE (1 << 3) 4339#define IXGBE_KRM_AN_CNTL_4_ECSR_AN37_OVER_73 (1 << 29) 4340#define IXGBE_KRM_AN_CNTL_8_LINEAR (1 << 0) 4341#define IXGBE_KRM_AN_CNTL_8_LIMITING (1 << 1) |
|
3981 | 4342 |
4343#define IXGBE_KRM_LP_BASE_PAGE_HIGH_SYM_PAUSE (1 << 10) 4344#define IXGBE_KRM_LP_BASE_PAGE_HIGH_ASM_PAUSE (1 << 11) 4345 4346#define IXGBE_KRM_SGMII_CTRL_MAC_TAR_FORCE_100_D (1 << 12) 4347#define IXGBE_KRM_SGMII_CTRL_MAC_TAR_FORCE_10_D (1 << 19) 4348 |
|
3982#define IXGBE_KRM_DSP_TXFFE_STATE_C0_EN (1 << 6) 3983#define IXGBE_KRM_DSP_TXFFE_STATE_CP1_CN1_EN (1 << 15) 3984#define IXGBE_KRM_DSP_TXFFE_STATE_CO_ADAPT_EN (1 << 16) 3985 3986#define IXGBE_KRM_RX_TRN_LINKUP_CTRL_CONV_WO_PROTOCOL (1 << 4) 3987#define IXGBE_KRM_RX_TRN_LINKUP_CTRL_PROTOCOL_BYPASS (1 << 2) 3988 3989#define IXGBE_KRM_PMD_DFX_BURNIN_TX_RX_KR_LB_MASK (0x3 << 16) --- 16 unchanged lines hidden (view full) --- 4006 (0xFF << IXGBE_SB_IOSF_CTRL_CMPL_ERR_SHIFT) 4007#define IXGBE_SB_IOSF_CTRL_TARGET_SELECT_SHIFT 28 4008#define IXGBE_SB_IOSF_CTRL_TARGET_SELECT_MASK 0x7 4009#define IXGBE_SB_IOSF_CTRL_BUSY_SHIFT 31 4010#define IXGBE_SB_IOSF_CTRL_BUSY (1 << IXGBE_SB_IOSF_CTRL_BUSY_SHIFT) 4011#define IXGBE_SB_IOSF_TARGET_KR_PHY 0 4012 4013#define IXGBE_NW_MNG_IF_SEL 0x00011178 | 4349#define IXGBE_KRM_DSP_TXFFE_STATE_C0_EN (1 << 6) 4350#define IXGBE_KRM_DSP_TXFFE_STATE_CP1_CN1_EN (1 << 15) 4351#define IXGBE_KRM_DSP_TXFFE_STATE_CO_ADAPT_EN (1 << 16) 4352 4353#define IXGBE_KRM_RX_TRN_LINKUP_CTRL_CONV_WO_PROTOCOL (1 << 4) 4354#define IXGBE_KRM_RX_TRN_LINKUP_CTRL_PROTOCOL_BYPASS (1 << 2) 4355 4356#define IXGBE_KRM_PMD_DFX_BURNIN_TX_RX_KR_LB_MASK (0x3 << 16) --- 16 unchanged lines hidden (view full) --- 4373 (0xFF << IXGBE_SB_IOSF_CTRL_CMPL_ERR_SHIFT) 4374#define IXGBE_SB_IOSF_CTRL_TARGET_SELECT_SHIFT 28 4375#define IXGBE_SB_IOSF_CTRL_TARGET_SELECT_MASK 0x7 4376#define IXGBE_SB_IOSF_CTRL_BUSY_SHIFT 31 4377#define IXGBE_SB_IOSF_CTRL_BUSY (1 << IXGBE_SB_IOSF_CTRL_BUSY_SHIFT) 4378#define IXGBE_SB_IOSF_TARGET_KR_PHY 0 4379 4380#define IXGBE_NW_MNG_IF_SEL 0x00011178 |
4014#define IXGBE_NW_MNG_IF_SEL_INT_PHY_MODE (1 << 24) | 4381#define IXGBE_NW_MNG_IF_SEL_MDIO_ACT (1u << 1) 4382#define IXGBE_NW_MNG_IF_SEL_MDIO_IF_MODE (1u << 2) 4383#define IXGBE_NW_MNG_IF_SEL_EN_SHARED_MDIO (1u << 13) 4384#define IXGBE_NW_MNG_IF_SEL_PHY_SPEED_10M (1u << 17) 4385#define IXGBE_NW_MNG_IF_SEL_PHY_SPEED_100M (1u << 18) 4386#define IXGBE_NW_MNG_IF_SEL_PHY_SPEED_1G (1u << 19) 4387#define IXGBE_NW_MNG_IF_SEL_PHY_SPEED_2_5G (1u << 20) 4388#define IXGBE_NW_MNG_IF_SEL_PHY_SPEED_10G (1u << 21) 4389#define IXGBE_NW_MNG_IF_SEL_SGMII_ENABLE (1u << 25) 4390#define IXGBE_NW_MNG_IF_SEL_INT_PHY_MODE (1 << 24) /* X552 reg field only */ 4391#define IXGBE_NW_MNG_IF_SEL_MDIO_PHY_ADD_SHIFT 3 4392#define IXGBE_NW_MNG_IF_SEL_MDIO_PHY_ADD \ 4393 (0x1F << IXGBE_NW_MNG_IF_SEL_MDIO_PHY_ADD_SHIFT) |
4015 4016#endif /* _IXGBE_TYPE_H_ */ | 4394 4395#endif /* _IXGBE_TYPE_H_ */ |