summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_update_ec_eq_state.C14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_update_ec_eq_state.C b/src/import/chips/p9/procedures/hwp/pm/p9_update_ec_eq_state.C
index c680127b7..67b5c943c 100644
--- a/src/import/chips/p9/procedures/hwp/pm/p9_update_ec_eq_state.C
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_update_ec_eq_state.C
@@ -41,10 +41,10 @@
/// - Update the "permanent" multicast groups reflect any additional
/// deconfiguration by Hostboot.
/// - MC group 0 (using MC register #1) - All good chiplets (deal with EC
-// and EQ chiplets)
+/// and EQ chiplets)
/// - MC group 1 (using EC MC register @2) - All good cores (EC only)
/// - Use the functional state to find all good cores
-/// -Write the good core and quad mask into OCC CCSR and QCSR respectively
+/// -Write the good core and quad mask into OCC CCSR and QCSR respectively
/// These become the "master record " of the enabled cores/quad in
/// the system for runtime
/// @endverbatim
@@ -134,6 +134,7 @@ fapi2::ReturnCode p9_update_ec_eq_state(
const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target)
{
fapi2::buffer<uint64_t> l_data64 = 0;
+ uint8_t l_is_master_chip = 0;
FAPI_IMP("> p9_update_ec_eq_state");
@@ -143,13 +144,10 @@ fapi2::ReturnCode p9_update_ec_eq_state(
FAPI_TRY(update_eq_config(i_target),
"Error update_cache_config detected");
+ //Check PROC_SBE_MASTER attr to see if this is master proc
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_SBE_MASTER_CHIP, i_target, l_is_master_chip))
- //If this is NOT the master processor then need to set
- //the default value the OCC Quad Status Status Register
- //As the SBE doesn't do this on the slave chips
- FAPI_TRY(fapi2::getScom(i_target, PU_OCB_OCI_QSSR_SCOM, l_data64));
-
- if(l_data64() == 0x0)
+ if(l_is_master_chip == 0x0)
{
l_data64.setBit<0, 12>(); // L2 Stopped
l_data64.setBit<14, 6>(); // Quad Stopped
OpenPOWER on IntegriCloud