summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/perv/p9_sbe_select_ex.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/perv/p9_sbe_select_ex.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_select_ex.C6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_select_ex.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_select_ex.C
index 583a34fc..183e036a 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_select_ex.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_select_ex.C
@@ -222,7 +222,8 @@ fapi2::ReturnCode p9_sbe_select_ex(
}
// Check that we're not trying to force fused cores on a chip where the
- // force mechanism is disabled via eFuses */
+ // force mechanism is disabled via eFuses AND we are not already in
+ // fused mode
{
fapi2::buffer<uint64_t> l_perv_ctrl0;
fapi2::buffer<uint64_t> l_device_id_reg;
@@ -231,7 +232,8 @@ fapi2::ReturnCode p9_sbe_select_ex(
FAPI_TRY(fapi2::getScom(i_target, PERV_DEVICE_ID_REG, l_device_id_reg));
FAPI_ASSERT(!(l_perv_ctrl0.getBit<P9N2_PERV_PERV_CTRL0_TP_OTP_SCOM_FUSED_CORE_MODE>()
- && l_device_id_reg.getBit<P9N2_PERV_DEVICE_ID_REG_HW_MODE_SEL>()),
+ && l_device_id_reg.getBit<P9N2_PERV_DEVICE_ID_REG_HW_MODE_SEL>() &&
+ !l_device_id_reg.getBit<P9N2_PERV_DEVICE_ID_REG_TP_EX_FUSE_SMT8_CTYPE_EN>()),
fapi2::SBE_SELECT_EX_FORCE_FUSED_CORES_DISABLED(),
"Failed to force fused core mode because external control has been disabled via eFuses");
}
OpenPOWER on IntegriCloud