ACPI: NFIT: Add runtime firmware activate support
authorDan Williams <dan.j.williams@intel.com>
Mon, 20 Jul 2020 22:08:24 +0000 (15:08 -0700)
committerVishal Verma <vishal.l.verma@intel.com>
Wed, 29 Jul 2020 01:29:22 +0000 (19:29 -0600)
commita1facc1fffc17a65e2c12a8de7434b9325ec0324
tree1b12e0e5e163bb3a4f8adcb0344c9f5a36801a1e
parent48001ea50d17f3eb06a552e9ecf21f7fc01b25da
ACPI: NFIT: Add runtime firmware activate support

Plumb the platform specific backend for the generic libnvdimm firmware
activate interface. Register dimm level operations to arm/disarm
activation, and register bus level operations to report the dynamic
platform-quiesce time relative to the number of dimms armed for firmware
activation.

A new nfit-specific bus attribute "firmware_activate_noidle" is added to
allow the activation to switch between platform enforced, and OS
opportunistic device quiesce. In other words, let the hibernate cycle
handle in-flight device-dma rather than the platform attempting to
increase PCI-E timeouts and the like.

Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Documentation/ABI/testing/sysfs-bus-nfit
drivers/acpi/nfit/core.c
drivers/acpi/nfit/intel.c
drivers/acpi/nfit/intel.h
drivers/acpi/nfit/nfit.h
drivers/nvdimm/dimm_devs.c
include/linux/libnvdimm.h