From: fan <nifan.cxl@gmail.com>
To: alison.schofield@intel.com
Cc: nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org,
Dan Williams <dan.j.williams@intel.com>
Subject: Re: [ndctl PATCH] cxl/list: add firmware_version to default memdev listing
Date: Thu, 25 Jul 2024 12:22:05 -0700 [thread overview]
Message-ID: <ZqKl3cVFTnbaBHpJ@debian> (raw)
In-Reply-To: <20240725073050.219952-1-alison.schofield@intel.com>
On Thu, Jul 25, 2024 at 12:30:50AM -0700, alison.schofield@intel.com wrote:
> From: Alison Schofield <alison.schofield@intel.com>
>
> cxl list users may discover the firmware revision of a memory
> device by using the -F option to cxl list. That option uses
> the CXL GET_FW_INFO command and emits this json:
>
> "firmware":{
> "num_slots":2,
> "active_slot":1,
> "staged_slot":1,
> "online_activate_capable":false,
> "slot_1_version":"BWFW VERSION 0",
> "fw_update_in_progress":false
> }
>
> Since device support for GET_FW_INFO is optional, the above method
> is not guaranteed. However, the IDENTIFY command is mandatory and
> provides the current firmware revision.
>
> Accessors already exist for retrieval from sysfs so simply add
> the new json member to the default memdev listing.
>
> This means users of the -F option will get the same info twice if
> GET_FW_INFO is supported.
>
> [
> {
> "memdev":"mem9",
> "pmem_size":268435456,
> "serial":0,
> "host":"0000:c0:00.0"
> "firmware_version":"BWFW VERSION 00",
> }
> ]
>
> Suggested-by: Dan Williams <dan.j.williams@intel.com>
> Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Reviewed-by: Fan Ni <fan.ni@samsung.com>
> ---
> cxl/json.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/cxl/json.c b/cxl/json.c
> index 0c27abaea0bd..0b0b186a2594 100644
> --- a/cxl/json.c
> +++ b/cxl/json.c
> @@ -577,6 +577,7 @@ struct json_object *util_cxl_memdev_to_json(struct cxl_memdev *memdev,
> const char *devname = cxl_memdev_get_devname(memdev);
> struct json_object *jdev, *jobj;
> unsigned long long serial, size;
> + const char *fw_version;
> int numa_node;
> int qos_class;
>
> @@ -646,6 +647,13 @@ struct json_object *util_cxl_memdev_to_json(struct cxl_memdev *memdev,
> if (jobj)
> json_object_object_add(jdev, "host", jobj);
>
> + fw_version = cxl_memdev_get_firmware_version(memdev);
> + if (fw_version) {
> + jobj = json_object_new_string(fw_version);
> + if (jobj)
> + json_object_object_add(jdev, "firmware_version", jobj);
> + }
> +
> if (!cxl_memdev_is_enabled(memdev)) {
> jobj = json_object_new_string("disabled");
> if (jobj)
> --
> 2.37.3
>
next prev parent reply other threads:[~2024-07-25 19:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-25 7:30 [ndctl PATCH] cxl/list: add firmware_version to default memdev listing alison.schofield
2024-07-25 8:34 ` Xingtao Yao (Fujitsu)
2024-07-25 19:22 ` fan [this message]
2024-07-25 20:15 ` Dave Jiang
2024-08-09 22:56 ` Dan Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZqKl3cVFTnbaBHpJ@debian \
--to=nifan.cxl@gmail.com \
--cc=alison.schofield@intel.com \
--cc=dan.j.williams@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=nvdimm@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.