Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / include / linux / papr_scm.h
blobeb36453813db917d84daf74e0e78ac6c3fa31c1d
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 #ifndef __LINUX_PAPR_SCM_H
3 #define __LINUX_PAPR_SCM_H
5 /* DIMM health bitmap indicators */
6 /* SCM device is unable to persist memory contents */
7 #define PAPR_PMEM_UNARMED (1ULL << (63 - 0))
8 /* SCM device failed to persist memory contents */
9 #define PAPR_PMEM_SHUTDOWN_DIRTY (1ULL << (63 - 1))
10 /* SCM device contents are persisted from previous IPL */
11 #define PAPR_PMEM_SHUTDOWN_CLEAN (1ULL << (63 - 2))
12 /* SCM device contents are not persisted from previous IPL */
13 #define PAPR_PMEM_EMPTY (1ULL << (63 - 3))
14 /* SCM device memory life remaining is critically low */
15 #define PAPR_PMEM_HEALTH_CRITICAL (1ULL << (63 - 4))
16 /* SCM device will be garded off next IPL due to failure */
17 #define PAPR_PMEM_HEALTH_FATAL (1ULL << (63 - 5))
18 /* SCM contents cannot persist due to current platform health status */
19 #define PAPR_PMEM_HEALTH_UNHEALTHY (1ULL << (63 - 6))
20 /* SCM device is unable to persist memory contents in certain conditions */
21 #define PAPR_PMEM_HEALTH_NON_CRITICAL (1ULL << (63 - 7))
22 /* SCM device is encrypted */
23 #define PAPR_PMEM_ENCRYPTED (1ULL << (63 - 8))
24 /* SCM device has been scrubbed and locked */
25 #define PAPR_PMEM_SCRUBBED_AND_LOCKED (1ULL << (63 - 9))
27 #define PAPR_PMEM_SAVE_FAILED (1ULL << (63 - 10))
29 /* Bits status indicators for health bitmap indicating unarmed dimm */
30 #define PAPR_PMEM_UNARMED_MASK (PAPR_PMEM_UNARMED | \
31 PAPR_PMEM_HEALTH_UNHEALTHY)
33 /* Bits status indicators for health bitmap indicating unflushed dimm */
34 #define PAPR_PMEM_BAD_SHUTDOWN_MASK (PAPR_PMEM_SHUTDOWN_DIRTY)
36 /* Bits status indicators for health bitmap indicating unrestored dimm */
37 #define PAPR_PMEM_BAD_RESTORE_MASK (PAPR_PMEM_EMPTY)
39 /* Bit status indicators for smart event notification */
40 #define PAPR_PMEM_SMART_EVENT_MASK (PAPR_PMEM_HEALTH_CRITICAL | \
41 PAPR_PMEM_HEALTH_FATAL | \
42 PAPR_PMEM_HEALTH_UNHEALTHY)
44 #define PAPR_PMEM_SAVE_MASK (PAPR_PMEM_SAVE_FAILED)
46 #define PAPR_SCM_PERF_STATS_EYECATCHER __stringify(SCMSTATS)
47 #define PAPR_SCM_PERF_STATS_VERSION 0x1
49 #endif /* __LINUX_PAPR_SCM_H */