Re: [PATCH V3 16/20] cxl/mem: Preserve cxl root decoder during mem probe
From: Alison Schofield
Date: Wed Sep 24 2025 - 17:39:05 EST
On Wed, Sep 17, 2025 at 07:11:12PM +0530, Neeraj Kumar wrote:
> Saved root decoder info is required for cxl region persistency
It seem there must be a more detailed story here.
Saving the root decoder in struct cxl_memdev does not sound
persistent. Please add more detail on how this step fits
into the grander scheme.
>
> 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 434031a0c1f7..25cb115b72bd 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
>
>