diff options
author | Shreyas B. Prabhu <shreyas@linux.vnet.ibm.com> | 2016-06-17 09:51:47 +0530 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-06-20 14:32:47 +1000 |
commit | 952daa69baca407383bc900911f6c40718a0e289 (patch) | |
tree | 3993a6e7368d67875fa0c3d9c30dac13d380da5a /include | |
parent | b1b9fafb0cb0ba278c526083ff387d9eaf2bb3cb (diff) | |
download | talos-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.h | 10 |
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 */ |