aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2017-08-30 16:20:09 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-09-04 20:45:35 -0500
commite65cecd718c6dcbfc95b447d2622c9011af3b487 (patch)
tree69ba981ce345ca788c7617d78768ea7a2fbdb4e6
parent7af2a68d1ac7906bbf3a098c82337d563d2a801d (diff)
downloadskiboot-e65cecd718c6dcbfc95b447d2622c9011af3b487.zip
skiboot-e65cecd718c6dcbfc95b447d2622c9011af3b487.tar.gz
skiboot-e65cecd718c6dcbfc95b447d2622c9011af3b487.tar.bz2
idle: user context state loss flags fix for stop states
The "lite" stop variants with PSSCR[ESL]=PSSCR[EC]=1 do not lose user context, while the non-lite variants do (ESL: enable state loss). Some of the POWER9 idle states had these wrong. These are not used by Linux yet. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Reviewed-by: Akshay Adiga <akshay.adiga@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--hw/slw.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/slw.c b/hw/slw.c
index 98040e6..0720545 100644
--- a/hw/slw.c
+++ b/hw/slw.c
@@ -526,7 +526,7 @@ static struct cpu_idle_states power9_cpu_idle_states[] = {
.residency_ns = 20000,
.flags = 0*OPAL_PM_DEC_STOP \
| 0*OPAL_PM_TIMEBASE_STOP \
- | 0*OPAL_PM_LOSE_USER_CONTEXT \
+ | 1*OPAL_PM_LOSE_USER_CONTEXT \
| 0*OPAL_PM_LOSE_HYP_CONTEXT \
| 0*OPAL_PM_LOSE_FULL_CONTEXT \
| 1*OPAL_PM_STOP_INST_FAST,
@@ -542,7 +542,7 @@ static struct cpu_idle_states power9_cpu_idle_states[] = {
.residency_ns = 49000,
.flags = 0*OPAL_PM_DEC_STOP \
| 0*OPAL_PM_TIMEBASE_STOP \
- | 1*OPAL_PM_LOSE_USER_CONTEXT \
+ | 0*OPAL_PM_LOSE_USER_CONTEXT \
| 0*OPAL_PM_LOSE_HYP_CONTEXT \
| 0*OPAL_PM_LOSE_FULL_CONTEXT \
| 1*OPAL_PM_STOP_INST_FAST,
@@ -572,7 +572,7 @@ static struct cpu_idle_states power9_cpu_idle_states[] = {
.residency_ns = 99000,
.flags = 0*OPAL_PM_DEC_STOP \
| 0*OPAL_PM_TIMEBASE_STOP \
- | 1*OPAL_PM_LOSE_USER_CONTEXT \
+ | 0*OPAL_PM_LOSE_USER_CONTEXT \
| 0*OPAL_PM_LOSE_HYP_CONTEXT \
| 0*OPAL_PM_LOSE_FULL_CONTEXT \
| 1*OPAL_PM_STOP_INST_FAST,
@@ -671,7 +671,7 @@ static struct cpu_idle_states power9_ndd1_cpu_idle_states[] = {
.residency_ns = 49000,
.flags = 0*OPAL_PM_DEC_STOP \
| 0*OPAL_PM_TIMEBASE_STOP \
- | 1*OPAL_PM_LOSE_USER_CONTEXT \
+ | 0*OPAL_PM_LOSE_USER_CONTEXT \
| 0*OPAL_PM_LOSE_HYP_CONTEXT \
| 0*OPAL_PM_LOSE_FULL_CONTEXT \
| 1*OPAL_PM_STOP_INST_FAST,