From: Matt Turner <mattst88@gmail.com>
To: Richard Henderson <richard.henderson@linaro.org>,
Magnus Lindholm <linmag7@gmail.com>,
Guenter Roeck <linux@roeck-us.net>
Cc: linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-hwmon@vger.kernel.org, linux-doc@vger.kernel.org,
Matt Turner <mattst88@gmail.com>
Subject: [PATCH 2/7] alpha: marvel: fix the environmental subpacket layout
Date: Sat, 14 Nov 2026 12:39:48 -0500 [thread overview]
Message-ID: <20261114-marvel-env-v1-2-890328e4b7e5@gmail.com> (raw)
In-Reply-To: <20261114-marvel-env-v1-0-890328e4b7e5@gmail.com>
struct ev7_pal_environmental_subpacket does not match what the MBM and
CMM firmware (V2.7) put in system event frames, which is:
+0 cabinet
+2 drawer
+8 PE (the power and environment node holding the sensor)
+10 sensor index
+14 state: 0 ok, 1 warning, 2 fault, 0xfffe unknown, 0xffff removed
So the byte printed as "Condition" was half of the sensor index, and the
state was never printed. Use the firmware's layout and print the state
along with the sensor's key. This matches the frames in the error log of
an ES47.
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Matt Turner <mattst88@gmail.com>
---
arch/alpha/include/asm/err_ev7.h | 16 ++++++++++++----
arch/alpha/kernel/err_marvel.c | 28 +++++++++++++++++-----------
2 files changed, 29 insertions(+), 15 deletions(-)
diff --git a/arch/alpha/include/asm/err_ev7.h b/arch/alpha/include/asm/err_ev7.h
index ab17e6333764..5d30af0221fb 100644
--- a/arch/alpha/include/asm/err_ev7.h
+++ b/arch/alpha/include/asm/err_ev7.h
@@ -147,17 +147,25 @@ struct ev7_pal_io_subpacket {
* class PAL (14), type POWER_SUPPLY (14)
* class PAL (14), type LAN (15)
* class PAL (14), type HOT_PLUG (16)
+ *
+ * Cabinet, drawer, PE and sensor are the keys of the sensor's GCT packet.
*/
struct ev7_pal_environmental_subpacket {
u16 cabinet;
u16 drawer;
u16 reserved1[2];
- u8 module_type;
- u8 unit_id; /* unit reporting condition */
- u8 reserved2;
- u8 condition; /* condition reported */
+ u16 pe;
+ u16 sensor;
+ u16 reserved2;
+ u16 state; /* EV7_ENV_STATE_* */
};
+#define EV7_ENV_STATE_OK 0
+#define EV7_ENV_STATE_WARNING 1
+#define EV7_ENV_STATE_FAULT 2
+#define EV7_ENV_STATE_UNKNOWN 0xfffe
+#define EV7_ENV_STATE_REMOVED 0xffff
+
/*
* Convert environmental type to index
*/
diff --git a/arch/alpha/kernel/err_marvel.c b/arch/alpha/kernel/err_marvel.c
index 832567a3ccbb..46c521cea9a0 100644
--- a/arch/alpha/kernel/err_marvel.c
+++ b/arch/alpha/kernel/err_marvel.c
@@ -21,6 +21,19 @@
#include "err_impl.h"
#include "proto.h"
+static const char *
+marvel_env_state(u16 state)
+{
+ switch (state) {
+ case EV7_ENV_STATE_OK: return "ok";
+ case EV7_ENV_STATE_WARNING: return "warning";
+ case EV7_ENV_STATE_FAULT: return "fault";
+ case EV7_ENV_STATE_UNKNOWN: return "unknown";
+ case EV7_ENV_STATE_REMOVED: return "removed";
+ default: return "unrecognized";
+ }
+}
+
static void
marvel_print_680_frame(struct ev7_lf_subpackets *lf_subpackets)
{
@@ -49,17 +62,10 @@ marvel_print_680_frame(struct ev7_lf_subpackets *lf_subpackets)
if (!env)
continue;
- printk("%s**%s event (cabinet %d, drawer %d)\n",
- err_print_prefix,
- ev_packets[i].name,
- env->cabinet,
- env->drawer);
- printk("%s Module Type: 0x%x - Unit ID 0x%x - "
- "Condition 0x%x\n",
- err_print_prefix,
- env->module_type,
- env->unit_id,
- env->condition);
+ printk("%s**%s %s (cabinet %u, drawer %u, PE %u, sensor %u, state %#x)\n",
+ err_print_prefix, ev_packets[i].name,
+ marvel_env_state(env->state), env->cabinet,
+ env->drawer, env->pe, env->sensor, env->state);
}
}
--
2.56.1
next prev parent reply other threads:[~2026-11-14 17:39 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-14 17:39 [PATCH 0/7] alpha: marvel: environmental sensors Matt Turner
2026-11-14 17:39 ` [PATCH 1/7] alpha: marvel: report environmental events without VERBOSE_MCHECK Matt Turner
2026-11-14 17:43 ` sashiko-bot
2026-11-14 17:39 ` Matt Turner [this message]
2026-11-14 17:44 ` [PATCH 2/7] alpha: marvel: fix the environmental subpacket layout sashiko-bot
2026-11-14 17:39 ` [PATCH 3/7] alpha: marvel: refresh environmental readings through the console Matt Turner
2026-11-14 17:47 ` sashiko-bot
2026-11-14 17:39 ` [PATCH 4/7] alpha: marvel: register a platform device for the environmental sensors Matt Turner
2026-11-14 17:44 ` sashiko-bot
2026-11-14 17:39 ` [PATCH 5/7] hwmon: Add driver for Marvel AlphaServer " Matt Turner
2026-11-14 17:57 ` sashiko-bot
2026-11-14 17:39 ` [PATCH 6/7] alpha: marvel: notify environmental events Matt Turner
2026-11-14 17:45 ` sashiko-bot
2026-11-14 17:39 ` [PATCH 7/7] hwmon: (marvel-env) Notify userspace of " Matt Turner
2026-11-14 17:52 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261114-marvel-env-v1-2-890328e4b7e5@gmail.com \
--to=mattst88@gmail.com \
--cc=linmag7@gmail.com \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.