Print this page
MFV: illumos-gate@5bb0bdfe588c5df0f63ff8ac292cd608a5f4492a
9950 Need support for Intel I219 v6-v9
Reviewed by: Jason King <jason.king@joyent.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Garrett D'Amore <garrett@damore.org>
Author: Robert Mustacchi <rm@joyent.com>
        
@@ -144,10 +144,18 @@
 #define E1000_DEV_ID_PCH_LBG_I219_LM3           0x15B9 /* LEWISBURG PCH */
 #define E1000_DEV_ID_PCH_SPT_I219_LM4           0x15D7
 #define E1000_DEV_ID_PCH_SPT_I219_V4            0x15D8
 #define E1000_DEV_ID_PCH_SPT_I219_LM5           0x15E3
 #define E1000_DEV_ID_PCH_SPT_I219_V5            0x15D6
+#define E1000_DEV_ID_PCH_CNP_I219_LM6           0x15BD
+#define E1000_DEV_ID_PCH_CNP_I219_V6            0x15BE
+#define E1000_DEV_ID_PCH_CNP_I219_LM7           0x15BB
+#define E1000_DEV_ID_PCH_CNP_I219_V7            0x15BC
+#define E1000_DEV_ID_PCH_ICP_I219_LM8           0x15DF
+#define E1000_DEV_ID_PCH_ICP_I219_V8            0x15E0
+#define E1000_DEV_ID_PCH_ICP_I219_LM9           0x15E1
+#define E1000_DEV_ID_PCH_ICP_I219_V9            0x15E2
 #define E1000_DEV_ID_82576                      0x10C9
 #define E1000_DEV_ID_82576_FIBER                0x10E6
 #define E1000_DEV_ID_82576_SERDES               0x10E7
 #define E1000_DEV_ID_82576_QUAD_COPPER          0x10E8
 #define E1000_DEV_ID_82576_QUAD_COPPER_ET2      0x1526
@@ -203,10 +211,17 @@
 #define E1000_ALT_MAC_ADDRESS_OFFSET_LAN0       0
 #define E1000_ALT_MAC_ADDRESS_OFFSET_LAN1       3
 #define E1000_ALT_MAC_ADDRESS_OFFSET_LAN2       6
 #define E1000_ALT_MAC_ADDRESS_OFFSET_LAN3       9
 
+/*
+ * This enumeration represents all of the different kinds of MAC chips that are
+ * used by both the e1000g and igb drivers. The ordering here is important as
+ * certain classes of MACs are very similar, but have minor differences and so
+ * are compared based on the ordering here. Changing the order here should not
+ * be done arbitrarily.
+ */
 enum e1000_mac_type {
         e1000_undefined = 0,
         e1000_82542,
         e1000_82543,
         e1000_82544,
@@ -223,17 +238,30 @@
         e1000_82572,
         e1000_82573,
         e1000_82574,
         e1000_82583,
         e1000_80003es2lan,
+        /*
+         * The following MACs all share the ich8 style of hardware and are
+         * implemented in ich8, though some are a little more different than
+         * others. The pch_lpt, pch_spt, and pch_cnp family are a bit more
+         * different than the others and just have slight variants in behavior
+         * between them. They are ordered based on release.
+         */
         e1000_ich8lan,
         e1000_ich9lan,
         e1000_ich10lan,
         e1000_pchlan,
         e1000_pch2lan,
         e1000_pch_lpt,
         e1000_pch_spt,
+        e1000_pch_cnp,
+        /*
+         * After this point all MACs are used by the igb(7D) driver as opposed
+         * to e1000g(7D). If a new MAC is specific to e1000g series of devices,
+         * then it should be added above this.
+         */
         e1000_82575,
         e1000_82576,
         e1000_82580,
         e1000_i350,
         e1000_i354,