nfit: update block I/O path to use PMEM API
authorRoss Zwisler <ross.zwisler@linux.intel.com>
Fri, 10 Jul 2015 17:06:13 +0000 (11:06 -0600)
committerDan Williams <dan.j.williams@intel.com>
Fri, 10 Jul 2015 18:35:45 +0000 (14:35 -0400)
commitc2ad29540cb913bd9e526fae77c35c7fb45f24a3
tree739e9d071388ca1e53238a3e5f76d716b5597f48
parent9d27a87ec9e1317d368b1e5e3f4808078baa8c4c
nfit: update block I/O path to use PMEM API

Update the nfit block I/O path to use the new PMEM API and to adhere to
the read/write flows outlined in the "NVDIMM Block Window Driver
Writer's Guide":

http://pmem.io/documents/NVDIMM_Driver_Writers_Guide.pdf

This includes adding support for targeted NVDIMM flushes called "flush
hints" in the ACPI 6.0 specification:

http://www.uefi.org/sites/default/files/resources/ACPI_6.0.pdf

For performance and media durability the mapping for a BLK aperture is
moved to a write-combining mapping which is consistent with
memcpy_to_pmem() and wmb_blk().

Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/acpi/nfit.c
drivers/acpi/nfit.h