Dan, One follow up below...

On Wed, Jan 26, 2022 at 03:41:14PM -0800, Dan Williams wrote:
> On Tue, Jan 18, 2022 at 12:20 PM <[email protected]> wrote:
> >
> > From: Alison Schofield <[email protected]>
> >
> > Users may want the ability to change the partition layout of a CXL
> > memory device.
> >
> > Add interfaces to libcxl to allocate and send a SET_PARTITION_INFO
> > mailbox as defined in the CXL 2.0 specification.
> >
> > Signed-off-by: Alison Schofield <[email protected]>
> > ---
> >  cxl/lib/libcxl.c   | 50 ++++++++++++++++++++++++++++++++++++++++++++++
> >  cxl/lib/libcxl.sym |  5 +++++
> >  cxl/lib/private.h  |  8 ++++++++
> >  cxl/libcxl.h       |  5 +++++
> >  4 files changed, 68 insertions(+)
> >
> > diff --git a/cxl/lib/libcxl.c b/cxl/lib/libcxl.c
> > index 5b1fc32..5a5b189 100644
> > --- a/cxl/lib/libcxl.c
> > +++ b/cxl/lib/libcxl.c
> > @@ -1230,6 +1230,21 @@ 
> > cxl_cmd_partition_info_get_next_persistent_bytes(struct cxl_cmd *cmd)
> >         cmd_partition_get_capacity_field(cmd, next_persistent_cap);
> >  }
> >
> > +CXL_EXPORT struct cxl_cmd *cxl_cmd_new_set_partition_info(struct 
> > cxl_memdev *memdev,
> > +               unsigned long long volatile_capacity, int flags)
> > +{
> > +       struct cxl_cmd_set_partition_info *set_partition;
> > +       struct cxl_cmd *cmd;
> > +
> > +       cmd = cxl_cmd_new_generic(memdev,
> > +                       CXL_MEM_COMMAND_ID_SET_PARTITION_INFO);
> > +
> > +       set_partition = (struct cxl_cmd_set_partition_info 
> > *)cmd->send_cmd->in.payload;
> 
> ->in.payload is a 'void *', no casting required.
> 

send_cmd->in.payload is a __u64 so this cast is needed.

Of course, I wondered what Dan was thinking ;) and I see that struct
cxl_cmd's input_payload is indeed a 'void *'.

I believe this is the correct payload here, umm..  because it works ;)

But - let me know if you suspect something is off here.

Thanks!




snip
>

Reply via email to