[Skiboot] [PATCH] slw: Fix parsing of supported STOP states
Shilpasri G Bhat
shilpa.bhat at linux.vnet.ibm.com
Mon Feb 6 20:55:30 AEDT 2017
Bits[0-15] are used to indicate the supported STOP states in
"ibm,enabled-stop-levels" DT property and STOP0 is starting from
Bit0. This patch fixes the parsing to read the appropriate bits.
Fixes: c3ea33f173ec ("hw/slw: only enable supported STOP states")
Signed-off-by: Shilpasri G Bhat <shilpa.bhat at linux.vnet.ibm.com>
---
hw/slw.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/hw/slw.c b/hw/slw.c
index 342b91f..81e4e4a 100644
--- a/hw/slw.c
+++ b/hw/slw.c
@@ -763,8 +763,10 @@ void add_cpu_idle_state_properties(void)
/* We can only use the stop levels that HB has made available */
if (has_stop_inst) {
- u32 level = 1ul << states[i].pm_ctrl_reg_val;
- if (!(stop_levels & level))
+ u32 level = 31 - (states[i].pm_ctrl_reg_val &
+ OPAL_PM_PSSCR_RL_MASK);
+
+ if (!(stop_levels & (1ul << level)))
continue;
}
--
1.8.3.1
More information about the Skiboot
mailing list