Print this page
3014 Intel X540 Support

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/ixgbe/ixgbe_gld.c
          +++ new/usr/src/uts/common/io/ixgbe/ixgbe_gld.c
↓ open down ↓ 17 lines elided ↑ open up ↑
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright(c) 2007-2010 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 + * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
  28   29   */
  29   30  
  30   31  #include "ixgbe_sw.h"
  31   32  
  32   33  /*
  33   34   * Bring the device out of the reset/quiesced state that it
  34   35   * was in when the interface was registered.
  35   36   */
  36   37  int
  37   38  ixgbe_m_start(void *arg)
↓ open down ↓ 665 lines elided ↑ open up ↑
 703  704                  }
 704  705                  (void) ddi_strtol(pr_val, (char **)NULL, 0, &result);
 705  706  
 706  707                  if (result < ixgbe->capab->min_intr_throttle ||
 707  708                      result > ixgbe->capab->max_intr_throttle)
 708  709                          err = EINVAL;
 709  710                  else {
 710  711                          ixgbe->intr_throttling[0] = (uint32_t)result;
 711  712  
 712  713                          /*
 713      -                         * 82599 requires the interupt throttling rate is
 714      -                         * a multiple of 8. This is enforced by the register
 715      -                         * definiton.
      714 +                         * 82599 and X540 require the interupt throttling
      715 +                         * rate is a multiple of 8. This is enforced by the
      716 +                         * register definiton.
 716  717                           */
 717      -                        if (hw->mac.type == ixgbe_mac_82599EB)
      718 +                        if (hw->mac.type == ixgbe_mac_82599EB ||
      719 +                            hw->mac.type == ixgbe_mac_X540) {
 718  720                                  ixgbe->intr_throttling[0] =
 719  721                                      ixgbe->intr_throttling[0] & 0xFF8;
      722 +                        }
 720  723  
 721  724                          for (i = 0; i < MAX_INTR_VECTOR; i++)
 722  725                                  ixgbe->intr_throttling[i] =
 723  726                                      ixgbe->intr_throttling[0];
 724  727  
 725  728                          /* Set interrupt throttling rate */
 726  729                          for (i = 0; i < ixgbe->intr_cnt; i++)
 727  730                                  IXGBE_WRITE_REG(hw, IXGBE_EITR(i),
 728  731                                      ixgbe->intr_throttling[i]);
 729  732                  }
↓ open down ↓ 63 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX