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 <[email protected]> > --- > 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 > >

