Print this page
4431 igb support for I354
4616 igb has uninitialized kstats

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/e1000api/e1000_defines.h
          +++ new/usr/src/uts/common/io/e1000api/e1000_defines.h
↓ open down ↓ 279 lines elided ↑ open up ↑
 280  280  #define E1000_CTRL_PHY_RST      0x80000000 /* PHY Reset */
 281  281  #define E1000_CTRL_I2C_ENA      0x02000000 /* I2C enable */
 282  282  
 283  283  #define E1000_CTRL_MDIO_DIR             E1000_CTRL_SWDPIO2
 284  284  #define E1000_CTRL_MDIO                 E1000_CTRL_SWDPIN2
 285  285  #define E1000_CTRL_MDC_DIR              E1000_CTRL_SWDPIO3
 286  286  #define E1000_CTRL_MDC                  E1000_CTRL_SWDPIN3
 287  287  
 288  288  #define E1000_CONNSW_ENRGSRC            0x4
 289  289  #define E1000_CONNSW_PHYSD              0x400
      290 +#define E1000_CONNSW_PHY_PDN            0x800
 290  291  #define E1000_CONNSW_SERDESD            0x200
      292 +#define E1000_CONNSW_AUTOSENSE_CONF     0x2
      293 +#define E1000_CONNSW_AUTOSENSE_EN       0x1
 291  294  #define E1000_PCS_CFG_PCS_EN            8
 292  295  #define E1000_PCS_LCTL_FLV_LINK_UP      1
 293  296  #define E1000_PCS_LCTL_FSV_10           0
 294  297  #define E1000_PCS_LCTL_FSV_100          2
 295  298  #define E1000_PCS_LCTL_FSV_1000         4
 296  299  #define E1000_PCS_LCTL_FDV_FULL         8
 297  300  #define E1000_PCS_LCTL_FSD              0x10
 298  301  #define E1000_PCS_LCTL_FORCE_LINK       0x20
 299  302  #define E1000_PCS_LCTL_FORCE_FCTRL      0x80
 300  303  #define E1000_PCS_LCTL_AN_ENABLE        0x10000
↓ open down ↓ 17 lines elided ↑ open up ↑
 318  321  #define E1000_STATUS_TXOFF              0x00000010 /* transmission paused */
 319  322  #define E1000_STATUS_SPEED_MASK 0x000000C0
 320  323  #define E1000_STATUS_SPEED_10           0x00000000 /* Speed 10Mb/s */
 321  324  #define E1000_STATUS_SPEED_100          0x00000040 /* Speed 100Mb/s */
 322  325  #define E1000_STATUS_SPEED_1000         0x00000080 /* Speed 1000Mb/s */
 323  326  #define E1000_STATUS_LAN_INIT_DONE      0x00000200 /* Lan Init Compltn by NVM */
 324  327  #define E1000_STATUS_PHYRA              0x00000400 /* PHY Reset Asserted */
 325  328  #define E1000_STATUS_GIO_MASTER_ENABLE  0x00080000 /* Master request status */
 326  329  #define E1000_STATUS_PCI66              0x00000800 /* In 66Mhz slot */
 327  330  #define E1000_STATUS_BUS64              0x00001000 /* In 64 bit slot */
      331 +#define E1000_STATUS_2P5_SKU            0x00001000 /* Val of 2.5GBE SKU strap */
      332 +#define E1000_STATUS_2P5_SKU_OVER       0x00002000 /* Val of 2.5GBE SKU Over */
 328  333  #define E1000_STATUS_PCIX_MODE          0x00002000 /* PCI-X mode */
 329  334  #define E1000_STATUS_PCIX_SPEED         0x0000C000 /* PCI-X bus speed */
 330  335  
 331  336  /* Constants used to interpret the masked PCI-X bus speed. */
 332  337  #define E1000_STATUS_PCIX_SPEED_66      0x00000000 /* PCI-X bus spd 50-66MHz */
 333  338  #define E1000_STATUS_PCIX_SPEED_100     0x00004000 /* PCI-X bus spd 66-100MHz */
 334  339  #define E1000_STATUS_PCIX_SPEED_133     0x00008000 /* PCI-X bus spd 100-133MHz*/
 335  340  
 336  341  #define SPEED_10        10
 337  342  #define SPEED_100       100
 338  343  #define SPEED_1000      1000
      344 +#define SPEED_2500      2500
 339  345  #define HALF_DUPLEX     1
 340  346  #define FULL_DUPLEX     2
 341  347  
 342  348  #define PHY_FORCE_TIME  20
 343  349  
 344  350  #define ADVERTISE_10_HALF               0x0001
 345  351  #define ADVERTISE_10_FULL               0x0002
 346  352  #define ADVERTISE_100_HALF              0x0004
 347  353  #define ADVERTISE_100_FULL              0x0008
 348  354  #define ADVERTISE_1000_HALF             0x0010 /* Not used, just FYI */
