summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorShreyas B. Prabhu <shreyas@linux.vnet.ibm.com>2016-06-17 09:51:47 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-06-20 14:32:47 +1000
commit952daa69baca407383bc900911f6c40718a0e289 (patch)
tree3993a6e7368d67875fa0c3d9c30dac13d380da5a /include
parentb1b9fafb0cb0ba278c526083ff387d9eaf2bb3cb (diff)
downloadtalos-skiboot-952daa69baca407383bc900911f6c40718a0e289.tar.gz
talos-skiboot-952daa69baca407383bc900911f6c40718a0e289.zip
slw: Add Power9 idle states to power-mgt dt node
POWER ISA v3 defines a new idle processor core mechanism. In summary, a) new instruction named stop is added. This instruction replaces instructions like nap, sleep, rvwinkle. b) new per thread SPR named PSSCR is added which controls the behavior of stop instruction. This SPR subsumes PMICR. This patch adds the supported idle states to power-mgt dt node. It also introduces ibm,cpu-idle-state-psscr and ibm,cpu-idle-state-psscr-mask entries which exposes the value to be written to PSSCR to enter a given stop state. These entries replaces POWER8's counterparts ibm,cpu-idle-state-pmicr and ibm,cpu-idle-state-pmicr-mask. Signed-off-by: Shreyas B. Prabhu <shreyas@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r--include/opal-api.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/opal-api.h b/include/opal-api.h
index 69d9ce3a..4e30f8b2 100644
--- a/include/opal-api.h
+++ b/include/opal-api.h
@@ -179,6 +179,16 @@
#define OPAL_PM_WINKLE_ENABLED 0x00040000
#define OPAL_PM_SLEEP_ENABLED_ER1 0x00080000 /* with workaround */
+/*
+ * Flags for stop states. Use 2 bits to distinguish between
+ * deep and fast states. Deep states result in full context
+ * loss thereby requiring slw to partially restore state
+ * whereas fast state can function without the presence of
+ * slw.
+ */
+#define OPAL_PM_STOP_INST_FAST 0x00100000
+#define OPAL_PM_STOP_INST_DEEP 0x00200000
+
#ifndef __ASSEMBLY__
/* Other enums */
OpenPOWER on IntegriCloud