diff options
author | Vishal Verma <vishal.l.verma@intel.com> | 2015-07-09 19:25:36 (GMT) |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2015-07-28 02:53:19 (GMT) |
commit | 39c686b862cdb2049b90e095b6c6c727b2a7ab60 (patch) | |
tree | 4858a38b3c4441bad3e9599ff8cf0de01be13817 /include/uapi | |
parent | ec92777f2ba93c00387b8fe53780c25adc57c744 (diff) | |
download | linux-39c686b862cdb2049b90e095b6c6c727b2a7ab60.tar.xz |
libnvdimm: Add DSM support for Address Range Scrub commands
Add support for the three ARS DSM commands:
- Query ARS Capabilities - Queries the firmware to check if a given
range supports scrub, and if so, which type (persistent vs. volatile)
- Start ARS - Starts a scrub for a given range/type
- Query ARS Status - Checks status of a previously started scrub, and
provides the error logs if any.
The commands are described by the example DSM spec at:
http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf
Also add these commands to the nfit_test test framework, and return
canned data.
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'include/uapi')
-rw-r--r-- | include/uapi/linux/ndctl.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h index e94bc20..5b4a4be 100644 --- a/include/uapi/linux/ndctl.h +++ b/include/uapi/linux/ndctl.h @@ -111,6 +111,11 @@ enum { ND_CMD_VENDOR = 9, }; +enum { + ND_ARS_VOLATILE = 1, + ND_ARS_PERSISTENT = 2, +}; + static inline const char *nvdimm_bus_cmd_name(unsigned cmd) { static const char * const names[] = { @@ -194,4 +199,9 @@ enum nd_driver_flags { enum { ND_MIN_NAMESPACE_SIZE = 0x00400000, }; + +enum ars_masks { + ARS_STATUS_MASK = 0x0000FFFF, + ARS_EXT_STATUS_SHIFT = 16, +}; #endif /* __NDCTL_H__ */ |