↓ open down ↓ 294 lines elided ↑ open up ↑
 643  649  #define E1000_EICS_TX_QUEUE0    E1000_EICR_TX_QUEUE0 /* Tx Queue 0 Interrupt */
 644  650  #define E1000_EICS_TX_QUEUE1    E1000_EICR_TX_QUEUE1 /* Tx Queue 1 Interrupt */
 645  651  #define E1000_EICS_TX_QUEUE2    E1000_EICR_TX_QUEUE2 /* Tx Queue 2 Interrupt */
 646  652  #define E1000_EICS_TX_QUEUE3    E1000_EICR_TX_QUEUE3 /* Tx Queue 3 Interrupt */
 647  653  #define E1000_EICS_TCP_TIMER    E1000_EICR_TCP_TIMER /* TCP Timer */
 648  654  #define E1000_EICS_OTHER        E1000_EICR_OTHER   /* Interrupt Cause Active */
 649  655  
 650  656  #define E1000_EITR_ITR_INT_MASK 0x0000FFFF
 651  657  /* E1000_EITR_CNT_IGNR is only for 82576 and newer */
 652  658  #define E1000_EITR_CNT_IGNR     0x80000000 /* Don't reset counters on write */
      659 +#define E1000_EITR_INTERVAL     0x00007FFC
 653  660  
 654  661  /* Transmit Descriptor Control */
 655  662  #define E1000_TXDCTL_PTHRESH    0x0000003F /* TXDCTL Prefetch Threshold */
 656  663  #define E1000_TXDCTL_HTHRESH    0x00003F00 /* TXDCTL Host Threshold */
 657  664  #define E1000_TXDCTL_WTHRESH    0x003F0000 /* TXDCTL Writeback Threshold */
 658  665  #define E1000_TXDCTL_GRAN       0x01000000 /* TXDCTL Granularity */
 659  666  #define E1000_TXDCTL_FULL_TX_DESC_WB    0x01010000 /* GRAN=1, WTHRESH=1 */
 660  667  #define E1000_TXDCTL_MAX_TX_DESC_PREFETCH 0x0100001F /* GRAN=1, PTHRESH=31 */
 661  668  /* Enable the counting of descriptors still to be processed. */
 662  669  #define E1000_TXDCTL_COUNT_DESC 0x00400000
