svn commit: r296641 - in head/sys/dev/cxgbe: . common
Navdeep Parhar
np at FreeBSD.org
Fri Mar 11 03:15:19 UTC 2016
Author: np
Date: Fri Mar 11 03:15:17 2016
New Revision: 296641
URL: https://svnweb.freebsd.org/changeset/base/296641
Log:
cxgbe(4): Add sysctls to display the TP microcode version and the
expansion rom version (if there's one).
trantor:~# sysctl dev.t4nex dev.t5nex | grep _version
dev.t4nex.0.firmware_version: 1.15.28.0
dev.t4nex.0.tp_version: 0.1.9.4
dev.t5nex.0.firmware_version: 1.15.28.0
dev.t5nex.0.exprom_version: 1.0.0.68
dev.t5nex.0.tp_version: 0.1.4.9
Modified:
head/sys/dev/cxgbe/adapter.h
head/sys/dev/cxgbe/common/common.h
head/sys/dev/cxgbe/t4_main.c
Modified: head/sys/dev/cxgbe/adapter.h
==============================================================================
--- head/sys/dev/cxgbe/adapter.h Fri Mar 11 01:54:43 2016 (r296640)
+++ head/sys/dev/cxgbe/adapter.h Fri Mar 11 03:15:17 2016 (r296641)
@@ -803,7 +803,9 @@ struct adapter {
int tracer_valid; /* bitmap of valid tracers */
int tracer_enabled; /* bitmap of enabled tracers */
- char fw_version[32];
+ char fw_version[16];
+ char tp_version[16];
+ char exprom_version[16];
char cfg_file[32];
u_int cfcsum;
struct adapter_params params;
Modified: head/sys/dev/cxgbe/common/common.h
==============================================================================
--- head/sys/dev/cxgbe/common/common.h Fri Mar 11 01:54:43 2016 (r296640)
+++ head/sys/dev/cxgbe/common/common.h Fri Mar 11 03:15:17 2016 (r296641)
@@ -290,6 +290,7 @@ struct adapter_params {
unsigned int fw_vers;
unsigned int tp_vers;
+ unsigned int exprom_vers;
unsigned short mtus[NMTUS];
unsigned short a_wnd[NCCTRL_WIN];
Modified: head/sys/dev/cxgbe/t4_main.c
==============================================================================
--- head/sys/dev/cxgbe/t4_main.c Fri Mar 11 01:54:43 2016 (r296640)
+++ head/sys/dev/cxgbe/t4_main.c Fri Mar 11 03:15:17 2016 (r296641)
@@ -2826,7 +2826,24 @@ prep_firmware(struct adapter *sc)
G_FW_HDR_FW_VER_MINOR(sc->params.fw_vers),
G_FW_HDR_FW_VER_MICRO(sc->params.fw_vers),
G_FW_HDR_FW_VER_BUILD(sc->params.fw_vers));
+
t4_get_tp_version(sc, &sc->params.tp_vers);
+ snprintf(sc->tp_version, sizeof(sc->tp_version), "%u.%u.%u.%u",
+ G_FW_HDR_FW_VER_MAJOR(sc->params.tp_vers),
+ G_FW_HDR_FW_VER_MINOR(sc->params.tp_vers),
+ G_FW_HDR_FW_VER_MICRO(sc->params.tp_vers),
+ G_FW_HDR_FW_VER_BUILD(sc->params.tp_vers));
+
+ if (t4_get_exprom_version(sc, &sc->params.exprom_vers) != 0)
+ sc->params.exprom_vers = 0;
+ else {
+ snprintf(sc->exprom_version, sizeof(sc->exprom_version),
+ "%u.%u.%u.%u",
+ G_FW_HDR_FW_VER_MAJOR(sc->params.exprom_vers),
+ G_FW_HDR_FW_VER_MINOR(sc->params.exprom_vers),
+ G_FW_HDR_FW_VER_MICRO(sc->params.exprom_vers),
+ G_FW_HDR_FW_VER_BUILD(sc->params.exprom_vers));
+ }
/* Reset device */
if (need_fw_reset &&
@@ -4594,6 +4611,14 @@ t4_sysctls(struct adapter *sc)
SYSCTL_ADD_INT(ctx, children, OID_AUTO, "hw_revision", CTLFLAG_RD,
NULL, chip_rev(sc), "chip hardware revision");
+ SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "tp_version",
+ CTLFLAG_RD, sc->tp_version, 0, "TP microcode version");
+
+ if (sc->params.exprom_vers != 0) {
+ SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "exprom_version",
+ CTLFLAG_RD, sc->exprom_version, 0, "expansion ROM version");
+ }
+
SYSCTL_ADD_STRING(ctx, children, OID_AUTO, "firmware_version",
CTLFLAG_RD, sc->fw_version, 0, "firmware version");
More information about the svn-src-all
mailing list