[Skiboot] [RFC] occ: Add pstate corresponding to base frequency to DT
Shilpasri G Bhat
shilpa.bhat at linux.vnet.ibm.com
Mon Feb 11 16:18:49 AEDT 2019
Unlike POWER8, nominal frequency is not the highest guaranteed
frequency of the POWER9 chip. In POWER9, the highest guaranteed
frequency is greater than the nominal frequency and is referred
to as base frequency. In POWER9 base frequency is the highest
frequency the processor will operate at when ALL cores are active
and in ANY operating condition. This patch exports the turbo pstate
as the base frequency as per OCC documentation.
Signed-off-by: Shilpasri G Bhat <shilpa.bhat at linux.vnet.ibm.com>
- Using RFC tag till OCC-OPAL interface doc is upstreamed to include
turbo pstate as base frequency.
doc/device-tree/ibm,opal/power-mgt.rst | 12 +++++++++++-
hw/occ.c | 1 +
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/doc/device-tree/ibm,opal/power-mgt.rst b/doc/device-tree/ibm,opal/power-mgt.rst
index b326a24..b0a871e 100644
@@ -114,7 +114,10 @@ ibm,pstate-ultra-turbo ibm,pstate-turbo
These properties are added when ultra-turbo(WOF) is enabled. These properties
-give the max turbo and max ultra-turbo pstate.
+give the max turbo and max ultra-turbo pstate-id as specified in the
+ibm,pstate-ids file. The frequencies present in turbo to ultra-turbo range are
+referred to as boost/WOF frequencies and these are attained by the CPU under
+favourable environmental conditions, low workloads and low active core counts.
@@ -132,3 +135,10 @@ ibm,pstate-core-max
This property is added when ultra_turbo(WOF) is enabled. This property gives
the list of max pstate for each 'n' number of active cores in the chip.
+This pstate points to the base frequency of the chip. POWER9 base frequency is
+the highest frequency that is guaranteed when ALL cores are active in ANY
+operating condition (ie. workloads, environmental conditions such as max
+ambient temperature, active core counts)
diff --git a/hw/occ.c b/hw/occ.c
index 9580bb8..6a33202 100644
@@ -722,6 +722,7 @@ static bool add_cpu_pstate_properties(int *pstate_nom)
dt_add_property(power_mgt, "ibm,pstate-core-max", dt_cmax,
nr_cores * sizeof(u32));
+ dt_add_property_cells(power_mgt, "ibm,pstate-base", pturbo);
More information about the Skiboot