↓ open down ↓ 151 lines elided ↑ open up ↑
 814  821  /* I350 EEE defines */
 815  822  #define E1000_IPCNFG_EEE_1G_AN          0x00000008 /* IPCNFG EEE Ena 1G AN */
 816  823  #define E1000_IPCNFG_EEE_100M_AN        0x00000004 /* IPCNFG EEE Ena 100M AN */
 817  824  #define E1000_EEER_TX_LPI_EN            0x00010000 /* EEER Tx LPI Enable */
 818  825  #define E1000_EEER_RX_LPI_EN            0x00020000 /* EEER Rx LPI Enable */
 819  826  #define E1000_EEER_LPI_FC               0x00040000 /* EEER Ena on Flow Cntrl */
 820  827  /* EEE status */
 821  828  #define E1000_EEER_EEE_NEG              0x20000000 /* EEE capability nego */
 822  829  #define E1000_EEER_RX_LPI_STATUS        0x40000000 /* Rx in LPI state */
 823  830  #define E1000_EEER_TX_LPI_STATUS        0x80000000 /* Tx in LPI state */
      831 +#define E1000_EEE_LP_ADV_ADDR_I350      0x040F     /* EEE LP Advertisement */
      832 +#define E1000_M88E1543_PAGE_ADDR        0x16       /* Page Offset Register */
      833 +#define E1000_M88E1543_EEE_CTRL_1       0x0
      834 +#define E1000_M88E1543_EEE_CTRL_1_MS    0x0001     /* EEE Master/Slave */
      835 +#define E1000_EEE_ADV_DEV_I354          7
      836 +#define E1000_EEE_ADV_ADDR_I354         60
      837 +#define E1000_EEE_ADV_100_SUPPORTED     (1 << 1)   /* 100BaseTx EEE Supported */
      838 +#define E1000_EEE_ADV_1000_SUPPORTED    (1 << 2)   /* 1000BaseT EEE Supported */
      839 +#define E1000_PCS_STATUS_DEV_I354       3
      840 +#define E1000_PCS_STATUS_ADDR_I354      1
      841 +#define E1000_PCS_STATUS_RX_LPI_RCVD    0x0400
      842 +#define E1000_PCS_STATUS_TX_LPI_RCVD    0x0800
      843 +
 824  844  #define E1000_EEE_SU_LPI_CLK_STP        0x00800000 /* EEE LPI Clock Stop */
 825  845  /* PCI Express Control */
 826  846  #define E1000_GCR_RXD_NO_SNOOP          0x00000001
 827  847  #define E1000_GCR_RXDSCW_NO_SNOOP       0x00000002
 828  848  #define E1000_GCR_RXDSCR_NO_SNOOP       0x00000004
 829  849  #define E1000_GCR_TXD_NO_SNOOP          0x00000008
 830  850  #define E1000_GCR_TXDSCW_NO_SNOOP       0x00000010
 831  851  #define E1000_GCR_TXDSCR_NO_SNOOP       0x00000020
 832  852  #define E1000_GCR_CMPL_TMOUT_MASK       0x0000F000
 833  853  #define E1000_GCR_CMPL_TMOUT_10ms       0x00001000
 834  854  #define E1000_GCR_CMPL_TMOUT_RESEND     0x00010000
 835  855  #define E1000_GCR_CAP_VER2              0x00040000
 836  856  
      857 +
 837  858  #define PCIE_NO_SNOOP_ALL       (E1000_GCR_RXD_NO_SNOOP | \
 838  859                                   E1000_GCR_RXDSCW_NO_SNOOP | \
 839  860                                   E1000_GCR_RXDSCR_NO_SNOOP | \
 840  861                                   E1000_GCR_TXD_NO_SNOOP    | \
 841  862                                   E1000_GCR_TXDSCW_NO_SNOOP | \
 842  863                                   E1000_GCR_TXDSCR_NO_SNOOP)
 843  864  
      865 +#define E1000_MMDAC_FUNC_DATA   0x4000 /* Data, no post increment */
      866 +
 844  867  /* mPHY address control and data registers */
 845  868  #define E1000_MPHY_ADDR_CTL             0x0024 /* Address Control Reg */
 846  869  #define E1000_MPHY_ADDR_CTL_OFFSET_MASK 0xFFFF0000
 847  870  #define E1000_MPHY_DATA                 0x0E10 /* Data Register */
 848  871  
 849  872  /* AFE CSR Offset for PCS CLK */
 850  873  #define E1000_MPHY_PCS_CLK_REG_OFFSET   0x0004
 851  874  /* Override for near end digital loopback. */
 852  875  #define E1000_MPHY_PCS_CLK_REG_DIGINELBEN       0x10
 853  876  
↓ open down ↓ 313 lines elided ↑ open up ↑
1167 1190  
1168 1191  /* Bit definitions for valid PHY IDs.
1169 1192   * I = Integrated
1170 1193   * E = External
1171 1194   */
1172 1195  #define M88E1000_E_PHY_ID       0x01410C50
1173 1196  #define M88E1000_I_PHY_ID       0x01410C30
1174 1197  #define M88E1011_I_PHY_ID       0x01410C20
1175 1198  #define IGP01E1000_I_PHY_ID     0x02A80380
1176 1199  #define M88E1111_I_PHY_ID       0x01410CC0
     1200 +#define M88E1543_E_PHY_ID       0x01410EA0
     1201 +#define M88E1512_E_PHY_ID       0x01410DD0
1177 1202  #define M88E1112_E_PHY_ID       0x01410C90
1178 1203  #define I347AT4_E_PHY_ID        0x01410DC0
1179 1204  #define M88E1340M_E_PHY_ID      0x01410DF0
1180 1205  #define GG82563_E_PHY_ID        0x01410CA0
1181 1206  #define IGP03E1000_E_PHY_ID     0x02A80390
1182 1207  #define IFE_E_PHY_ID            0x02A80330
1183 1208  #define IFE_PLUS_E_PHY_ID       0x02A80320
1184 1209  #define IFE_C_E_PHY_ID          0x02A80310
1185 1210  #define BME1000_E_PHY_ID        0x01410CB0
1186 1211  #define BME1000_E_PHY_ID_R2     0x01410CB1
↓ open down ↓ 238 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX