diff options
author | Rahul Batra <rbatra@us.ibm.com> | 2019-05-30 17:51:52 -0400 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-06-11 12:39:00 -0500 |
commit | 2a6adcbfe41486dff4da69df54549f7b86351f26 (patch) | |
tree | 9c17ae1f1fb0d8ff5d95af846e319241ccf31239 /src/import/chips/p9/procedures/hwp/pm | |
parent | 245047c0ff4265a74c9f5f6129a71a0e9ad56c72 (diff) | |
download | talos-hostboot-2a6adcbfe41486dff4da69df54549f7b86351f26.tar.gz talos-hostboot-2a6adcbfe41486dff4da69df54549f7b86351f26.zip |
PM: Fix WOV Enablement
WOV- Fixes Under/Overvolt default enablement
Key_Cronus_Test=PM_REGRESS
Change-Id: I1e04df510120c21406219beac04ba02441ee25da
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/78108
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com>
Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/78125
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/pm')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C | 33 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.H | 4 |
2 files changed, 17 insertions, 20 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C b/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C index 0d79ad520..fb06fd54e 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C @@ -480,22 +480,22 @@ fapi2::ReturnCode PlatPmPPB::set_global_feature_attributes() (fapi2::ATTR_WOV_OVERV_ENABLED_Type)fapi2::ENUM_ATTR_WOV_OVERV_ENABLED_FALSE; - iv_wov_underv_enabled = false; - iv_wov_overv_enabled = false; //Check whether to enable WOV Undervolting. WOV can //only be enabled if VDMs are enabled - if (is_wov_underv_enabled() && - is_vdm_enabled()) + if (!is_wov_underv_enabled() || + !is_vdm_enabled()) { - iv_wov_underv_enabled = true; + FAPI_DBG("UNDERV_DISABLED") + iv_wov_underv_enabled = false; } //Check whether to enable WOV Overvolting. WOV can //only be enabled if VDMs are enabled - if (is_wov_overv_enabled() && - is_vdm_enabled()) + if (!is_wov_overv_enabled() || + !is_vdm_enabled()) { - iv_wov_overv_enabled = true; + FAPI_DBG("OVERV_DISABLED") + iv_wov_overv_enabled = false; } if (iv_pstates_enabled) @@ -2143,8 +2143,8 @@ FAPI_INF("%-60s = 0x%08x %d", #attr_name, iv_attrs.attr_assign, iv_attrs.attr_as DATABLOCK_GET_ATTR(ATTR_PROC_DPLL_DIVIDER, iv_procChip, proc_dpll_divider); // AVSBus ... needed by p9_setup_evid //Get WOV attributes - DATABLOCK_GET_ATTR(ATTR_SYSTEM_WOV_OVERV_DISABLE, FAPI_SYSTEM,attr_wov_overv_enable); - DATABLOCK_GET_ATTR(ATTR_SYSTEM_WOV_UNDERV_DISABLE, FAPI_SYSTEM,attr_wov_underv_enable); + DATABLOCK_GET_ATTR(ATTR_SYSTEM_WOV_OVERV_DISABLE, FAPI_SYSTEM,attr_wov_overv_disable); + DATABLOCK_GET_ATTR(ATTR_SYSTEM_WOV_UNDERV_DISABLE, FAPI_SYSTEM,attr_wov_underv_disable); DATABLOCK_GET_ATTR(ATTR_WOV_UNDERV_FORCE, iv_procChip,attr_wov_underv_force); DATABLOCK_GET_ATTR(ATTR_WOV_SAMPLE_125US, iv_procChip,attr_wov_sample_125us); DATABLOCK_GET_ATTR(ATTR_WOV_MAX_DROOP_10THPCT, iv_procChip,attr_wov_max_droop_pct); @@ -3809,13 +3809,10 @@ fapi2::ReturnCode PlatPmPPB::get_mvpd_poundW (void) is_wov_underv_enabled() == 1 ) { iv_wov_underv_enabled = true; - FAPI_INF("UNDERV_TESTED or UNDERV_FORCE set to 1"); - } - - else - { + FAPI_DBG("UNDERV_TESTED or UNDERV_FORCE set to 1"); + } else { iv_wov_underv_enabled = false; - FAPI_INF("UNDERV_TESTED and UNDERV_FORCE set to 0"); + FAPI_DBG("UNDERV_TESTED and UNDERV_FORCE set to 0"); } @@ -4400,7 +4397,7 @@ fapi_try_exit: /////////////////////////////////////////////////////////// bool PlatPmPPB::is_wov_underv_enabled() { - return(!(iv_attrs.attr_wov_underv_enable) && + return(!(iv_attrs.attr_wov_underv_disable) && iv_wov_underv_enabled) ? true : false; } @@ -4411,7 +4408,7 @@ bool PlatPmPPB::is_wov_underv_enabled() /////////////////////////////////////////////////////////// bool PlatPmPPB::is_wov_overv_enabled() { - return (!(iv_attrs.attr_wov_overv_enable) && + return (!(iv_attrs.attr_wov_overv_disable) && iv_wov_overv_enabled) ? true : false; } diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.H b/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.H index e940c1795..3d140464f 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.H +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.H @@ -205,8 +205,8 @@ typedef struct uint32_t proc_dpll_divider; ///Undervolt and Overvolt Attributes - uint8_t attr_wov_underv_enable; - uint8_t attr_wov_overv_enable; + uint8_t attr_wov_underv_disable; + uint8_t attr_wov_overv_disable; uint8_t attr_wov_underv_force; uint32_t attr_wov_sample_125us; uint32_t attr_wov_max_droop_pct; |