On Thu, 2 Sep 2021 17:36:02 +0100
Jonathan Cameron <[email protected]> wrote:

> On Tue, 24 Aug 2021 09:06:36 -0700
> Dan Williams <[email protected]> wrote:
> 
> > Add a definition of the CXL 2.0 region label format. Note this is done
> > as a separate patch to make the next patch that adds namespace label
> > support easier to read.
> > 
> > Reported-by: Jonathan Cameron <[email protected]>
> > Signed-off-by: Dan Williams <[email protected]>  
> FWIW
> Reviewed-by: Jonathan Cameron <[email protected]>
Oops. Just noticed something below that needs fixing, so keep
that RB with the missing docs fixed.

> 
> > ---
> >  drivers/nvdimm/label.h |   30 ++++++++++++++++++++++++++++++
> >  1 file changed, 30 insertions(+)
> > 
> > diff --git a/drivers/nvdimm/label.h b/drivers/nvdimm/label.h
> > index 31f94fad7b92..76ecd0347dc2 100644
> > --- a/drivers/nvdimm/label.h
> > +++ b/drivers/nvdimm/label.h
> > @@ -65,6 +65,36 @@ struct nd_namespace_index {
> >     u8 free[];
> >  };
> >  
> > +/**
> > + * struct cxl_region_label - CXL 2.0 Table 211
> > + * @type: uuid identifying this label format (region)
> > + * @uuid: uuid for the region this label describes
> > + * @flags: NSLABEL_FLAG_UPDATING (all other flags reserved)

nlabel docs missing here.

> > + * @position: this label's position in the set
> > + * @dpa: start address in device-local capacity for this label
> > + * @rawsize: size of this label's contribution to region
> > + * @hpa: mandatory system physical address to map this region
> > + * @slot: slot id of this label in label area
> > + * @ig: interleave granularity (1 << @ig) * 256 bytes
> > + * @align: alignment in SZ_256M blocks

Probably need to add docs for reserved to suppress warnings
from the kernel-doc build (unless it's clever about things called reserved?)
 
> > + * @checksum: fletcher64 sum of this label
> > + */
> > +struct cxl_region_label {
> > +   u8 type[NSLABEL_UUID_LEN];
> > +   u8 uuid[NSLABEL_UUID_LEN];
> > +   __le32 flags;
> > +   __le16 nlabel;
> > +   __le16 position;
> > +   __le64 dpa;
> > +   __le64 rawsize;
> > +   __le64 hpa;
> > +   __le32 slot;
> > +   __le32 ig;
> > +   __le32 align;
> > +   u8 reserved[0xac];
> > +   __le64 checksum;
> > +};
> > +
> >  /**
> >   * struct nd_namespace_label - namespace superblock
> >   * @uuid: UUID per RFC 4122
> >   
> 


Reply via email to