From ec6e46d87faca9cada3a365d2e0c8a125875ad90 Mon Sep 17 00:00:00 2001 From: Dean Sanner Date: Fri, 13 Jan 2017 20:48:00 -0600 Subject: Set the quad stop state on non master chips Change-Id: Ide1c009e65892b50822259e99028a3db73d73a2d Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34886 Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: Gregory S. Still Reviewed-by: CHRISTOPHER M. RIEDL Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34890 Reviewed-by: Hostboot Team Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Reviewed-by: William G. Hoffa --- .../chips/p9/procedures/hwp/pm/p9_update_ec_eq_state.C | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/import/chips/p9/procedures/hwp/pm/p9_update_ec_eq_state.C') 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 f4cdbbe7a..c680127b7 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 @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -133,6 +133,8 @@ static const uint8_t BROADCAST_GROUP = 7; fapi2::ReturnCode p9_update_ec_eq_state( const fapi2::Target& i_target) { + fapi2::buffer l_data64 = 0; + FAPI_IMP("> p9_update_ec_eq_state"); FAPI_TRY(update_ec_config(i_target), @@ -141,6 +143,20 @@ fapi2::ReturnCode p9_update_ec_eq_state( FAPI_TRY(update_eq_config(i_target), "Error update_cache_config detected"); + + //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) + { + l_data64.setBit<0, 12>(); // L2 Stopped + l_data64.setBit<14, 6>(); // Quad Stopped + FAPI_TRY(fapi2::putScom(i_target, PU_OCB_OCI_QSSR_SCOM2, l_data64)); + } + + fapi_try_exit: FAPI_INF("< p9_update_ec_eq_state"); -- cgit v1.2.1