[PATCH V2 16/20] cxl/mem: Preserve cxl root decoder during mem probe

From: Neeraj Kumar
Date: Wed Jul 30 2025 - 08:21:24 EST


Saved root decoder info is required for cxl region persistency

Signed-off-by: Neeraj Kumar <s.neeraj@xxxxxxxxxxx>
---
drivers/cxl/cxlmem.h | 1 +
drivers/cxl/mem.c | 2 ++
2 files changed, 3 insertions(+)

diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h
index 751478dfc410..72dfcf4671f2 100644
--- a/drivers/cxl/cxlmem.h
+++ b/drivers/cxl/cxlmem.h
@@ -59,6 +59,7 @@ struct cxl_memdev {
struct cxl_nvdimm_bridge *cxl_nvb;
struct cxl_nvdimm *cxl_nvd;
struct cxl_port *endpoint;
+ struct cxl_root_decoder *cxlrd;
int id;
int depth;
u8 scrub_cycle;
diff --git a/drivers/cxl/mem.c b/drivers/cxl/mem.c
index 54501616ff09..1a0da7253a24 100644
--- a/drivers/cxl/mem.c
+++ b/drivers/cxl/mem.c
@@ -152,6 +152,8 @@ static int cxl_mem_probe(struct device *dev)
return -ENXIO;
}

+ cxlmd->cxlrd = cxl_find_root_decoder_by_port(parent_port);
+
if (dport->rch)
endpoint_parent = parent_port->uport_dev;
else
--
2.34.1