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_regs.h
          +++ new/usr/src/uts/common/io/e1000api/e1000_regs.h
↓ open down ↓ 46 lines elided ↑ open up ↑
  47   47  #define E1000_CTRL_EXT  0x00018  /* Extended Device Control - RW */
  48   48  #define E1000_FLA       0x0001C  /* Flash Access - RW */
  49   49  #define E1000_MDIC      0x00020  /* MDI Control - RW */
  50   50  #define E1000_MDICNFG   0x00E04  /* MDI Config - RW */
  51   51  #define E1000_REGISTER_SET_SIZE         0x20000 /* CSR Size */
  52   52  #define E1000_EEPROM_INIT_CTRL_WORD_2   0x0F /* EEPROM Init Ctrl Word 2 */
  53   53  #define E1000_EEPROM_PCIE_CTRL_WORD_2   0x28 /* EEPROM PCIe Ctrl Word 2 */
  54   54  #define E1000_BARCTRL                   0x5BBC /* BAR ctrl reg */
  55   55  #define E1000_BARCTRL_FLSIZE            0x0700 /* BAR ctrl Flsize */
  56   56  #define E1000_BARCTRL_CSRSIZE           0x2000 /* BAR ctrl CSR size */
       57 +#define E1000_MPHY_ADDR_CTRL            0x0024 /* GbE MPHY Address Control */
       58 +#define E1000_MPHY_DATA                 0x0E10 /* GBE MPHY Data */
       59 +#define E1000_MPHY_STAT                 0x0E0C /* GBE MPHY Statistics */
       60 +#define E1000_PPHY_CTRL                 0x5b48 /* PCIe PHY Control */
  57   61  #define E1000_I350_BARCTRL              0x5BFC /* BAR ctrl reg */
  58   62  #define E1000_I350_DTXMXPKTSZ           0x355C /* Maximum sent packet size reg*/
  59   63  #define E1000_SCTL      0x00024  /* SerDes Control - RW */
  60   64  #define E1000_FCAL      0x00028  /* Flow Control Address Low - RW */
  61   65  #define E1000_FCAH      0x0002C  /* Flow Control Address High -RW */
  62   66  #define E1000_FEXTNVM   0x00028  /* Future Extended NVM - RW */
  63   67  #define E1000_FEXTNVM3  0x0003C  /* Future Extended NVM 3 - RW */
  64   68  #define E1000_FEXTNVM4  0x00024  /* Future Extended NVM 4 - RW */
  65   69  #define E1000_FEXTNVM6  0x00010  /* Future Extended NVM 6 - RW */
  66   70  #define E1000_FEXTNVM7  0x000E4  /* Future Extended NVM 7 - RW */
↓ open down ↓ 24 lines elided ↑ open up ↑
  91   95  #define E1000_EIAM      0x01530  /* Ext. Interrupt Ack Auto Clear Mask - RW */
  92   96  #define E1000_GPIE      0x01514  /* General Purpose Interrupt Enable - RW */
  93   97  #define E1000_IVAR0     0x01700  /* Interrupt Vector Allocation (array) - RW */
  94   98  #define E1000_IVAR_MISC 0x01740 /* IVAR for "other" causes - RW */
  95   99  #define E1000_TCTL      0x00400  /* Tx Control - RW */
  96  100  #define E1000_TCTL_EXT  0x00404  /* Extended Tx Control - RW */
  97  101  #define E1000_TIPG      0x00410  /* Tx Inter-packet gap -RW */
  98  102  #define E1000_TBT       0x00448  /* Tx Burst Timer - RW */
  99  103  #define E1000_AIT       0x00458  /* Adaptive Interframe Spacing Throttle - RW */
 100  104  #define E1000_LEDCTL    0x00E00  /* LED Control - RW */
      105 +#define E1000_LEDMUX    0x08130 /* LED MUX Control */
 101  106  #define E1000_EXTCNF_CTRL       0x00F00  /* Extended Configuration Control */
 102  107  #define E1000_EXTCNF_SIZE       0x00F08  /* Extended Configuration Size */
 103  108  #define E1000_PHY_CTRL  0x00F10  /* PHY Control Register in CSR */
 104  109  #define E1000_POEMB     E1000_PHY_CTRL /* PHY OEM Bits */
 105  110  #define E1000_PBA       0x01000  /* Packet Buffer Allocation - RW */
 106  111  #define E1000_PBS       0x01008  /* Packet Buffer Size */
 107  112  #define E1000_PBECCSTS  0x0100C  /* Packet Buffer ECC Status - RW */
 108  113  #define E1000_EEMNGCTL  0x01010  /* MNG EEprom Control */
 109  114  #define E1000_EEARBC    0x01024  /* EEPROM Auto Read Bus Control */
 110  115  #define E1000_FLASHT    0x01028  /* FLASH Timer Register */
