From ec53527cf6363e534639b3fbd2ec21d6b6d987a5 Mon Sep 17 00:00:00 2001 From: Prasad Bg Ranganath Date: Fri, 9 Feb 2018 08:10:08 -0600 Subject: PPB: Update occ min frequency with real driven value CQ:SW417213 Change-Id: I89f273036d84d656c9253fe9950ece3b0315b968 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53715 Tested-by: FSP CI Jenkins Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: Gregory S. Still Reviewed-by: RAHUL BATRA Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53743 Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Daniel M. Crowell --- .../chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/import/chips') 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 756daaee7..6a93b052d 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 @@ -813,8 +813,16 @@ p9_pstate_parameter_block( const fapi2::Target& i_ l_occppb.vdn_sysparm = l_globalppb.vdn_sysparm; // frequency_min_khz - Value from Power safe operating point after biases + Pstate l_ps; - l_occppb.frequency_min_khz = revle32(attr.attr_pm_safe_frequency_mhz * 1000); + //Translate safe mode frequency to pstate + freq2pState(&l_globalppb, + revle32(attr.attr_pm_safe_frequency_mhz * 1000), + &l_ps, ROUND_FAST); + + //Compute real frequency + l_occppb.frequency_min_khz = l_globalppb.reference_frequency_khz - + (l_ps * l_globalppb.frequency_step_khz); // frequency_max_khz - Value from Ultra Turbo operating point after biases l_occppb.frequency_max_khz = l_globalppb.reference_frequency_khz; @@ -892,6 +900,9 @@ p9_pstate_parameter_block( const fapi2::Target& i_ l_state.iv_wof_enabled = false; } + //Update nest frequency in OPPB + l_occppb.nest_frequency_mhz = l_globalppb.nest_frequency_mhz; + // The minimum Pstate must be rounded FAST so that core floor // constraints are not violated. Pstate pstate_min; -- cgit v1.2.1