Module Name: src
Committed By: msaitoh
Date: Thu Dec 16 10:48:49 UTC 2021
Modified Files:
src/sys/dev/pci/ixgbe: ixgbe.c
Log Message:
Print NVM image version on 82598.
FreeBSD ix-3.3.29 added code to decode NVM version. On 82598, the NVM
offset is NVM_EEP_OFFSET_82598(== 0x2a). My own three different 82598
cards' value in NVM_EEP_OFFSET_82598 are 0xffff. Instead, the dev starter
version (0x29) has the value. Two of them have 0x1070 and another has 0x2090.
The 82598 specification update notes about 2.9.0.
To generate a diff of this commit:
cvs rdiff -u -r1.299 -r1.300 src/sys/dev/pci/ixgbe/ixgbe.c
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.299 src/sys/dev/pci/ixgbe/ixgbe.c:1.300
--- src/sys/dev/pci/ixgbe/ixgbe.c:1.299 Wed Dec 15 08:42:48 2021
+++ src/sys/dev/pci/ixgbe/ixgbe.c Thu Dec 16 10:48:49 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.c,v 1.299 2021/12/15 08:42:48 msaitoh Exp $ */
+/* $NetBSD: ixgbe.c,v 1.300 2021/12/16 10:48:49 msaitoh Exp $ */
/******************************************************************************
@@ -64,7 +64,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ixgbe.c,v 1.299 2021/12/15 08:42:48 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ixgbe.c,v 1.300 2021/12/16 10:48:49 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -1020,6 +1020,23 @@ ixgbe_attach(device_t parent, device_t d
/* NVM Image Version */
high = low = 0;
switch (hw->mac.type) {
+ case ixgbe_mac_82598EB:
+ /*
+ * Print version from the dev starter version (0x29). The
+ * location is the same as newer device's IXGBE_NVM_MAP_VER.
+ */
+ hw->eeprom.ops.read(hw, IXGBE_NVM_MAP_VER, &nvmreg);
+ if (nvmreg == 0xffff)
+ break;
+ high = (nvmreg >> 12) & 0x0f;
+ low = (nvmreg >> 4) & 0xff;
+ id = nvmreg & 0x0f;
+ /*
+ * The following output might not be correct. Some 82598 cards
+ * have 0x1070 or 0x2090. 82598 spec update notes about 2.9.0.
+ */
+ aprint_normal(" NVM Image Version %u.%u.%u,", high, low, id);
+ break;
case ixgbe_mac_X540:
case ixgbe_mac_X550EM_a:
hw->eeprom.ops.read(hw, IXGBE_NVM_IMAGE_VER, &nvmreg);