↓ open down ↓ 38 lines elided ↑ open up ↑
 149  154  #define E1000_RDPUAD    0x025D0  /* DMA Rx Descriptor uC Addr Command - RW */
 150  155  #define E1000_RDPUWD    0x025D4  /* DMA Rx Descriptor uC Data Write - RW */
 151  156  #define E1000_RDPURD    0x025D8  /* DMA Rx Descriptor uC Data Read - RW */
 152  157  #define E1000_RDPUCTL   0x025DC  /* DMA Rx Descriptor uC Control - RW */
 153  158  #define E1000_PBDIAG    0x02458  /* Packet Buffer Diagnostic - RW */
 154  159  #define E1000_RXPBS     0x02404  /* Rx Packet Buffer Size - RW */
 155  160  #define E1000_IRPBS     0x02404 /* Same as RXPBS, renamed for newer Si - RW */
 156  161  #define E1000_PBRWAC    0x024E8 /* Rx packet buffer wrap around counter - RO */
 157  162  #define E1000_RDTR      0x02820  /* Rx Delay Timer - RW */
 158  163  #define E1000_RADV      0x0282C  /* Rx Interrupt Absolute Delay Timer - RW */
      164 +#define E1000_EMIADD    0x10    /* Extended Memory Indirect Address */
      165 +#define E1000_EMIDATA   0x11    /* Extended Memory Indirect Data */
 159  166  #define E1000_SRWR              0x12018  /* Shadow Ram Write Register - RW */
 160  167  #define E1000_I210_FLMNGCTL     0x12038
 161  168  #define E1000_I210_FLMNGDATA    0x1203C
 162  169  #define E1000_I210_FLMNGCNT     0x12040
 163  170  
 164  171  #define E1000_I210_FLSWCTL      0x12048
 165  172  #define E1000_I210_FLSWDATA     0x1204C
 166  173  #define E1000_I210_FLSWCNT      0x12050
 167  174  
 168  175  #define E1000_I210_FLA          0x1201C
↓ open down ↓ 36 lines elided ↑ open up ↑
 205  212  #define E1000_TQAVCC_IDLE_SLOPE         0xFFFF /* Idle slope */
 206  213  #define E1000_TQAVCC_KEEP_CREDITS       (1 << 30) /* Keep credits opt enable */
 207  214  #define E1000_TQAVCC_QUEUE_MODE         (1 << 31) /* SP vs. SR Tx mode */
 208  215  
 209  216  /* Good transmitted packets counter registers */
 210  217  #define E1000_PQGPTC(_n)                (0x010014 + (0x100 * (_n)))
 211  218  
 212  219  /* Queues packet buffer size masks where _n can be 0-3 and _s 0-63 [kB] */
 213  220  #define E1000_I210_TXPBS_SIZE(_n, _s)   ((_s) << (6 * _n))
 214  221  
      222 +#define E1000_MMDAC                     13 /* MMD Access Control */
      223 +#define E1000_MMDAAD                    14 /* MMD Access Address/Data */
      224 +
 215  225  /* Convenience macros
 216  226   *
 217  227   * Note: "_n" is the queue number of the register to be written to.
 218  228   *
 219  229   * Example usage:
 220  230   * E1000_RDBAL_REG(current_rx_queue)
 221  231   */
 222  232  #define E1000_RDBAL(_n) ((_n) < 4 ? (0x02800 + ((_n) * 0x100)) : \
 223  233                           (0x0C000 + ((_n) * 0x40)))
 224  234  #define E1000_RDBAH(_n) ((_n) < 4 ? (0x02804 + ((_n) * 0x100)) : \
↓ open down ↓ 460 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX