[Skiboot] [PATCH 0/5] Support for POWER ISA v3 idle states

Michael Neuling mikey at neuling.org
Tue May 3 15:51:11 AEST 2016

On Thu, 2016-04-21 at 19:17 +0530, Shreyas B. Prabhu wrote:
> 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 patch series adds support for the new idle states and also has
> some minor cleanups.
> Shreyas B. Prabhu (5):
>   slw: Simplify if-condition while adding idle states to device tree
>   slw: Change variable name can_winkle to has_slw
>   slw: Add Power9 idle states to power-mgt dt node
>   slw: Move IDLE_TB_STOP and IDLE_LOSE_FULL_CONTEXT to opal-api.h
>   slw: Allow adding idle states to power-mgt node in mambo
>  core/chip.c        |   3 +-
>  hw/slw.c           | 210 ++++++++++++++++++++++++++++++++++++++++-------------
>  include/chip.h     |   1 -
>  include/opal-api.h |  17 ++++-

The linux code for this seems to depend on a bunch of pstate properties in
the device tree which should be created by skiboot.

In Skiboot, these are added in cpu_pstate_properties() which is called
in occ_pstates_init(), but occ_pstates_init() has a check at the top which

void occ_pstates_init(void)
	/* OCC is P8 only */
	if (proc_gen != proc_gen_p8)

This patch series doesn't seem to be updating this check, hence we get no
new device tree properties and the linux code doesn't seem to do much. I
get this in dmesg:

powernv-cpufreq: ibm,pstate-min node not found
powernv-cpufreq: Platform driver disabled. System does not support PState control

How are you testing this?


More information about the Skiboot mailing list