Print this page
6064 ixgbe needs X550 support

@@ -24,10 +24,11 @@
  */
 
 /*
  * 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,10 +208,11 @@
 #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,10 +629,11 @@
         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,10 +644,11 @@
         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,13 +732,17 @@
          * 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,17 +749,19 @@
                                 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:12;
+                                param_pad_to_32:6;
 } ixgbe_t;
 
 typedef struct ixgbe_stat {
         kstat_named_t link_speed;       /* Link Speed */