aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2020-02-07 12:15:39 +0000
committerAlan Somers <asomers@FreeBSD.org>2023-10-05 20:36:00 +0000
commit73765a5fa7d0daa72387d41661c36922f7860bcb (patch)
tree460b7a3f36e43c3012c611a19b44a52293e36940 /sys/dev
parent8d939b7d98452c0357e49b090d5a685ea8a0e69a (diff)
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/mpr/mpr.c14
-rw-r--r--sys/dev/mpr/mpr_user.c6
-rw-r--r--sys/dev/mpr/mprvar.h1
-rw-r--r--sys/dev/mps/mps.c14
-rw-r--r--sys/dev/mps/mps_user.c6
-rw-r--r--sys/dev/mps/mpsvar.h1
6 files changed, 32 insertions, 10 deletions
diff --git a/sys/dev/mpr/mpr.c b/sys/dev/mpr/mpr.c
index 562d629c7afa..b36e10d103d3 100644
--- a/sys/dev/mpr/mpr.c
+++ b/sys/dev/mpr/mpr.c
@@ -521,6 +521,12 @@ mpr_iocfacts_allocate(struct mpr_softc *sc, uint8_t attaching)
sc->facts->FWVersion.Struct.Unit,
sc->facts->FWVersion.Struct.Dev);
+ snprintf(sc->msg_version, sizeof(sc->msg_version), "%d.%d",
+ (sc->facts->MsgVersion & MPI2_IOCFACTS_MSGVERSION_MAJOR_MASK) >>
+ MPI2_IOCFACTS_MSGVERSION_MAJOR_SHIFT,
+ (sc->facts->MsgVersion & MPI2_IOCFACTS_MSGVERSION_MINOR_MASK) >>
+ MPI2_IOCFACTS_MSGVERSION_MINOR_SHIFT);
+
mpr_dprint(sc, MPR_INFO, "Firmware: %s, Driver: %s\n", sc->fw_version,
MPR_DRIVER_VERSION);
mpr_dprint(sc, MPR_INFO,
@@ -1904,13 +1910,17 @@ mpr_setup_sysctl(struct mpr_softc *sc)
"Total number of event frames allocated");
SYSCTL_ADD_STRING(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
- OID_AUTO, "firmware_version", CTLFLAG_RW, sc->fw_version,
+ OID_AUTO, "firmware_version", CTLFLAG_RD, sc->fw_version,
strlen(sc->fw_version), "firmware version");
SYSCTL_ADD_STRING(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
- OID_AUTO, "driver_version", CTLFLAG_RW, MPR_DRIVER_VERSION,
+ OID_AUTO, "driver_version", CTLFLAG_RD, MPR_DRIVER_VERSION,
strlen(MPR_DRIVER_VERSION), "driver version");
+ SYSCTL_ADD_STRING(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
+ OID_AUTO, "msg_version", CTLFLAG_RD, sc->msg_version,
+ strlen(sc->msg_version), "message interface version (deprecated)");
+
SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
OID_AUTO, "io_cmds_active", CTLFLAG_RD,
&sc->io_cmds_active, 0, "number of currently active commands");
diff --git a/sys/dev/mpr/mpr_user.c b/sys/dev/mpr/mpr_user.c
index 53b3f94ea152..62111b91af0b 100644
--- a/sys/dev/mpr/mpr_user.c
+++ b/sys/dev/mpr/mpr_user.c
@@ -855,8 +855,8 @@ mpr_user_pass_thru(struct mpr_softc *sc, mpr_pass_thru_t *data)
if ((cm != NULL) && (cm->cm_reply != NULL)) {
rpl = (MPI2_DEFAULT_REPLY *)cm->cm_reply;
sz = rpl->MsgLength * 4;
-
- if (sz > data->ReplySize) {
+
+ if (bootverbose && sz > data->ReplySize) {
mpr_printf(sc, "%s: user reply buffer (%d) "
"smaller than returned buffer (%d)\n",
__func__, data->ReplySize, sz);
@@ -1081,7 +1081,7 @@ mpr_user_pass_thru(struct mpr_softc *sc, mpr_pass_thru_t *data)
rpl = (MPI2_DEFAULT_REPLY *)cm->cm_reply;
sz = rpl->MsgLength * 4;
- if (sz > data->ReplySize) {
+ if (bootverbose && sz > data->ReplySize) {
mpr_printf(sc, "%s: user reply buffer (%d) smaller "
"than returned buffer (%d)\n", __func__,
data->ReplySize, sz);
diff --git a/sys/dev/mpr/mprvar.h b/sys/dev/mpr/mprvar.h
index 8eb9379d8cff..bda6e9c7da17 100644
--- a/sys/dev/mpr/mprvar.h
+++ b/sys/dev/mpr/mprvar.h
@@ -369,6 +369,7 @@ struct mpr_softc {
struct sysctl_ctx_list sysctl_ctx;
struct sysctl_oid *sysctl_tree;
char fw_version[16];
+ char msg_version[8];
struct mpr_command *commands;
struct mpr_chain *chains;
struct mpr_prp_page *prps;
diff --git a/sys/dev/mps/mps.c b/sys/dev/mps/mps.c
index 1fb7cf09eae8..7bb7d97cb538 100644
--- a/sys/dev/mps/mps.c
+++ b/sys/dev/mps/mps.c
@@ -498,6 +498,12 @@ mps_iocfacts_allocate(struct mps_softc *sc, uint8_t attaching)
sc->facts->FWVersion.Struct.Unit,
sc->facts->FWVersion.Struct.Dev);
+ snprintf(sc->msg_version, sizeof(sc->msg_version), "%d.%d",
+ (sc->facts->MsgVersion & MPI2_IOCFACTS_MSGVERSION_MAJOR_MASK) >>
+ MPI2_IOCFACTS_MSGVERSION_MAJOR_SHIFT,
+ (sc->facts->MsgVersion & MPI2_IOCFACTS_MSGVERSION_MINOR_MASK) >>
+ MPI2_IOCFACTS_MSGVERSION_MINOR_SHIFT);
+
mps_dprint(sc, MPS_INFO, "Firmware: %s, Driver: %s\n", sc->fw_version,
MPS_DRIVER_VERSION);
mps_dprint(sc, MPS_INFO, "IOCCapabilities: %b\n",
@@ -1738,13 +1744,17 @@ mps_setup_sysctl(struct mps_softc *sc)
"Total number of event frames allocated");
SYSCTL_ADD_STRING(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
- OID_AUTO, "firmware_version", CTLFLAG_RW, sc->fw_version,
+ OID_AUTO, "firmware_version", CTLFLAG_RD, sc->fw_version,
strlen(sc->fw_version), "firmware version");
SYSCTL_ADD_STRING(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
- OID_AUTO, "driver_version", CTLFLAG_RW, MPS_DRIVER_VERSION,
+ OID_AUTO, "driver_version", CTLFLAG_RD, MPS_DRIVER_VERSION,
strlen(MPS_DRIVER_VERSION), "driver version");
+ SYSCTL_ADD_STRING(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
+ OID_AUTO, "msg_version", CTLFLAG_RD, sc->msg_version,
+ strlen(sc->msg_version), "message interface version (deprecated)");
+
SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree),
OID_AUTO, "io_cmds_active", CTLFLAG_RD,
&sc->io_cmds_active, 0, "number of currently active commands");
diff --git a/sys/dev/mps/mps_user.c b/sys/dev/mps/mps_user.c
index e7e376288961..a065112bf138 100644
--- a/sys/dev/mps/mps_user.c
+++ b/sys/dev/mps/mps_user.c
@@ -866,8 +866,8 @@ mps_user_pass_thru(struct mps_softc *sc, mps_pass_thru_t *data)
if ((cm != NULL) && (cm->cm_reply != NULL)) {
rpl = (MPI2_DEFAULT_REPLY *)cm->cm_reply;
sz = rpl->MsgLength * 4;
-
- if (sz > data->ReplySize) {
+
+ if (bootverbose && sz > data->ReplySize) {
mps_printf(sc, "%s: user reply buffer (%d) "
"smaller than returned buffer (%d)\n",
__func__, data->ReplySize, sz);
@@ -1021,7 +1021,7 @@ mps_user_pass_thru(struct mps_softc *sc, mps_pass_thru_t *data)
rpl = (MPI2_DEFAULT_REPLY *)cm->cm_reply;
sz = rpl->MsgLength * 4;
- if (sz > data->ReplySize) {
+ if (bootverbose && sz > data->ReplySize) {
mps_printf(sc, "%s: user reply buffer (%d) smaller "
"than returned buffer (%d)\n", __func__,
data->ReplySize, sz);
diff --git a/sys/dev/mps/mpsvar.h b/sys/dev/mps/mpsvar.h
index bb0087bf0346..2326084fee3d 100644
--- a/sys/dev/mps/mpsvar.h
+++ b/sys/dev/mps/mpsvar.h
@@ -327,6 +327,7 @@ struct mps_softc {
struct sysctl_ctx_list sysctl_ctx;
struct sysctl_oid *sysctl_tree;
char fw_version[16];
+ char msg_version[8];
struct mps_command *commands;
struct mps_chain *chains;
struct callout periodic;