* [PATCH 1/1] msft: Add xlat_firmware_status for JEDEC Byte Addressable Energy Backed DSM
@ 2021-01-09 15:36 redhairer
2021-01-13 7:12 ` Dan Williams
0 siblings, 1 reply; 2+ messages in thread
From: redhairer @ 2021-01-09 15:36 UTC (permalink / raw)
To: linux-nvdimm, dan.j.williams; +Cc: Redhairer Li
From: Redhairer Li <redhairer.li@intel.com>
Translate the status codes of the result of JEDEC Byte Addressable Energy Backed
DSM to generic errno style error codes.
Signed-off-by: Li Redhairer <redhairer.li@intel.com>
---
ndctl/lib/msft.c | 22 ++++++++++++++++++++++
ndctl/lib/msft.h | 6 ++++++
2 files changed, 28 insertions(+)
diff --git a/ndctl/lib/msft.c b/ndctl/lib/msft.c
index 145872c..3112799 100644
--- a/ndctl/lib/msft.c
+++ b/ndctl/lib/msft.c
@@ -149,10 +149,32 @@ static unsigned int msft_cmd_smart_get_life_used(struct ndctl_cmd *cmd)
return 100 - CMD_MSFT_SMART(cmd)->nvm_lifetime;
}
+static int msft_cmd_xlat_firmware_status(struct ndctl_cmd *cmd)
+{
+ unsigned int status;
+
+ status = cmd->get_firmware_status(cmd) & NDN_MSFT_STATUS_MASK;
+
+ /* Common statuses */
+ switch (status) {
+ case NDN_MSFT_STATUS_SUCCESS:
+ return 0;
+ case NDN_MSFT_STATUS_NOTSUPP:
+ return -EOPNOTSUPP;
+ case NDN_MSFT_STATUS_INVALPARM:
+ return -EINVAL;
+ case NDN_MSFT_STATUS_I2CERR:
+ return -EIO;
+ }
+
+ return -ENOMSG;
+}
+
struct ndctl_dimm_ops * const msft_dimm_ops = &(struct ndctl_dimm_ops) {
.new_smart = msft_dimm_cmd_new_smart,
.smart_get_flags = msft_cmd_smart_get_flags,
.smart_get_health = msft_cmd_smart_get_health,
.smart_get_media_temperature = msft_cmd_smart_get_media_temperature,
.smart_get_life_used = msft_cmd_smart_get_life_used,
+ .xlat_firmware_status = msft_cmd_xlat_firmware_status,
};
diff --git a/ndctl/lib/msft.h b/ndctl/lib/msft.h
index 7cfd26f..978cc11 100644
--- a/ndctl/lib/msft.h
+++ b/ndctl/lib/msft.h
@@ -50,4 +50,10 @@ struct ndn_pkg_msft {
union ndn_msft_cmd u;
} __attribute__((packed));
+#define NDN_MSFT_STATUS_MASK 0xffff
+#define NDN_MSFT_STATUS_SUCCESS 0
+#define NDN_MSFT_STATUS_NOTSUPP 1
+#define NDN_MSFT_STATUS_INVALPARM 2
+#define NDN_MSFT_STATUS_I2CERR 3
+
#endif /* __NDCTL_MSFT_H__ */
--
2.27.0.windows.1
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 1/1] msft: Add xlat_firmware_status for JEDEC Byte Addressable Energy Backed DSM
2021-01-09 15:36 [PATCH 1/1] msft: Add xlat_firmware_status for JEDEC Byte Addressable Energy Backed DSM redhairer
@ 2021-01-13 7:12 ` Dan Williams
0 siblings, 0 replies; 2+ messages in thread
From: Dan Williams @ 2021-01-13 7:12 UTC (permalink / raw)
To: redhairer, Vishal L Verma; +Cc: linux-nvdimm
[ notify Vishal ]
On Sat, Jan 9, 2021 at 9:37 AM redhairer <redhairer.li@intel.com> wrote:
>
> From: Redhairer Li <redhairer.li@intel.com>
>
> Translate the status codes of the result of JEDEC Byte Addressable Energy Backed
> DSM to generic errno style error codes.
>
> Signed-off-by: Li Redhairer <redhairer.li@intel.com>
Looks good to me:
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-01-13 7:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-09 15:36 [PATCH 1/1] msft: Add xlat_firmware_status for JEDEC Byte Addressable Energy Backed DSM redhairer
2021-01-13 7:12 ` Dan Williams
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).