Re: [PATCH v7 5/5] alpha: decode Clipper environmental events and retain console logs
From: Matt Turner
Date: Tue Oct 13 2026 - 22:11:27 EST
On Tue, Oct 13, 2026 at 23:15 +0200, Magnus Lindholm wrote:
> Remove the redundant silent first pass now that every valid environmental
> notification is reported.
The silent pass only existed in v6, so this is a change between
versions. It belongs below the --- line.
> +# define EL_TYPE__REGATTA__TSUNAMI_PCHIP0_EXTENDED (6)
> +# define EL_TYPE__REGATTA__TSUNAMI_PCHIP1_EXTENDED (7)
Where are these two types and their register layout described? I could
not find them in the 21272 HRM or the ES40 Service Guide.
> +static int
> +clipper_process_environment(struct el_common *header, int print)
With the silent pass gone, the only caller passes print = 1 and ignores
the return value. Both can go.
> + if (packet->class != EL_CLASS__HEADER || packet->revision != 1)
> + return false;
el_process_header_subpacket() prints the frame name and, for event and
halt frames, the timestamp. This scanner prints nothing for the
wrapper, so a decoded log no longer says when the error happened, and
the halt code is dropped too. Please print them here as well.
> + default:
> + return false;
Your changelog says the ES40 record is class 5, type 4, which lands
here. So on the one machine this ran on, the log is never decoded or
cleared, and each boot dumps up to 1 KiB of hex per CPU. Please split
the scanner into its own patch so the environmental decode does not
wait on it.
> + for (i = 0; i < dump; i++) {
> + if (!(i & 15))
> + printk("%s %04zx:", err_print_prefix, i);
> + printk(KERN_CONT " %02x", data[i]);
> + if ((i & 15) == 15 || i + 1 == dump)
> + printk(KERN_CONT "\n");
> + }
print_hex_dump() does this:
print_hex_dump(err_print_prefix, " ", DUMP_PREFIX_OFFSET, 16, 1,
data, dump, false);
> +static struct el_subpacket_handler tsunami_subpacket_handler =
> + SUBPACKET_HANDLER_INIT(EL_CLASS__REGATTA_FAMILY, tsunami_process_subpacket);
Nothing reaches this. tsunami_console_log() calls the function
directly, and the handler list is only walked from
cdl_check_console_data_log(), err_ev7.c and err_marvel.c. Drop the
registration and the three functions can be __init.