Skip to content

Commit

Permalink
Fix using UT before WOF is fully enabled when running with OPAL
Browse files Browse the repository at this point in the history
Remove GPE error trace for core offline

Change-Id: If6981046073086b01448e0eafd726d462076dc1d
CQ: SW424084
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57684
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
  • Loading branch information
marthabroyles committed Apr 24, 2018
1 parent 61cd385 commit e9726b7
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 3 deletions.
21 changes: 19 additions & 2 deletions src/occ_405/state.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2011,2017 */
/* Contributors Listed Below - COPYRIGHT 2011,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -583,6 +583,7 @@ errlHndl_t SMGR_observation_to_active()
int l_extRc = OCC_NO_EXTENDED_RC;
int l_rc = 0;
uint32_t l_user_data = 0;
uint32_t l_freq = 0;
Pstate l_pstate;

// clear mnfg quad pstate request to default OCC to control all quads
Expand Down Expand Up @@ -610,7 +611,23 @@ errlHndl_t SMGR_observation_to_active()
// become enabled.
if(G_present_cores != 0 )
{
l_pstate = proc_freq2pstate(G_proc_fmax_mhz);
if(G_sysConfigData.system_type.kvm)
{
// OCC controls frequency via clip
// set clip to nominal/turbo until WOF is fully enabled
if(G_sysConfigData.sys_mode_freq.table[OCC_MODE_TURBO] > G_sysConfigData.sys_mode_freq.table[OCC_MODE_NOMINAL])
l_freq = G_sysConfigData.sys_mode_freq.table[OCC_MODE_TURBO];
else
l_freq = G_sysConfigData.sys_mode_freq.table[OCC_MODE_NOMINAL];

l_pstate = proc_freq2pstate(l_freq);
}
else
{
// OCC controls frequency with PMCR so ok to set clips wide open
// the OCC won't actually write UT to PMCR unless WOF is fully enabled
l_pstate = proc_freq2pstate(G_proc_fmax_mhz);
}
l_rc = pgpe_set_clip_blocking(l_pstate);

if(l_rc)
Expand Down
4 changes: 3 additions & 1 deletion src/occ_gpe0/gpe_core_data.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,9 @@ void gpe_get_core_data(ipc_msg_t* cmd, void* arg)

if(rc)
{
if( !(L_trace & (1 << args->core_num)) )
// trace non-offline error once per core.
// offline errors are normal with stop states and ignored by the 405
if( (!(L_trace & (1 << args->core_num))) && (rc != PCB_ERROR_CHIPLET_OFFLINE) )
{
PK_TRACE("gpe_get_core_data: get_core_data failed, rc = 0x%08x, core = 0x%08x",
rc, args->core_num);
Expand Down

0 comments on commit e9726b7

Please sign in to comment.