Message ID | 20241120095923.1891-2-shiju.jose@huawei.com |
---|---|
State | New |
Headers | show |
Series | rasdaemon: cxl: Update CXL event logging and recording to CXL spec rev 3.1 | expand |
On Wed, 20 Nov 2024 09:59:11 +0000 <shiju.jose@huawei.com> wrote: > From: Shiju Jose <shiju.jose@huawei.com> > > CXL spec rev 3.0 section 8.2.9.2.1.2 defines the DRAM Event Record. > > Fix logging of memory event type field of DRAM trace event. > For e.g. if value is 0x1 it will be reported as an Invalid Address > (General Media Event Record - Memory Event Type) instead of Scrub Media > ECC Error (DRAM Event Record - Memory Event Type) and so on. > > Fixes: 9a2f6186db26 ("rasdaemon: Add support for the CXL dram events") > Signed-off-by: Shiju Jose <shiju.jose@huawei.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
diff --git a/ras-cxl-handler.c b/ras-cxl-handler.c index 67ce32e..8733b2b 100644 --- a/ras-cxl-handler.c +++ b/ras-cxl-handler.c @@ -898,6 +898,13 @@ int ras_cxl_general_media_event_handler(struct trace_seq *s, #define CXL_DER_VALID_COLUMN BIT(6) #define CXL_DER_VALID_CORRECTION_MASK BIT(7) +static const char * const cxl_der_mem_event_type[] = { + "Media ECC Error", + "Scrub Media ECC Error", + "Invalid Address", + "Data Path Error", +}; + int ras_cxl_dram_event_handler(struct trace_seq *s, struct tep_record *record, struct tep_event *event, void *context) @@ -938,9 +945,9 @@ int ras_cxl_dram_event_handler(struct trace_seq *s, if (tep_get_field_val(s, event, "type", record, &val, 1) < 0) return -1; ev.type = val; - if (trace_seq_printf(s, "type:%s ", - get_cxl_type_str(cxl_gmer_mem_event_type, - ARRAY_SIZE(cxl_gmer_mem_event_type), + if (trace_seq_printf(s, "memory_event_type:%s ", + get_cxl_type_str(cxl_der_mem_event_type, + ARRAY_SIZE(cxl_der_mem_event_type), ev.type)) <= 0) return -1;