This pair of patches adds support for the HPE SMART DSM functions and enables
ndctl to report DIMM health data for HPE type N NVDIMMs.  The relevant
firmware interfaces are described in [1].

The first patch simply makes the existing parse_smart_temperature() function
global so that it can be used by the new HPE-specific code.

The second patch adds an HPE equivalent for the existing
util_dimm_health_to_json().  util_hpe_dimm_health_to_json() calls the HPE
DSM functions and populates a JSON object with health data.  This patch
delivers health reporting parity for HPE type N NVDIMMs, but we are planning
a future patch to export JSON for some of the additional health data defined
in [1].

If you'd like to test these changes, note the following:

. Some of the DSM functions for HPE type N NVDIMMs, including the ones used
  by this patch, require the acpi_ipmi kernel module to be loaded, and you
  may need to manually modprobe it.

. Without [2], you'll need to include '--idle' in your ndctl invocation as
  ndctl will consider type Ns to be disabled and will otherwise omit them.

[1] 
https://github.com/HewlettPackard/hpe-nvm/raw/master/Documentation/NFIT_DSM_DDR4_NVDIMM-N_v84s.pdf
[2] https://lists.01.org/pipermail/linux-nvdimm/2016-August/006619.html

Brian Boylston (2):
  util: make parse_smart_temperature() global
  ndctl, util: add support for HPE DSM SMART interfaces

 ndctl/Makefile.am       |   1 +
 ndctl/builtin-list.c    |   2 +
 ndctl/util/json-hpe.c   | 283 ++++++++++++++++++++++++++++++++++++++++
 ndctl/util/json-smart.c |   2 +-
 ndctl/util/json.h       |  11 ++
 ndctl/util/ndctl-hpe1.h | 335 ++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 633 insertions(+), 1 deletion(-)
 create mode 100644 ndctl/util/json-hpe.c
 create mode 100644 ndctl/util/ndctl-hpe1.h

-- 
2.8.3

_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to