Skip to content

Commit

Permalink
Bug fix for the Runtime pstate bias update
Browse files Browse the repository at this point in the history
Change-Id: I6a0244878de5e8cc63e18453afcdd15bc3d8a835
CQ:SW438614
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/62750
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Prem Shanker Jha <premjha2@in.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/62835
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
  • Loading branch information
prasrang authored and crgeddes committed Jul 20, 2018
1 parent 4f0098c commit a0e63fb
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 18 deletions.
10 changes: 0 additions & 10 deletions src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C
Original file line number Diff line number Diff line change
Expand Up @@ -312,8 +312,6 @@ fapi2::ReturnCode pstate_gpe_reset(
uint32_t l_timeout_in_MS = 100;
std::vector<uint64_t> l_pgpe_base_addr;
l_pgpe_base_addr.push_back( PGPE_BASE_ADDRESS );
fapi2::ATTR_SAFE_MODE_FREQUENCY_MHZ_Type l_safe_mode_freq_mhz = 0;
fapi2::ATTR_SAFE_MODE_VOLTAGE_MV_Type l_safe_mode_mv = 0;


FAPI_IMP(">> pstate_gpe_reset...");
Expand Down Expand Up @@ -366,14 +364,6 @@ fapi2::ReturnCode pstate_gpe_reset(
l_data64.flush<0>().clearBit<p9hcd::PGPE_ACTIVE>();
FAPI_TRY(putScom(i_target, PU_OCB_OCI_OCCS2_SCOM, l_data64));


//Reset safe mode attributes
FAPI_TRY(FAPI_ATTR_SET(fapi2::ATTR_SAFE_MODE_FREQUENCY_MHZ,
i_target, l_safe_mode_freq_mhz));
FAPI_TRY(FAPI_ATTR_SET(fapi2::ATTR_SAFE_MODE_VOLTAGE_MV,
i_target, l_safe_mode_mv));


fapi_try_exit:
FAPI_IMP("<< pstate_gpe_reset...");
return fapi2::current_err;
Expand Down
6 changes: 6 additions & 0 deletions src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,8 @@ p9_pm_reset_psafe_update(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_ta
uint8_t l_chipNum = 0xFF;
fapi2::ATTR_SAFE_MODE_FREQUENCY_MHZ_Type l_attr_safe_mode_freq_mhz;
fapi2::ATTR_SAFE_MODE_VOLTAGE_MV_Type l_attr_safe_mode_mv;
fapi2::ATTR_SAFE_MODE_FREQUENCY_MHZ_Type l_attr_reset_safe_mode_freq_mhz = 0;
fapi2::ATTR_SAFE_MODE_VOLTAGE_MV_Type l_attr_reset_safe_mode_mv = 0;
fapi2::ATTR_VDD_AVSBUS_BUSNUM_Type l_vdd_bus_num;
fapi2::ATTR_VDD_AVSBUS_RAIL_Type l_vdd_bus_rail;
fapi2::ATTR_VDD_BOOT_VOLTAGE_Type l_vdd_voltage_mv;
Expand All @@ -497,6 +499,10 @@ p9_pm_reset_psafe_update(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_ta
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_EXTERNAL_VRM_STEPSIZE, FAPI_SYSTEM, l_ext_vrm_step_size_mv));
l_attr_safe_mode_mv += l_uplift_mv;

//Reset safe mode attributes
FAPI_TRY(FAPI_ATTR_SET(fapi2::ATTR_SAFE_MODE_FREQUENCY_MHZ, i_target, l_attr_reset_safe_mode_freq_mhz));
FAPI_TRY(FAPI_ATTR_SET(fapi2::ATTR_SAFE_MODE_VOLTAGE_MV, i_target, l_attr_reset_safe_mode_mv));

do
{
FAPI_INF(">> p9_pm_reset_psafe_update");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -677,22 +677,23 @@ p9_pstate_parameter_block( const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_
&l_safe_mode_values,
l_poundw_data),
"Error from p9_pstate_safe_mode_computation function");
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_SAFE_MODE_FREQUENCY_MHZ,
i_target,attr.attr_pm_safe_frequency_mhz ));
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_SAFE_MODE_VOLTAGE_MV,
i_target, attr.attr_pm_safe_voltage_mv));

}
else
{
// safe_voltage_mv
l_globalppb.safe_voltage_mv = revle32(attr.attr_pm_safe_voltage_mv);
// safe_voltage_mv
l_globalppb.safe_voltage_mv = revle32(attr.attr_pm_safe_voltage_mv);

// safe_frequency_khz
l_globalppb.safe_frequency_khz =
// safe_frequency_khz
l_globalppb.safe_frequency_khz =
revle32(attr.attr_pm_safe_frequency_mhz * 1000);
FAPI_INF("Safe Mode Frequency %d (0x%X) kHz; Voltage %d (0x%X) mV",
FAPI_INF("Safe Mode Frequency %d (0x%X) kHz; Voltage %d (0x%X) mV",
revle32(l_globalppb.safe_frequency_khz),
revle32(l_globalppb.safe_frequency_khz),
revle32(l_globalppb.safe_voltage_mv),
revle32(l_globalppb.safe_voltage_mv));
}

// ----------------
// get Resonant clocking attributes
Expand Down

0 comments on commit a0e63fb

Please sign in to comment.