Print this page
2038 Add in I350 and ET2 support into igb
Reviewed by: Dan McDonald <danmcd@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/igb/igb_hw.h
          +++ new/usr/src/uts/common/io/igb/igb_hw.h
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23      - * Copyright(c) 2007-2010 Intel Corporation. All rights reserved.
       23 + * Copyright (c) 2007-2012 Intel Corporation. All rights reserved.
  24   24   */
  25   25  
  26   26  /*
  27   27   * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
  28   28   */
  29   29  
  30   30  /* IntelVersion: 1.446.2.1 v3_3_14_3_BHSW1 */
  31   31  
  32   32  #ifndef _IGB_HW_H
  33   33  #define _IGB_HW_H
↓ open down ↓ 5 lines elided ↑ open up ↑
  39   39  #include "igb_osdep.h"
  40   40  #include "igb_regs.h"
  41   41  #include "igb_defines.h"
  42   42  
  43   43  struct e1000_hw;
  44   44  
  45   45  #define E1000_DEV_ID_82576                      0x10C9
  46   46  #define E1000_DEV_ID_82576_FIBER                0x10E6
  47   47  #define E1000_DEV_ID_82576_SERDES               0x10E7
  48   48  #define E1000_DEV_ID_82576_QUAD_COPPER          0x10E8
       49 +#define E1000_DEV_ID_82576_QUAD_COPPER_ET2      0x1526
  49   50  #define E1000_DEV_ID_82576_NS                   0x150A
  50   51  #define E1000_DEV_ID_82576_NS_SERDES            0x1518
  51   52  #define E1000_DEV_ID_82576_SERDES_QUAD          0x150D
  52   53  #define E1000_DEV_ID_82575EB_COPPER             0x10A7
  53   54  #define E1000_DEV_ID_82575EB_FIBER_SERDES       0x10A9
  54   55  #define E1000_DEV_ID_82575GB_QUAD_COPPER        0x10D6
  55   56  #define E1000_DEV_ID_82580_COPPER               0x150E
  56   57  #define E1000_DEV_ID_82580_FIBER                0x150F
  57   58  #define E1000_DEV_ID_82580_SERDES               0x1510
  58   59  #define E1000_DEV_ID_82580_SGMII                0x1511
  59   60  #define E1000_DEV_ID_82580_COPPER_DUAL          0x1516
       61 +#define E1000_DEV_ID_I350_COPPER                0x1521
  60   62  
  61   63  #define E1000_REVISION_0 0
  62   64  #define E1000_REVISION_1 1
  63   65  #define E1000_REVISION_2 2
  64   66  #define E1000_REVISION_3 3
  65   67  #define E1000_REVISION_4 4
  66   68  
  67   69  #define E1000_FUNC_0    0
  68   70  #define E1000_FUNC_1    1
  69   71  #define E1000_FUNC_2    2
↓ open down ↓ 2 lines elided ↑ open up ↑
  72   74  #define E1000_ALT_MAC_ADDRESS_OFFSET_LAN0       0
  73   75  #define E1000_ALT_MAC_ADDRESS_OFFSET_LAN1       3
  74   76  #define E1000_ALT_MAC_ADDRESS_OFFSET_LAN2       6
  75   77  #define E1000_ALT_MAC_ADDRESS_OFFSET_LAN3       9
  76   78  
  77   79  enum e1000_mac_type {
  78   80          e1000_undefined = 0,
  79   81          e1000_82575,
  80   82          e1000_82576,
  81   83          e1000_82580,
       84 +        e1000_i350,
  82   85          e1000_num_macs  /* List is 1-based, so subtract 1 for true count. */
  83   86  };
  84   87  
  85   88  enum e1000_media_type {
  86   89          e1000_media_type_unknown = 0,
  87   90          e1000_media_type_copper = 1,
  88   91          e1000_media_type_fiber = 2,
  89   92          e1000_media_type_internal_serdes = 3,
  90   93          e1000_num_media_types
  91   94  };
↓ open down ↓ 541 lines elided ↑ open up ↑
 633  636          u16 pause_time;         /* Flow control pause timer */
 634  637          bool send_xon;          /* Flow control send XON */
 635  638          bool strict_ieee;       /* Strict IEEE mode */
 636  639          enum e1000_fc_mode current_mode; /* FC mode in effect */
 637  640          enum e1000_fc_mode requested_mode; /* FC mode requested by caller */
 638  641  };
 639  642  
 640  643  struct e1000_dev_spec_82575 {
 641  644          bool sgmii_active;
 642  645          bool global_device_reset;
      646 +        int eee_disable;
 643  647  };
 644  648  
 645  649  struct e1000_dev_spec_vf {
 646  650          u32     vf_number;
 647  651          u32     v2p_mailbox;
 648  652  };
 649  653  
 650  654  struct e1000_hw {
 651  655          void *back;
 652  656  
↓ open down ↓ 35 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX