linux/drivers/acpi
Dan Williams fe9a552e71 libnvdimm, nfit: fix persistence domain reporting
The persistence domain is a point in the platform where once writes
reach that destination the platform claims it will make them persistent
relative to power loss. In the ACPI NFIT this is currently communicated
as 2 bits in the "NFIT - Platform Capabilities Structure". The bits
comprise a hierarchy, i.e. bit0 "CPU Cache Flush to NVDIMM Durability on
Power Loss Capable" implies bit1 "Memory Controller Flush to NVDIMM
Durability on Power Loss Capable".

Commit 96c3a23905 "libnvdimm: expose platform persistence attr..."
shows the persistence domain as flags, but it's really an enumerated
hierarchy.

Fix this newly introduced user ABI to show the closest available
persistence domain before userspace develops dependencies on seeing, or
needing to develop code to tolerate, the raw NFIT flags communicated
through the libnvdimm-generic region attribute.

Fixes: 96c3a23905 ("libnvdimm: expose platform persistence attr...")
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2018-03-21 15:12:07 -07:00
..
acpica ACPICA: All acpica: Update copyrights to 2018 2018-02-06 10:31:20 +01:00
apei Merge branch 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace 2018-01-30 14:18:52 -08:00
arm64 arm64 updates for 4.15 2017-11-15 10:56:56 -08:00
dptf License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfit libnvdimm, nfit: fix persistence domain reporting 2018-03-21 15:12:07 -07:00
pmic ACPI / PMIC: Convert to use builtin_platform_driver() macro 2018-01-11 02:17:41 +01:00
x86 ACPI / x86: Extend KIOX000A quirk to cover all affected BIOS versions 2017-10-21 13:24:53 +02:00
ac.c ACPI: Mark expected switch fall-throughs 2017-11-09 00:55:16 +01:00
acpi_amba.c
acpi_apd.c ACPI / APD: Add clock frequency for ThunderX2 I2C controller 2017-10-17 23:52:54 +02:00
acpi_cmos_rtc.c
acpi_configfs.c ACPI: configfs: make config_item_type const 2017-10-19 16:15:29 +02:00
acpi_dbg.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
acpi_extlog.c
acpi_ipmi.c
acpi_lpat.c ACPI / lpat: Fix typos in comments and kerneldoc style 2017-07-24 22:52:00 +02:00
acpi_lpit.c ACPI / LPIT: Export lpit_read_residency_count_address() 2018-02-04 15:55:52 +02:00
acpi_lpss.c ACPI / LPSS: Do not instiate platform_dev for devs without MMIO resources 2018-01-15 17:45:25 +01:00
acpi_memhotplug.c
acpi_pad.c
acpi_platform.c
acpi_pnp.c
acpi_processor.c ACPI: Mark expected switch fall-throughs 2017-11-09 00:55:16 +01:00
acpi_video.c ACPI / video: Use true for boolean value 2018-02-04 08:55:36 +01:00
acpi_watchdog.c ACPI / watchdog: properly initialize resources 2017-09-19 01:49:02 +02:00
battery.c ACPI / battery: Add quirk for Asus UX360UA and UX410UAK 2018-02-04 09:17:47 +01:00
battery.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bgrt.c
blacklist.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
bus.c device property: Constify device_get_match_data() 2018-02-12 10:41:11 +01:00
button.c ACPI: button: Add a LID switch blacklist and add 1 model to it 2017-12-13 01:05:02 +01:00
cm_sbs.c
container.c
cppc_acpi.c ACPI / CPPC: Use 64-bit arithmetic instead of 32-bit 2018-02-07 11:15:02 +01:00
custom_method.c
debugfs.c
device_pm.c Merge back PM core material for v4.16. 2017-12-16 02:05:48 +01:00
device_sysfs.c treewide: Use DEVICE_ATTR_RO 2018-01-09 16:34:34 +01:00
dock.c ACPI: Mark expected switch fall-throughs 2017-11-09 00:55:16 +01:00
ec_sys.c ACPI: EC: Fix debugfs_create_*() usage 2018-01-04 13:54:51 +01:00
ec.c ACPI / EC: Restore polling during noirq suspend/resume phases 2018-02-12 10:29:31 +01:00
event.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
evged.c ACPI: GED: unregister interrupts during shutdown 2017-12-16 03:05:37 +01:00
fan.c
glue.c
hed.c
internal.h ACPI: EC: Fix debugfs_create_*() usage 2018-01-04 13:54:51 +01:00
ioapic.c
irq.c ACPI / irq: Fix return code of acpi_gsi_to_irq() 2017-07-12 13:11:49 +02:00
Kconfig More ACPI updates for v4.16-rc1 2018-02-09 09:44:25 -08:00
Makefile - New Drivers 2017-11-16 09:15:57 -08:00
numa.c acpi, numa: fix pxm to online numa node associations 2018-03-15 19:49:14 -07:00
nvs.c
osi.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
osl.c ACPI / LPIT: Add Low Power Idle Table (LPIT) support 2017-10-11 15:38:10 +02:00
pci_irq.c
pci_link.c ACPI/PCI: pci_link: reduce verbosity when IRQ is enabled 2018-01-17 12:53:04 +01:00
pci_mcfg.c
pci_root.c treewide: Consolidate Apple DMI checks 2017-08-03 23:26:22 +02:00
pci_slot.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
power.c
proc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
processor_core.c
processor_driver.c ACPI: processor: use dev_dbg() instead of dev_warn() when CPPC probe failed 2017-07-27 01:51:06 +02:00
processor_idle.c More ACPI updates for v4.16-rc1 2018-02-09 09:44:25 -08:00
processor_pdc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
processor_perflib.c ACPI: processor_perflib: Do not send _PPC change notification if not ready 2018-02-04 09:14:50 +01:00
processor_thermal.c
processor_throttling.c
property.c device property: Constify device_get_match_data() 2018-02-12 10:41:11 +01:00
reboot.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
resource.c ACPI: Mark expected switch fall-throughs 2017-11-09 00:55:16 +01:00
sbs.c Merge branches 'acpi-video', 'acpi-battery', 'acpi-spcr' and 'acpi-misc' 2017-09-03 23:54:29 +02:00
sbshc.c ACPI: sbshc: remove raw pointer from printk() message 2018-02-08 09:50:08 +01:00
sbshc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scan.c ACPI / scan: Use acpi_bus_get_status() to initialize ACPI_TYPE_DEVICE devs 2018-02-04 09:11:56 +01:00
sleep.c ACPI / PM: Use Low Power S0 Idle on more systems 2018-01-11 18:54:31 +01:00
sleep.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spcr.c ACPI: SPCR: Mark expected switch fall-through in acpi_parse_spcr 2018-02-12 10:31:26 +01:00
sysfs.c ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs 2017-12-13 01:11:33 +01:00
tables.c ACPI / tables: Add IORT to injectable table list 2018-02-07 11:06:48 +01:00
thermal.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
utils.c ACPI: utils: Introduce acpi_dev_get_first_match_name() 2018-01-10 00:41:43 +01:00
video_detect.c ACPI / video: Add force_none quirk for Dell OptiPlex 9020M 2017-07-16 02:27:23 +02:00
wakeup.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00