Print this page
Just the 5719/5720 changes

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/bge/bge_main2.c
          +++ new/usr/src/uts/common/io/bge/bge_main2.c
↓ open down ↓ 15 lines elided ↑ open up ↑
  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   23   * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
  24   24   */
  25   25  
       26 +/*
       27 + * Copyright 2012 Nexenta Systems, Inc.  All rights reserved.
       28 + */
       29 +
  26   30  #include "bge_impl.h"
  27   31  #include <sys/sdt.h>
  28   32  #include <sys/mac_provider.h>
  29   33  #include <sys/mac.h>
  30   34  #include <sys/mac_flow.h>
  31   35  
  32   36  /*
  33   37   * This is the string displayed by modinfo, etc.
  34   38   */
  35   39  static char bge_ident[] = "Broadcom Gb Ethernet";
↓ open down ↓ 3168 lines elided ↑ open up ↑
3204 3208              MHCR_CLEAR_INTERRUPT_INTA |
3205 3209              MHCR_ENABLE_ENDIAN_WORD_SWAP |
3206 3210              MHCR_ENABLE_ENDIAN_BYTE_SWAP;
3207 3211          /*
3208 3212           * For some chipsets (e.g., BCM5718), if MHCR_ENABLE_ENDIAN_BYTE_SWAP
3209 3213           * has been set in PCI_CONF_COMM already, we need to write the
3210 3214           * byte-swapped value to it. So we just write zero first for simplicity.
3211 3215           */
3212 3216          if (DEVICE_5717_SERIES_CHIPSETS(bgep))
3213 3217                  pci_config_put32(bgep->cfg_handle, PCI_CONF_BGE_MHCR, 0);
     3218 +#else
     3219 +        mhcrValue = MHCR_ENABLE_INDIRECT_ACCESS |
     3220 +            MHCR_ENABLE_TAGGED_STATUS_MODE |
     3221 +            MHCR_MASK_INTERRUPT_MODE |
     3222 +            MHCR_MASK_PCI_INT_OUTPUT |
     3223 +            MHCR_CLEAR_INTERRUPT_INTA;
     3224 +#endif
3214 3225          pci_config_put32(bgep->cfg_handle, PCI_CONF_BGE_MHCR, mhcrValue);
3215 3226          bge_ind_put32(bgep, MEMORY_ARBITER_MODE_REG,
3216 3227              bge_ind_get32(bgep, MEMORY_ARBITER_MODE_REG) |
3217 3228              MEMORY_ARBITER_ENABLE);
3218      -#else
3219      -        mhcrValue = pci_config_get32(bgep->cfg_handle, PCI_CONF_BGE_MHCR);
3220      -#endif
3221 3229          if (mhcrValue & MHCR_ENABLE_ENDIAN_WORD_SWAP) {
3222 3230                  bgep->asf_wordswapped = B_TRUE;
3223 3231          } else {
3224 3232                  bgep->asf_wordswapped = B_FALSE;
3225 3233          }
3226 3234          bge_asf_get_config(bgep);
3227 3235  #endif
3228 3236          if (err != DDI_SUCCESS) {
3229 3237                  bge_problem(bgep, "pci_config_setup() failed");
3230 3238                  goto attach_fail;
↓ open down ↓ 719 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX