diff options
author | crgeddes <crgeddes@us.ibm.com> | 2017-05-16 10:27:30 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2018-03-15 00:03:02 -0400 |
commit | 49613ee7ed9e375692485ee234ebcf68fd4cbc66 (patch) | |
tree | 08510e0b96824e9b8b4899a0937302cd710381d6 | |
parent | 7808b4fe065e7369386e204fbb5dc9083a2f3b1c (diff) | |
download | talos-sbe-49613ee7ed9e375692485ee234ebcf68fd4cbc66.tar.gz talos-sbe-49613ee7ed9e375692485ee234ebcf68fd4cbc66.zip |
Skip EQ_CLOCK_STAT_SL scom is we are in stop 11 or greater
we shoulndt attempt to scom the EQ if the power is off
Change-Id: I662a2bada8ed2991e7861aa5f4882f327630624c
CQ: SW388687
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40563
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55822
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_query_cache_access_state.C | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_query_cache_access_state.C b/src/import/chips/p9/procedures/hwp/pm/p9_query_cache_access_state.C index 6812fde0..e28ff52f 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_query_cache_access_state.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_query_cache_access_state.C @@ -140,31 +140,33 @@ p9_query_cache_access_state( o_l2_is_scannable = 0; o_l3_is_scannable = 0; } + else + { + //Read clock status to confirm stop state history is accurate + //If we trust the stop state history, this could be removed to save on code size + //Compare Hardware status vs stop state status. If there is a mismatch the HW value overrides the stop state - //Read clock status to confirm stop state history is accurate - //If we trust the stop state history, this could be removed to save on code size - //Compare Hardware status vs stop state status. If there is a mismatch the HW value overrides the stop state - - FAPI_TRY(fapi2::getScom(i_target, EQ_CLOCK_STAT_SL, l_data64), "Error reading data from EQ_CLOCK_STAT_SL"); + FAPI_TRY(fapi2::getScom(i_target, EQ_CLOCK_STAT_SL, l_data64), "Error reading data from EQ_CLOCK_STAT_SL"); - FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_UNIT_POS, i_target, l_chpltNumber), - "Error: Failed to get the position of the EX:0x%08X", i_target); - l_exPos = l_chpltNumber % 2; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_UNIT_POS, i_target, l_chpltNumber), + "Error: Failed to get the position of the EX:0x%08X", i_target); + l_exPos = l_chpltNumber % 2; - l_is_scomable = !l_data64.getBit(eq_clk_l2_pos[l_exPos]); + l_is_scomable = !l_data64.getBit(eq_clk_l2_pos[l_exPos]); - if (o_l2_is_scomable != l_is_scomable) - { - FAPI_INF("Clock status didn't match stop state, overriding is_scomable status"); - o_l2_is_scomable = l_is_scomable; - } + if (o_l2_is_scomable != l_is_scomable) + { + FAPI_INF("Clock status didn't match stop state, overriding is_scomable status"); + o_l2_is_scomable = l_is_scomable; + } - l_is_scomable = !l_data64.getBit(eq_clk_l3_pos[l_exPos]); + l_is_scomable = !l_data64.getBit(eq_clk_l3_pos[l_exPos]); - if (o_l3_is_scomable != l_is_scomable) - { - FAPI_INF("Clock status didn't match stop state, overriding is_scomable status"); - o_l3_is_scomable = l_is_scomable; + if (o_l3_is_scomable != l_is_scomable) + { + FAPI_INF("Clock status didn't match stop state, overriding is_scomable status"); + o_l3_is_scomable = l_is_scomable; + } } fapi_try_exit: |