Print this page
6064 ixgbe needs X550 support
Reviewed by: Tycho Nightingale <tycho.nightingale@pluribusnetworks.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
        
*** 24,33 ****
--- 24,34 ----
   */
  
  /*
   * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
   * Copyright (c) 2013 Saso Kiselkov. All rights reserved.
+  * Copyright 2016 OmniTI Computer Consulting, Inc. All rights reserved.
   */
  
  #ifndef _IXGBE_SW_H
  #define _IXGBE_SW_H
  
*** 207,216 ****
--- 208,218 ----
  #define ATTACH_PROGRESS_ENABLE_INTR     0x1000  /* DDI interrupts enabled */
  #define ATTACH_PROGRESS_FM_INIT         0x2000  /* FMA initialized */
  #define ATTACH_PROGRESS_SFP_TASKQ       0x4000  /* SFP taskq created */
  #define ATTACH_PROGRESS_LINK_TIMER      0x8000  /* link check timer */
  #define ATTACH_PROGRESS_OVERTEMP_TASKQ  0x10000 /* Over-temp taskq created */
+ #define ATTACH_PROGRESS_PHY_TASKQ       0x20000 /* Ext. PHY taskq created */
  
  #define PROP_DEFAULT_MTU                "default_mtu"
  #define PROP_FLOW_CONTROL               "flow_control"
  #define PROP_TX_QUEUE_NUM               "tx_queue_number"
  #define PROP_TX_RING_SIZE               "tx_ring_size"
*** 627,636 ****
--- 629,639 ----
          struct ixgbe_osdep      osdep;
  
          adapter_info_t          *capab; /* adapter hardware capabilities */
          ddi_taskq_t             *sfp_taskq;     /* sfp-change taskq */
          ddi_taskq_t             *overtemp_taskq; /* overtemp taskq */
+         ddi_taskq_t             *phy_taskq;     /* external PHY taskq */
          uint32_t                eims;           /* interrupt mask setting */
          uint32_t                eimc;           /* interrupt mask clear */
          uint32_t                eicr;           /* interrupt cause reg */
  
          uint32_t                ixgbe_state;
*** 641,650 ****
--- 644,654 ----
          uint32_t                reset_count;
          uint32_t                attach_progress;
          uint32_t                loopback_mode;
          uint32_t                default_mtu;
          uint32_t                max_frame_size;
+         ixgbe_link_speed        speeds_supported;
  
          uint32_t                rcb_pending;
  
          /*
           * Each msi-x vector: map vector to interrupt cleanup
*** 728,740 ****
--- 732,748 ----
           * Kstat definitions
           */
          kstat_t                 *ixgbe_ks;
  
          uint32_t                param_en_10000fdx_cap:1,
+                                 param_en_5000fdx_cap:1,
+                                 param_en_2500fdx_cap:1,
                                  param_en_1000fdx_cap:1,
                                  param_en_100fdx_cap:1,
                                  param_adv_10000fdx_cap:1,
+                                 param_adv_5000fdx_cap:1,
+                                 param_adv_2500fdx_cap:1,
                                  param_adv_1000fdx_cap:1,
                                  param_adv_100fdx_cap:1,
                                  param_pause_cap:1,
                                  param_asym_pause_cap:1,
                                  param_rem_fault:1,
*** 741,757 ****
                                  param_adv_autoneg_cap:1,
                                  param_adv_pause_cap:1,
                                  param_adv_asym_pause_cap:1,
                                  param_adv_rem_fault:1,
                                  param_lp_10000fdx_cap:1,
                                  param_lp_1000fdx_cap:1,
                                  param_lp_100fdx_cap:1,
                                  param_lp_autoneg_cap:1,
                                  param_lp_pause_cap:1,
                                  param_lp_asym_pause_cap:1,
                                  param_lp_rem_fault:1,
!                                 param_pad_to_32:12;
  } ixgbe_t;
  
  typedef struct ixgbe_stat {
          kstat_named_t link_speed;       /* Link Speed */
  
--- 749,767 ----
                                  param_adv_autoneg_cap:1,
                                  param_adv_pause_cap:1,
                                  param_adv_asym_pause_cap:1,
                                  param_adv_rem_fault:1,
                                  param_lp_10000fdx_cap:1,
+                                 param_lp_5000fdx_cap:1,
+                                 param_lp_2500fdx_cap:1,
                                  param_lp_1000fdx_cap:1,
                                  param_lp_100fdx_cap:1,
                                  param_lp_autoneg_cap:1,
                                  param_lp_pause_cap:1,
                                  param_lp_asym_pause_cap:1,
                                  param_lp_rem_fault:1,
!                                 param_pad_to_32:6;
  } ixgbe_t;
  
  typedef struct ixgbe_stat {
          kstat_named_t link_speed;       /* Link Speed */