Module Name:    src
Committed By:   msaitoh
Date:           Fri Jun  2 08:16:52 UTC 2017

Modified Files:
        src/sys/dev/pci/ixgbe: ixgbe.c ixgbe_type.h

Log Message:
- Print NVM Image Version, PHY FW Revision, NVM Map version and OEM NVM
  Image version
- s/TrackID/ETrackID/


To generate a diff of this commit:
cvs rdiff -u -r1.87 -r1.88 src/sys/dev/pci/ixgbe/ixgbe.c
cvs rdiff -u -r1.21 -r1.22 src/sys/dev/pci/ixgbe/ixgbe_type.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/ixgbe/ixgbe.c
diff -u src/sys/dev/pci/ixgbe/ixgbe.c:1.87 src/sys/dev/pci/ixgbe/ixgbe.c:1.88
--- src/sys/dev/pci/ixgbe/ixgbe.c:1.87	Fri May 26 09:17:32 2017
+++ src/sys/dev/pci/ixgbe/ixgbe.c	Fri Jun  2 08:16:52 2017
@@ -59,7 +59,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 /*$FreeBSD: head/sys/dev/ixgbe/if_ix.c 302384 2016-07-07 03:39:18Z sbruno $*/
-/*$NetBSD: ixgbe.c,v 1.87 2017/05/26 09:17:32 msaitoh Exp $*/
+/*$NetBSD: ixgbe.c,v 1.88 2017/06/02 08:16:52 msaitoh Exp $*/
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -466,7 +466,8 @@ ixgbe_attach(device_t parent, device_t d
 	struct adapter *adapter;
 	struct ixgbe_hw *hw;
 	int             error = -1;
-	u16		csum, high, low;
+	u16		csum, high, low, nvmreg;
+	u8		id;
 	u32		ctrl_ext;
 	ixgbe_vendor_info_t *ent;
 	struct pci_attach_args *pa = aux;
@@ -630,10 +631,75 @@ ixgbe_attach(device_t parent, device_t d
 		goto err_late;
 	}
 
-	/* Print the TrackID */
-	hw->eeprom.ops.read(hw, IXGBE_TRACKID_H, &high);
-	hw->eeprom.ops.read(hw, IXGBE_TRACKID_L, &low);
-	aprint_normal_dev(dev, "TrackID %08x\n", ((uint32_t)high << 16) | low);
+	aprint_normal("%s:", device_xname(dev));
+	/* NVM Image Version */
+	switch (hw->mac.type) {
+	case ixgbe_mac_X540:
+		hw->eeprom.ops.read(hw, IXGBE_NVM_IMAGE_VER, &nvmreg);
+		if (nvmreg == 0xffff)
+			break;
+		high = (nvmreg >> 12) & 0x0f;
+		low = (nvmreg >> 4) & 0xff;
+		id = nvmreg & 0x0f;
+		aprint_normal(" NVM Image Version %u.%u ID 0x%x,", high, low,
+		    id);
+		break;
+	case ixgbe_mac_X550EM_x:
+	case ixgbe_mac_X550:
+		hw->eeprom.ops.read(hw, IXGBE_NVM_IMAGE_VER, &nvmreg);
+		if (nvmreg == 0xffff)
+			break;
+		high = (nvmreg >> 12) & 0x0f;
+		low = nvmreg & 0xff;
+		aprint_normal(" NVM Image Version %u.%u,", high, low);
+		break;
+	default:
+		break;
+	}
+
+	/* PHY firmware revision */
+	switch (hw->mac.type) {
+	case ixgbe_mac_X540:
+	case ixgbe_mac_X550:
+		hw->eeprom.ops.read(hw, IXGBE_PHYFW_REV, &nvmreg);
+		if (nvmreg == 0xffff)
+			break;
+		high = (nvmreg >> 12) & 0x0f;
+		low = (nvmreg >> 4) & 0xff;
+		id = nvmreg & 0x000f;
+		aprint_normal(" PHY FW Revision %u.%u ID 0x%x,", high, low,
+		    id);
+		break;
+	default:
+		break;
+	}
+
+	/* NVM Map version & OEM NVM Image version */
+	switch (hw->mac.type) {
+	case ixgbe_mac_X550:
+	case ixgbe_mac_X550EM_x:
+		hw->eeprom.ops.read(hw, IXGBE_NVM_MAP_VER, &nvmreg);
+		if (nvmreg != 0xffff) {
+			high = (nvmreg >> 12) & 0x0f;
+			low = nvmreg & 0x00ff;
+			aprint_normal(" NVM Map version %u.%02x,", high, low);
+		}
+		hw->eeprom.ops.read(hw, IXGBE_OEM_NVM_IMAGE_VER, &nvmreg);
+		if (nvmreg == 0xffff) {
+			high = (nvmreg >> 12) & 0x0f;
+			low = nvmreg & 0x00ff;
+			aprint_verbose(" OEM NVM Image version %u.%02x,", high,
+			    low);
+		}
+		break;
+	default:
+		break;
+	}
+
+	/* Print the ETrackID */
+	hw->eeprom.ops.read(hw, IXGBE_ETRACKID_H, &high);
+	hw->eeprom.ops.read(hw, IXGBE_ETRACKID_L, &low);
+	aprint_normal(" ETrackID %08x\n", ((uint32_t)high << 16) | low);
 
 	error = ixgbe_init_hw(hw);
 	switch (error) {

Index: src/sys/dev/pci/ixgbe/ixgbe_type.h
diff -u src/sys/dev/pci/ixgbe/ixgbe_type.h:1.21 src/sys/dev/pci/ixgbe/ixgbe_type.h:1.22
--- src/sys/dev/pci/ixgbe/ixgbe_type.h:1.21	Fri May 26 08:36:42 2017
+++ src/sys/dev/pci/ixgbe/ixgbe_type.h	Fri Jun  2 08:16:52 2017
@@ -31,7 +31,7 @@
 
 ******************************************************************************/
 /*$FreeBSD: head/sys/dev/ixgbe/ixgbe_type.h 299200 2016-05-06 22:54:56Z pfg $*/
-/*$NetBSD: ixgbe_type.h,v 1.21 2017/05/26 08:36:42 msaitoh Exp $*/
+/*$NetBSD: ixgbe_type.h,v 1.22 2017/06/02 08:16:52 msaitoh Exp $*/
 
 #ifndef _IXGBE_TYPE_H_
 #define _IXGBE_TYPE_H_
@@ -2221,13 +2221,17 @@ enum {
 #define IXGBE_FW_PTR			0x0F
 #define IXGBE_PBANUM0_PTR		0x15
 #define IXGBE_PBANUM1_PTR		0x16
+#define IXGBE_NVM_IMAGE_VER		0x18
+#define IXGBE_PHYFW_REV			0x19
 #define IXGBE_ALT_MAC_ADDR_PTR		0x37
 #define IXGBE_FREE_SPACE_PTR		0X3E
 
 #define IXGBE_SAN_MAC_ADDR_PTR		0x28
+#define IXGBE_NVM_MAP_VER		0x29
+#define IXGBE_OEM_NVM_IMAGE_VER		0x2A
 #define IXGBE_DEVICE_CAPS		0x2C
-#define IXGBE_TRACKID_L			0x2d
-#define IXGBE_TRACKID_H			0x2e
+#define IXGBE_ETRACKID_L		0x2D
+#define IXGBE_ETRACKID_H		0x2E
 #define IXGBE_SERIAL_NUMBER_MAC_ADDR	0x11
 #define IXGBE_PCIE_MSIX_82599_CAPS	0x72
 #define IXGBE_MAX_MSIX_VECTORS_82599	0x40

Reply via email to