Skip to content

Commit

Permalink
Stopclocks: fix state checking return code being current_err
Browse files Browse the repository at this point in the history
Change-Id: Iabafe83b2c726a0fc446a28dd0e971e43b753606
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31924
Dev-Ready: YUE DU <daviddu@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: Joachim Fenkes <fenkes@de.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36106
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
davidduyue authored and dcrowell77 committed Feb 11, 2017
1 parent 3109d56 commit 6b4f823
Showing 1 changed file with 22 additions and 37 deletions.
59 changes: 22 additions & 37 deletions src/import/chips/p9/procedures/hwp/lib/p9_common_clk_ctrl_state.H
Expand Up @@ -50,6 +50,14 @@
const uint64_t NET_CTRL0[2] = { C_NET_CTRL0, EQ_NET_CTRL0};
const uint64_t PPM_PFSNS[2] = { C_PPM_PFSNS, EQ_PPM_PFSNS};

#define RETURN_FALSE_IF(cause, message) \
if (cause) \
{ \
FAPI_INF(message); \
l_rc = fapi2::FAPI2_RC_FALSE; \
goto fapi_try_exit; \
}

//-----------------------------------------------------------------------------
// Template Procedure
//------------------------------------------------------------------------------
Expand All @@ -60,6 +68,7 @@ p9_common_clk_ctrl_state(
const fapi2::Target<K>& i_target)
{
FAPI_INF(">>p9_common_clk_ctrl_state");
fapi2::ReturnCode l_rc = fapi2::FAPI2_RC_SUCCESS;
fapi2::buffer<uint64_t> l_data64;
uint32_t l_type = 0; // Assumes core

Expand All @@ -71,53 +80,29 @@ p9_common_clk_ctrl_state(
FAPI_DBG("Check chiplet accessibility via NET_CTRL0[0,1,16,25,26]");
FAPI_TRY(getScom(i_target, NET_CTRL0[l_type], l_data64));

if (l_data64.getBit<25>())
{
FAPI_INF("WARNING: Chiplet appears Offline as PCB Fence is up. Skipping");
fapi2::current_err = fapi2::FAPI2_RC_FALSE;
goto fapi_try_exit;
}
RETURN_FALSE_IF((l_data64.getBit<25>() == 1),
"WARNING: Chiplet appears Offline as PCB Fence is up. Skipping");

if (l_data64.getBit<0>() == 0)
{
FAPI_INF("WARNING: Chiplet Disabled. Assume being Partial Bad. Skipping");
fapi2::current_err = fapi2::FAPI2_RC_FALSE;
goto fapi_try_exit;
}
RETURN_FALSE_IF((l_data64.getBit<0>() == 0),
"WARNING: Chiplet Disabled. Assume being Partial Bad. Skipping");

if (l_data64.getBit<1>())
{
FAPI_INF("WARNING: Chiplet in fixed state as PcbEpReset is on. Skipping");
fapi2::current_err = fapi2::FAPI2_RC_FALSE;
goto fapi_try_exit;
}
RETURN_FALSE_IF((l_data64.getBit<1>() == 1),
"WARNING: Chiplet in fixed state as PcbEpReset is on. Skipping");

if (l_data64.getBit<26>())
{
FAPI_INF("WARNING: Chiplet Elec Fence is up. PCB path blocked. Skipping");
fapi2::current_err = fapi2::FAPI2_RC_FALSE;
goto fapi_try_exit;
}
RETURN_FALSE_IF((l_data64.getBit<26>() == 1),
"WARNING: Chiplet Elec Fence is up. PCB path blocked. Skipping");

if (l_data64.getBit<16>())
{
FAPI_INF("WARNING: Chiplet VitalClk off. ClkCtrl inaccessible. Skipping");
fapi2::current_err = fapi2::FAPI2_RC_FALSE;
goto fapi_try_exit;
}
RETURN_FALSE_IF((l_data64.getBit<16>() == 1),
"WARNING: Chiplet VitalClk off. ClkCtrl inaccessible. Skipping");

FAPI_DBG("Check chiplet power state via PPM_PFSNS[1]");
FAPI_TRY(getScom(i_target, PPM_PFSNS[l_type], l_data64));

if (l_data64.getBit<1>())
{
FAPI_INF("WARNING: Chiplet out of power while Elec Fence down. Skipping");
fapi2::current_err = fapi2::FAPI2_RC_FALSE;
goto fapi_try_exit;
}
RETURN_FALSE_IF((l_data64.getBit<1>() == 1),
"WARNING: Chiplet out of power while Elec Fence down. Skipping");

fapi_try_exit:

FAPI_INF("<<p9_common_clk_ctrl_state");
return fapi2::current_err;
return l_rc;
}

0 comments on commit 6b4f823

Please sign in to comment.