ACPI: NFIT: Define runtime firmware activation commands
authorDan Williams <dan.j.williams@intel.com>
Mon, 20 Jul 2020 22:07:40 +0000 (15:07 -0700)
committerVishal Verma <vishal.l.verma@intel.com>
Sun, 26 Jul 2020 01:34:47 +0000 (19:34 -0600)
commit6450ddbd5d8e83ea9927c7f9076a21f829699e0f
tree2f1070d09e817ff21838387c2ad6b9cfbb56d6be
parentd46e6a2176f8edf7030db34aeb54a4f016fabe0a
ACPI: NFIT: Define runtime firmware activation commands

Platform reboots are expensive. Towards reducing downtime to apply
firmware updates the Intel NVDIMM command definition is growing support
for applying live firmware updates that only require temporarily
suspending memory traffic instead of a full reboot.

Follow-on commits add support for triggering firmware activation, this
patch only defines the commands, adds probe support, and validates that
they are blocked via the ioctl path. The ioctl-path block ensures that
the OS is in charge since these commands have side effects only the OS
can handle. Specifically firmware activation may cause the memory
controller to be quiesced on the order of 100s of milliseconds. In that
case Linux ensure the activation only takes place while the OS is in a
suspend state.

Link: https://pmem.io/documents/IntelOptanePMem_DSM_Interface-V2.0.pdf
Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
drivers/acpi/nfit/core.c
drivers/acpi/nfit/intel.h
drivers/acpi/nfit/nfit.h
include/uapi/linux/ndctl.h