summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/ndctl.h
diff options
context:
space:
mode:
authorVishal Verma2015-07-09 21:25:36 +0200
committerDan Williams2015-07-28 04:53:19 +0200
commit39c686b862cdb2049b90e095b6c6c727b2a7ab60 (patch)
tree4858a38b3c4441bad3e9599ff8cf0de01be13817 /include/uapi/linux/ndctl.h
parentlibnvdimm: Update name of the ars_status_record mask field (diff)
downloadkernel-qcow2-linux-39c686b862cdb2049b90e095b6c6c727b2a7ab60.tar.gz
kernel-qcow2-linux-39c686b862cdb2049b90e095b6c6c727b2a7ab60.tar.xz
kernel-qcow2-linux-39c686b862cdb2049b90e095b6c6c727b2a7ab60.zip
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/linux/ndctl.h')
-rw-r--r--include/uapi/linux/ndctl.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h
index e94bc20016b2..5b4a4be06e2b 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__ */