summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/xml/attribute_info
diff options
context:
space:
mode:
authorRahul Batra <rbatra@us.ibm.com>2018-12-05 11:50:47 -0600
committerChristian R. Geddes <crgeddes@us.ibm.com>2018-12-17 08:59:24 -0600
commited66faeb8524ba5cbf358098c6eb35f27f33b989 (patch)
tree3830a318c7d4f684d08420a038cefaae81b0ad87 /src/import/chips/p9/procedures/xml/attribute_info
parent55a180dc08f9e9a837672ebae03a92dd9bba3ef9 (diff)
downloadtalos-hostboot-ed66faeb8524ba5cbf358098c6eb35f27f33b989.tar.gz
talos-hostboot-ed66faeb8524ba5cbf358098c6eb35f27f33b989.zip
PGPE: WOV Attributes (1/3)
Ist commit in the series of 3 commits for Workload Optimized Voltage(WOV) Commit 1. Adds WOV attributes Commit 2(Hostboot). WOV HW procedures changes and global parm updates Commit 3(Hcode). PGPE Hcode changes for WOV(undervolting only) feature Key_Cronus_Test=PM_REGRESS Change-Id: Iaad4fb8cdff7840ec971f866757492f6e9b2cb87 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69463 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69473 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/xml/attribute_info')
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/pm_hwp_attributes.xml35
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/pm_plat_attributes.xml333
2 files changed, 368 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/pm_hwp_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/pm_hwp_attributes.xml
index 404069917..25acfe1a7 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/pm_hwp_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/pm_hwp_attributes.xml
@@ -417,6 +417,41 @@
<writeable/>
<initToZero/>
</attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_OVERV_ENABLED</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>Indicator that all relevent attributes and required data for
+ WOV Overvolting to be enabled is present and valid
+
+ Producer: p9_build_pstate_datablock
+
+ Consumers: p9_hcode_image_build ->
+ PGPE Header
+ </description>
+ <valueType>uint8</valueType>
+ <enum>FALSE=0, TRUE=1</enum>
+ <writeable/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_UNDERV_ENABLED</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>Indicator that all relevent attributes and required data for
+ WOV Undervolting to be enabled is present and valid
+
+ Producer: p9_build_pstate_datablock
+
+ Consumers: p9_hcode_image_build ->
+ PGPE Header
+ </description>
+ <valueType>uint8</valueType>
+ <enum>FALSE=0, TRUE=1</enum>
+ <writeable/>
+ <initToZero/>
+ </attribute>
+
<!-- ********************************************************************* -->
<attribute>
<id>ATTR_SGPE_PHANTOM_HALT_ENABLE</id>
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/pm_plat_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/pm_plat_attributes.xml
index 0f27525ce..45189216d 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/pm_plat_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/pm_plat_attributes.xml
@@ -1007,6 +1007,75 @@
</attribute>
<!-- ********************************************************************* -->
<attribute>
+ <id>ATTR_SYSTEM_WOV_UNDERV_DISABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>Enables Workload Optimized Voltage (WOV) undervolting algorithms which
+ dynamically modify voltage below the value calculated from VPD.
+
+ OFF: Will enable WOV undervolting given all validity check pass. If
+ validity checks fail, WOV undervolting will be disabled for the
+ present IPL.
+ ON: Will disable WOV undervolting
+
+ Producer: Override
+
+ Consumers: p9_build_pstate_datablock ->
+ Pstate Parameter Block (PSPB) for PGPE/OCC
+
+ </description>
+ <valueType>uint8</valueType>
+ <enum>OFF=0, ON=1</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_UNDERV_FORCE</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>Overrides VPD_UNDERVOLT_TEST value to 1. The VPD_UNDERVOLT_TEST is
+ set to 1 by mSLT or MFT, and means that undervolting test was run and passed on the
+ part. However, for older parts, the field will be set to 0, so to force enablement of
+ undervolting on older parts, this attribute can be set to override the VPD_UNDERVOLT_TEST.
+
+ ON: Will override VPD_UNDERVOLT_TEST value to 1.
+ OFF: Will not override VPD_UNDERVOLT_TEST
+
+ Producer: Override
+
+ Consumers: p9_build_pstate_datablock ->
+ Pstate Parameter Block (PSPB) for PGPE/OCC
+
+ </description>
+ <valueType>uint8</valueType>
+ <enum>OFF=0, ON=1</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_SYSTEM_WOV_OVERV_DISABLE</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>Enables Workload Optimized Voltage (WOV) undervolting algorithms which
+ dynamically modify voltage below the value calculated from VPD.
+
+ OFF: Will enable WOV overvolting given all validity check pass. If
+ validity checks fail, WOV overvolting will be disabled for the
+ present IPL.
+ ON: Will disable WOV overvolting
+
+ Producer: Override
+
+ Consumers: p9_build_pstate_datablock ->
+ Pstate Parameter Block (PSPB) for PGPE/OCC
+
+ </description>
+ <valueType>uint8</valueType>
+ <enum>OFF=0, ON=1</enum>
+ <platInit/>
+ <initToZero/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
<id>ATTR_SYSTEM_IVRM_DISABLE</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>Disables IVRM enablement in the system
@@ -1071,6 +1140,270 @@
</attribute>
<!-- ********************************************************************* -->
<attribute>
+ <id>ATTR_WOV_SAMPLE_125US</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ If WOV undervolting and/or WOF overvolting is enabled, then this overrides default
+ period at which the undervolting and/or overvolting is run.
+
+ If 0, then will interally default to 2(~250us), and is also the minimum value
+ </description>
+ <valueType>uint32</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_MAX_DROOP_10THPCT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ If WOV undervolting and/or WOF overvolting is enabled, then this is used to
+ used as a check for maximum frequency loss. If frequency in tenths of percentage
+ is below this value, then an error is logged and WOV is disabled.
+
+ </description>
+ <valueType>uint32</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_UNDERV_VMIN_MV</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ Minimum voltage(floor) that regulator voltage is set to whether undervolting or not.
+
+ If 0, the Psafe computed voltage uplifted by the loadline*PowerSave RDP current is used.
+ This implies that no undervolting can happen at Psafe, and very little undervolting
+ slightly above Psafe frequency (slightly lower Pstate).
+
+ Otherwise, setting this parameter higher than the (default) Psafe voltage effectively
+ changes the Pstate table, raising any Pstate voltage to this value.
+
+ </description>
+ <valueType>uint16</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_UNDERV_LIMIT_ALGORITHM</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ Defines the algorithm used to set the voltage to quit undervolting.
+
+ If 0, then value specified by ATTR_WOV_UNDERV_VMIN_MV attribute is used.
+
+ UNDERV_VMIN(default): Stops undervolting below the value specified by
+ ATTR_WOV_UNDERV_VMIN_MV.
+ UNDERV_LIMIT: Learns the value of the undervolting limit based on part VPD
+ TURBO: Stops undervolting below the TURBO VPD voltage.
+ NOMINAL: Stops undervolting below the NOMINIAL VPD voltage.
+
+ </description>
+ <valueType>uint8</valueType>
+ <enum>UNDERV_VMIN=0, UNDERV_LIMIT=1, TURBO=2, NOMINAL=3 </enum>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_UNDERV_LIMIT_MV</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ The lowest voltage below at which undervolting stops.
+
+ If 0, then this is calculated using the value provided by the attribute
+ ATTR_WOV_UNDERV_LIMIT_10THPCT.
+
+ </description>
+ <valueType>uint16</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_UNDERV_LIMIT_10THPCT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description> Used to calculate the value for ATTR_WOV_UNDERV_LIMIT_MV, if
+ ATTR_WOV_UNDERV_LIMIT_MV is set to 0. The value is specified in tenths of
+ percent
+
+ If 0, then default value of 50(5%)
+
+ Value can range from 1(0.1%) to 250(25%).
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_OVERV_VMAX_SETPOINT_MV</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ Maximum regulator voltage allowed without exceeding the technology Vmax
+ at the chip pins.
+
+ If, 0, then default value of 1150(1.15V)
+
+ </description>
+ <valueType>uint16</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_UNDERV_STEP_INCR_10THPCT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ If WOV undervolting is enabled, then this specifies the amount by which to
+ increment percentage of undervolt amount. The value is specified in tenths
+ of percentage(0.1%).
+
+ If 0, then default value of 0.5%(5) is used.
+
+ Value can range from 1(0.1%) to 20(2%). Values greater than 20 are
+ clipped to 20(2%)
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_UNDERV_STEP_DECR_10THPCT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ If WOV undervolting is enabled, then this specifies the amount by which to
+ decrement percentage of undervolt amount. The value is specified in tenths
+ of percentage(0.1%).
+
+ If 0, then default value of 0.5%(5) is used.
+
+ Value can range from 1(0.1%) to 20(2%). Values greater than 20 are
+ clipped to 20(2%)
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_UNDERV_MAX_10THPCT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ If WOV undervolting is enabled, then this specifies the maximum amount
+ of undervolt percentage. The value is specified in tenths
+ of percentage(0.1%).
+
+ If, 0, then default value of 10%(100) is used.
+
+ Value can range from 10(1%) to 255(25.5%). For values between 1(0.1%) and 9(0.9%)
+ ,value of 10(1%) will be used.
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_UNDERV_PERF_LOSS_THRESH_10THPCT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ If WOV undervolting is enabled, then this specifies the maximum amount
+ of performance loss at which undervolting increments are stopped(and may be reduced).
+ The value is specified in tenths of percentage(0.1%).
+
+ If, 0, then default value of 0.5%(5) is used.
+
+ Value can range from 1(0.1%) to 20(2%). All other values will be
+ clipped to 20(2%).
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+
+
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_OVERV_STEP_INCR_10THPCT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ If WOV overvolting is enabled, then this specifies the amount by which to
+ increment percentage of overvolt amount. The value is specified in tenths
+ of percentage(0.1%).
+
+ If 0, then default value of 0.5%(5) is used.
+
+ Value can range from 1(0.1%) to 20(2%). Values greater than 20 are
+ clipped to 20(2%)
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_OVERV_STEP_DECR_10THPCT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ If WOV overvolting is enabled, then this specifies the amount by which to
+ decrement percentage of overvolt amount. The value is specified in tenths
+ of percentage(0.1%).
+
+ If 0, then default value of 0.5%(5) is used.
+
+ Value can range from 1(0.1%) to 20(2%). Values greater than 20 are
+ clipped to 20(2%)
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+
+ <!-- ********************************************************************* -->
+ <attribute>
+ <id>ATTR_WOV_OVERV_MAX_10THPCT</id>
+ <targetType>TARGET_TYPE_PROC_CHIP</targetType>
+ <description>
+ If WOV overvolting is enabled, then this specifies the maximum amount
+ of overvolt percentange. The value is specified in tenths
+ of percentage(0.1%).
+
+ If, 0, then default value of 0(0%) is used.
+
+ Value can range from 1(0.1%) to 100(10%). Values greater than 100 are
+ clipped to 100(10%)
+ </description>
+ <valueType>uint8</valueType>
+ <platInit/>
+ <initToZero/>
+ <overrideOnly/>
+ </attribute>
+
+ <!-- ********************************************************************* -->
+ <attribute>
<id>ATTR_PBAX_GROUPID</id>
<targetType>TARGET_TYPE_PROC_CHIP</targetType>
<description>
OpenPOWER on IntegriCloud