diff options
author | Prasad Bg Ranganath <prasadbgr@in.ibm.com> | 2017-11-09 05:50:18 -0600 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2017-11-17 12:53:02 -0500 |
commit | 5b86ae89fcd99c36516ec9bd8a597bdcf1a1ca1e (patch) | |
tree | e12c2a225827189e5f8185ccee4a9dbffec97131 /src/usr/isteps/istep06 | |
parent | 1f14c2229e43a6d3676860e4322483b5b6625a78 (diff) | |
download | talos-hostboot-5b86ae89fcd99c36516ec9bd8a597bdcf1a1ca1e.tar.gz talos-hostboot-5b86ae89fcd99c36516ec9bd8a597bdcf1a1ca1e.zip |
Fix bug in cache query state procedure
Change-Id: Ic4869b2d73e90bd213c229fc83b189cb10ad57b6
CQ:SW407497
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49476
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-by: Brian T. Vanderpool <vanderp@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49585
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep06')
-rw-r--r-- | src/usr/isteps/istep06/host_discover_targets.C | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/src/usr/isteps/istep06/host_discover_targets.C b/src/usr/isteps/istep06/host_discover_targets.C index 3f22bd368..26ebc57af 100644 --- a/src/usr/isteps/istep06/host_discover_targets.C +++ b/src/usr/isteps/istep06/host_discover_targets.C @@ -328,10 +328,22 @@ errlHndl_t powerDownSlaveQuads() do { - bool l_l2IsScomable = false; - bool l_l2IsScanable = false; - bool l_l3IsScomable = false; - bool l_l3IsScanable = false; + bool l_l2IsScanable[MAX_L2_PER_QUAD]; + bool l_l2IsScomable[MAX_L2_PER_QUAD]; + bool l_l3IsScanable[MAX_L3_PER_QUAD]; + bool l_l3IsScomable[MAX_L3_PER_QUAD]; + bool isScomable = false; + + for (auto cnt = 0; cnt < MAX_L2_PER_QUAD; ++cnt) + { + l_l2IsScanable[cnt] = false; + l_l2IsScomable[cnt] = false; + } + for (auto cnt = 0; cnt < MAX_L3_PER_QUAD; ++cnt) + { + l_l3IsScanable[cnt] = false; + l_l3IsScomable[cnt] = false; + } //Same thing with cache, need to check if any clocks are running FAPI_INVOKE_HWP(l_err, @@ -350,8 +362,20 @@ errlHndl_t powerDownSlaveQuads() break; } - //If the l3 is scommable then the clocks are running and we need to stop them - if(l_l3IsScomable) + //Check if any of the L3's are scommable + for (auto cnt = 0; cnt < MAX_L3_PER_QUAD; ++cnt) + { + if ( l_l3IsScomable[cnt]) + { + isScomable = true; + break; + } + } + + //either l3 cache on the quad is scommable then the clocks are running and we need to stop them + // It's ok to send BOTH_EX..for procedure p9_hcd_cache_stopclocks.. + // as it handles iternally + if(isScomable) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "Stopping even ex for eq %d", l_eq_target->getAttr<TARGETING::ATTR_CHIP_UNIT>()); |