Skip to content

Commit

Permalink
occ: Add pstate corresponding to base frequency to DT
Browse files Browse the repository at this point in the history
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@linux.vnet.ibm.com>
[oliver: delete ibm,pstate-base on fast reboot]
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
  • Loading branch information
shilpasri authored and oohal committed Aug 2, 2019
1 parent 6080c10 commit 1fa6e85
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
12 changes: 11 additions & 1 deletion doc/device-tree/ibm,opal/power-mgt.rst
Expand Up @@ -116,7 +116,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.

Example:

Expand All @@ -134,3 +137,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.

ibm,pstate-base
----------------

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)
2 changes: 2 additions & 0 deletions hw/occ.c
Expand Up @@ -703,6 +703,7 @@ static bool add_cpu_pstate_properties(struct dt_node *power_mgt,
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);
free(dt_cmax);
}

Expand Down Expand Up @@ -1747,6 +1748,7 @@ void occ_pstates_init(void)
"ibm,pstate-nominal",
"ibm,pstate-turbo",
"ibm,pstate-ultra-turbo",
"ibm,pstate-base",
"#address-cells",
"#size-cells",
};
Expand Down

0 comments on commit 1fa6e85

Please sign in to comment.