Message ID | 20230602-vv-fw_update-v3-3-869f82069c95@intel.com |
---|---|
State | Superseded |
Headers | show |
Series | cxl: Add a firmware update mechanism and cxl_test emulation | expand |
On 6/11/23 23:55, Vishal Verma wrote: > As more emulated mailbox commands are added to cxl_test, it is a pain > point to look up command effect numbers for each effect. Replace the > bare numbers in the mock driver with an enum that lists all possible > effects. > > Cc: Davidlohr Bueso <dave@stgolabs.net> > Cc: Jonathan Cameron <Jonathan.Cameron@Huawei.com> > Cc: Russ Weight <russell.h.weight@intel.com> > Cc: Alison Schofield <alison.schofield@intel.com> > Cc: Ira Weiny <ira.weiny@intel.com> > Cc: Dave Jiang <dave.jiang@intel.com> > Cc: Ben Widawsky <bwidawsk@kernel.org> > Cc: Dan Williams <dan.j.williams@intel.com> > Suggested-by: Jonathan Cameron <Jonathan.Cameron@Huawei.com> > Reviewed-by: Alison Schofield <alison.schofield@intel.com> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Signed-off-by: Vishal Verma <vishal.l.verma@intel.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > tools/testing/cxl/test/mem.c | 32 +++++++++++++++++++++++--------- > 1 file changed, 23 insertions(+), 9 deletions(-) > > diff --git a/tools/testing/cxl/test/mem.c b/tools/testing/cxl/test/mem.c > index 403cd3608772..68668d8df1cd 100644 > --- a/tools/testing/cxl/test/mem.c > +++ b/tools/testing/cxl/test/mem.c > @@ -21,42 +21,56 @@ > > static unsigned int poison_inject_dev_max = MOCK_INJECT_DEV_MAX; > > +enum cxl_command_effects { > + CONF_CHANGE_COLD_RESET = 0, > + CONF_CHANGE_IMMEDIATE, > + DATA_CHANGE_IMMEDIATE, > + POLICY_CHANGE_IMMEDIATE, > + LOG_CHANGE_IMMEDIATE, > + SECURITY_CHANGE_IMMEDIATE, > + BACKGROUND_OP, > + SECONDARY_MBOX_SUPPORTED, > +}; > + > +#define CXL_CMD_EFFECT_NONE cpu_to_le16(0) > + > static struct cxl_cel_entry mock_cel[] = { > { > .opcode = cpu_to_le16(CXL_MBOX_OP_GET_SUPPORTED_LOGS), > - .effect = cpu_to_le16(0), > + .effect = CXL_CMD_EFFECT_NONE, > }, > { > .opcode = cpu_to_le16(CXL_MBOX_OP_IDENTIFY), > - .effect = cpu_to_le16(0), > + .effect = CXL_CMD_EFFECT_NONE, > }, > { > .opcode = cpu_to_le16(CXL_MBOX_OP_GET_LSA), > - .effect = cpu_to_le16(0), > + .effect = CXL_CMD_EFFECT_NONE, > }, > { > .opcode = cpu_to_le16(CXL_MBOX_OP_GET_PARTITION_INFO), > - .effect = cpu_to_le16(0), > + .effect = CXL_CMD_EFFECT_NONE, > }, > { > .opcode = cpu_to_le16(CXL_MBOX_OP_SET_LSA), > - .effect = cpu_to_le16(EFFECT(1) | EFFECT(2)), > + .effect = cpu_to_le16(EFFECT(CONF_CHANGE_IMMEDIATE) | > + EFFECT(DATA_CHANGE_IMMEDIATE)), > }, > { > .opcode = cpu_to_le16(CXL_MBOX_OP_GET_HEALTH_INFO), > - .effect = cpu_to_le16(0), > + .effect = CXL_CMD_EFFECT_NONE, > }, > { > .opcode = cpu_to_le16(CXL_MBOX_OP_GET_POISON), > - .effect = cpu_to_le16(0), > + .effect = CXL_CMD_EFFECT_NONE, > }, > { > .opcode = cpu_to_le16(CXL_MBOX_OP_INJECT_POISON), > - .effect = cpu_to_le16(EFFECT(2)), > + .effect = cpu_to_le16(EFFECT(DATA_CHANGE_IMMEDIATE)), > }, > { > .opcode = cpu_to_le16(CXL_MBOX_OP_CLEAR_POISON), > - .effect = cpu_to_le16(EFFECT(2)), > + .effect = cpu_to_le16(EFFECT(DATA_CHANGE_IMMEDIATE)), > }, > }; > >
diff --git a/tools/testing/cxl/test/mem.c b/tools/testing/cxl/test/mem.c index 403cd3608772..68668d8df1cd 100644 --- a/tools/testing/cxl/test/mem.c +++ b/tools/testing/cxl/test/mem.c @@ -21,42 +21,56 @@ static unsigned int poison_inject_dev_max = MOCK_INJECT_DEV_MAX; +enum cxl_command_effects { + CONF_CHANGE_COLD_RESET = 0, + CONF_CHANGE_IMMEDIATE, + DATA_CHANGE_IMMEDIATE, + POLICY_CHANGE_IMMEDIATE, + LOG_CHANGE_IMMEDIATE, + SECURITY_CHANGE_IMMEDIATE, + BACKGROUND_OP, + SECONDARY_MBOX_SUPPORTED, +}; + +#define CXL_CMD_EFFECT_NONE cpu_to_le16(0) + static struct cxl_cel_entry mock_cel[] = { { .opcode = cpu_to_le16(CXL_MBOX_OP_GET_SUPPORTED_LOGS), - .effect = cpu_to_le16(0), + .effect = CXL_CMD_EFFECT_NONE, }, { .opcode = cpu_to_le16(CXL_MBOX_OP_IDENTIFY), - .effect = cpu_to_le16(0), + .effect = CXL_CMD_EFFECT_NONE, }, { .opcode = cpu_to_le16(CXL_MBOX_OP_GET_LSA), - .effect = cpu_to_le16(0), + .effect = CXL_CMD_EFFECT_NONE, }, { .opcode = cpu_to_le16(CXL_MBOX_OP_GET_PARTITION_INFO), - .effect = cpu_to_le16(0), + .effect = CXL_CMD_EFFECT_NONE, }, { .opcode = cpu_to_le16(CXL_MBOX_OP_SET_LSA), - .effect = cpu_to_le16(EFFECT(1) | EFFECT(2)), + .effect = cpu_to_le16(EFFECT(CONF_CHANGE_IMMEDIATE) | + EFFECT(DATA_CHANGE_IMMEDIATE)), }, { .opcode = cpu_to_le16(CXL_MBOX_OP_GET_HEALTH_INFO), - .effect = cpu_to_le16(0), + .effect = CXL_CMD_EFFECT_NONE, }, { .opcode = cpu_to_le16(CXL_MBOX_OP_GET_POISON), - .effect = cpu_to_le16(0), + .effect = CXL_CMD_EFFECT_NONE, }, { .opcode = cpu_to_le16(CXL_MBOX_OP_INJECT_POISON), - .effect = cpu_to_le16(EFFECT(2)), + .effect = cpu_to_le16(EFFECT(DATA_CHANGE_IMMEDIATE)), }, { .opcode = cpu_to_le16(CXL_MBOX_OP_CLEAR_POISON), - .effect = cpu_to_le16(EFFECT(2)), + .effect = cpu_to_le16(EFFECT(DATA_CHANGE_IMMEDIATE)), }, };