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