summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/import/chips/p9/procedures/hwp/lib/p9_common_clk_ctrl_state.H59
1 files changed, 22 insertions, 37 deletions
diff --git a/src/import/chips/p9/procedures/hwp/lib/p9_common_clk_ctrl_state.H b/src/import/chips/p9/procedures/hwp/lib/p9_common_clk_ctrl_state.H
index 1943c328..b677c98c 100644
--- a/src/import/chips/p9/procedures/hwp/lib/p9_common_clk_ctrl_state.H
+++ b/src/import/chips/p9/procedures/hwp/lib/p9_common_clk_ctrl_state.H
@@ -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
//------------------------------------------------------------------------------
@@ -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
@@ -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;
}
OpenPOWER on IntegriCloud