Message ID | 20230206172816.8201-5-Jonathan.Cameron@huawei.com |
---|---|
State | New, archived |
Headers | show |
Series | hw/cxl: CXL emulation cleanups and minor fixes for upstream | expand |
On Mon, Feb 06, 2023 at 05:28:10PM +0000, Jonathan Cameron wrote: > From: Gregory Price <gourry.memverge@gmail.com> > > Remove usage of magic numbers when accessing capacity fields and replace > with CXL_CAPACITY_MULTIPLIER, matching the kernel definition. > > Signed-off-by: Gregory Price <gregory.price@memverge.com> > Reviewed-by: Davidlohr Bueso <dave@stgolabs.net> > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Reviewed-by: Fan Ni <fan.ni@samsung.com> > --- > v2: > Change to 256 * MiB and include qemu/units.h (Philippe Mathieu-Daudé) > --- > hw/cxl/cxl-mailbox-utils.c | 15 +++++++++------ > 1 file changed, 9 insertions(+), 6 deletions(-) > > diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c > index bc1bb18844..3f67b665f5 100644 > --- a/hw/cxl/cxl-mailbox-utils.c > +++ b/hw/cxl/cxl-mailbox-utils.c > @@ -12,8 +12,11 @@ > #include "hw/pci/pci.h" > #include "qemu/cutils.h" > #include "qemu/log.h" > +#include "qemu/units.h" > #include "qemu/uuid.h" > > +#define CXL_CAPACITY_MULTIPLIER (256 * MiB) > + > /* > * How to add a new command, example. The command set FOO, with cmd BAR. > * 1. Add the command set and cmd to the enum. > @@ -138,7 +141,7 @@ static ret_code cmd_firmware_update_get_info(struct cxl_cmd *cmd, > } QEMU_PACKED *fw_info; > QEMU_BUILD_BUG_ON(sizeof(*fw_info) != 0x50); > > - if (cxl_dstate->pmem_size < (256 << 20)) { > + if (cxl_dstate->pmem_size < CXL_CAPACITY_MULTIPLIER) { > return CXL_MBOX_INTERNAL_ERROR; > } > > @@ -283,7 +286,7 @@ static ret_code cmd_identify_memory_device(struct cxl_cmd *cmd, > CXLType3Class *cvc = CXL_TYPE3_GET_CLASS(ct3d); > uint64_t size = cxl_dstate->pmem_size; > > - if (!QEMU_IS_ALIGNED(size, 256 << 20)) { > + if (!QEMU_IS_ALIGNED(size, CXL_CAPACITY_MULTIPLIER)) { > return CXL_MBOX_INTERNAL_ERROR; > } > > @@ -293,8 +296,8 @@ static ret_code cmd_identify_memory_device(struct cxl_cmd *cmd, > /* PMEM only */ > snprintf(id->fw_revision, 0x10, "BWFW VERSION %02d", 0); > > - id->total_capacity = size / (256 << 20); > - id->persistent_capacity = size / (256 << 20); > + id->total_capacity = size / CXL_CAPACITY_MULTIPLIER; > + id->persistent_capacity = size / CXL_CAPACITY_MULTIPLIER; > id->lsa_size = cvc->get_lsa_size(ct3d); > > *len = sizeof(*id); > @@ -314,14 +317,14 @@ static ret_code cmd_ccls_get_partition_info(struct cxl_cmd *cmd, > QEMU_BUILD_BUG_ON(sizeof(*part_info) != 0x20); > uint64_t size = cxl_dstate->pmem_size; > > - if (!QEMU_IS_ALIGNED(size, 256 << 20)) { > + if (!QEMU_IS_ALIGNED(size, CXL_CAPACITY_MULTIPLIER)) { > return CXL_MBOX_INTERNAL_ERROR; > } > > /* PMEM only */ > part_info->active_vmem = 0; > part_info->next_vmem = 0; > - part_info->active_pmem = size / (256 << 20); > + part_info->active_pmem = size / CXL_CAPACITY_MULTIPLIER; > part_info->next_pmem = 0; > > *len = sizeof(*part_info); > -- > 2.37.2 > >
diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index bc1bb18844..3f67b665f5 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -12,8 +12,11 @@ #include "hw/pci/pci.h" #include "qemu/cutils.h" #include "qemu/log.h" +#include "qemu/units.h" #include "qemu/uuid.h" +#define CXL_CAPACITY_MULTIPLIER (256 * MiB) + /* * How to add a new command, example. The command set FOO, with cmd BAR. * 1. Add the command set and cmd to the enum. @@ -138,7 +141,7 @@ static ret_code cmd_firmware_update_get_info(struct cxl_cmd *cmd, } QEMU_PACKED *fw_info; QEMU_BUILD_BUG_ON(sizeof(*fw_info) != 0x50); - if (cxl_dstate->pmem_size < (256 << 20)) { + if (cxl_dstate->pmem_size < CXL_CAPACITY_MULTIPLIER) { return CXL_MBOX_INTERNAL_ERROR; } @@ -283,7 +286,7 @@ static ret_code cmd_identify_memory_device(struct cxl_cmd *cmd, CXLType3Class *cvc = CXL_TYPE3_GET_CLASS(ct3d); uint64_t size = cxl_dstate->pmem_size; - if (!QEMU_IS_ALIGNED(size, 256 << 20)) { + if (!QEMU_IS_ALIGNED(size, CXL_CAPACITY_MULTIPLIER)) { return CXL_MBOX_INTERNAL_ERROR; } @@ -293,8 +296,8 @@ static ret_code cmd_identify_memory_device(struct cxl_cmd *cmd, /* PMEM only */ snprintf(id->fw_revision, 0x10, "BWFW VERSION %02d", 0); - id->total_capacity = size / (256 << 20); - id->persistent_capacity = size / (256 << 20); + id->total_capacity = size / CXL_CAPACITY_MULTIPLIER; + id->persistent_capacity = size / CXL_CAPACITY_MULTIPLIER; id->lsa_size = cvc->get_lsa_size(ct3d); *len = sizeof(*id); @@ -314,14 +317,14 @@ static ret_code cmd_ccls_get_partition_info(struct cxl_cmd *cmd, QEMU_BUILD_BUG_ON(sizeof(*part_info) != 0x20); uint64_t size = cxl_dstate->pmem_size; - if (!QEMU_IS_ALIGNED(size, 256 << 20)) { + if (!QEMU_IS_ALIGNED(size, CXL_CAPACITY_MULTIPLIER)) { return CXL_MBOX_INTERNAL_ERROR; } /* PMEM only */ part_info->active_vmem = 0; part_info->next_vmem = 0; - part_info->active_pmem = size / (256 << 20); + part_info->active_pmem = size / CXL_CAPACITY_MULTIPLIER; part_info->next_pmem = 0; *len = sizeof(*part_info);