libnvdimm: Add DSM support for Address Range Scrub commands
commit39c686b862cdb2049b90e095b6c6c727b2a7ab60
authorVishal Verma <vishal.l.verma@intel.com>
Thu, 9 Jul 2015 19:25:36 +0000 (9 13:25 -0600)
committerDan Williams <dan.j.williams@intel.com>
Tue, 28 Jul 2015 02:53:19 +0000 (27 22:53 -0400)
tree4858a38b3c4441bad3e9599ff8cf0de01be13817
parentec92777f2ba93c00387b8fe53780c25adc57c744
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>
drivers/acpi/nfit.c
drivers/acpi/nfit.h
include/uapi/linux/ndctl.h
tools/testing/nvdimm/test/nfit.c