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_api.c
          +++ new/usr/src/uts/common/io/igb/igb_api.c
↓ 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.129.2.1 v3_3_14_3_BHSW1 */
  31   31  
  32   32  #include "igb_api.h"
  33   33  
↓ open down ↓ 98 lines elided ↑ open up ↑
 132  132          switch (hw->device_id) {
 133  133          case E1000_DEV_ID_82575EB_COPPER:
 134  134          case E1000_DEV_ID_82575EB_FIBER_SERDES:
 135  135          case E1000_DEV_ID_82575GB_QUAD_COPPER:
 136  136                  mac->type = e1000_82575;
 137  137                  break;
 138  138          case E1000_DEV_ID_82576:
 139  139          case E1000_DEV_ID_82576_FIBER:
 140  140          case E1000_DEV_ID_82576_SERDES:
 141  141          case E1000_DEV_ID_82576_QUAD_COPPER:
      142 +        case E1000_DEV_ID_82576_QUAD_COPPER_ET2:
 142  143          case E1000_DEV_ID_82576_NS:
 143  144          case E1000_DEV_ID_82576_NS_SERDES:
 144  145          case E1000_DEV_ID_82576_SERDES_QUAD:
 145  146                  mac->type = e1000_82576;
 146  147                  break;
 147  148          case E1000_DEV_ID_82580_COPPER:
 148  149          case E1000_DEV_ID_82580_FIBER:
 149  150          case E1000_DEV_ID_82580_SERDES:
 150  151          case E1000_DEV_ID_82580_SGMII:
 151  152          case E1000_DEV_ID_82580_COPPER_DUAL:
 152  153                  mac->type = e1000_82580;
 153  154                  break;
      155 +        case E1000_DEV_ID_I350_COPPER:
      156 +                mac->type = e1000_i350;
      157 +                break;
 154  158          default:
 155  159                  /* Should never have loaded on this device */
 156  160                  ret_val = -E1000_ERR_MAC_INIT;
 157  161                  break;
 158  162          }
 159  163  
 160  164          return (ret_val);
 161  165  }
 162  166  
 163  167  /*
↓ open down ↓ 36 lines elided ↑ open up ↑
 200  204  
 201  205          /*
 202  206           * Set up the init function pointers. These are functions within the
 203  207           * adapter family file that sets up function pointers for the rest of
 204  208           * the functions in that family.
 205  209           */
 206  210          switch (hw->mac.type) {
 207  211          case e1000_82575:
 208  212          case e1000_82576:
 209  213          case e1000_82580:
      214 +        case e1000_i350:
 210  215                  e1000_init_function_pointers_82575(hw);
 211  216                  break;
 212  217          default:
 213  218                  DEBUGOUT("Hardware not supported\n");
 214  219                  ret_val = -E1000_ERR_CONFIG;
 215  220                  break;
 216  221          }
 217  222  
 218  223          /*
 219  224           * Initialize the rest of the function pointers. These require some
↓ open down ↓ 918 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX