Re: [PATCH 1/4] acpi/ghes, cxl: Create a common CXL struct to handle different CXL CPER records

From: Smita Koralahalli
Date: Wed Jan 03 2024 - 15:04:19 EST


On 1/2/2024 8:23 AM, Ira Weiny wrote:
Smita Koralahalli wrote:
Currently defined cxl_cper_callback interface between CXL subsystem and
GHES module is just confined to handling CXL Component errors only.

Extend this callback to process CXL Protocol errors as well. Achieve
by defining a new struct cxl_cper_rec_data to include cxl_cper_event_rec
and other fields of CXL protocol errors which will be defined in future
patches.

Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@xxxxxxx>

[snip]

static int __init cxl_pci_driver_init(void)
diff --git a/include/linux/cxl-event.h b/include/linux/cxl-event.h
index 17eadee819b6..afa71ee0437c 100644
--- a/include/linux/cxl-event.h
+++ b/include/linux/cxl-event.h
@@ -141,8 +141,12 @@ struct cxl_cper_event_rec {
union cxl_event event;
} __packed;
+struct cxl_cper_rec_data {
+ struct cxl_cper_event_rec rec;

NIT: I would call this something like event to distinguish it from other
record data.

What do you think of the below?

struct cxl_cper_event_info {
struct cxl_cper_event_rec rec;
struct cxl_cper_prot_err {
struct cxl_ras_capability_regs cxl_ras;
int severity;
} p_err;
};

Addressed changing to sub-struct and copying the struct rather than pointer comments in patch 3..


Other than that this seems reasonable to me.

Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>

[snip]