summaryrefslogtreecommitdiffstats
path: root/src/import
diff options
context:
space:
mode:
authorBrian Vanderpool <vanderp@us.ibm.com>2016-09-16 12:54:27 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-09-26 11:32:11 -0400
commit33bce25d8d756219bb10aab368e0b3772fb66a3d (patch)
tree3bf57a446beefe3bf1472cbdcc8c7b6794e9146e /src/import
parentaa07e5cb4b5cb7020c946e24f28e225e5feda5a0 (diff)
downloadtalos-hostboot-33bce25d8d756219bb10aab368e0b3772fb66a3d.tar.gz
talos-hostboot-33bce25d8d756219bb10aab368e0b3772fb66a3d.zip
Fix polarity usage of clock status bits
Change-Id: I3e8315747b4e2de8efb5ff17e424f640c603230a RTC:161069 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29856 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: Manish K. Chowdhary <manichow@in.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29859 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import')
-rwxr-xr-x[-rw-r--r--]src/import/chips/p9/procedures/hwp/pm/p9_query_stop_state.C15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_query_stop_state.C b/src/import/chips/p9/procedures/hwp/pm/p9_query_stop_state.C
index 02c3a40c1..041f01fa0 100644..100755
--- a/src/import/chips/p9/procedures/hwp/pm/p9_query_stop_state.C
+++ b/src/import/chips/p9/procedures/hwp/pm/p9_query_stop_state.C
@@ -167,6 +167,7 @@ p9_query_stop_state(
uint32_t l_quadStopLevel = 0;
uint32_t l_exPos = 0;
uint32_t l_coreStopLevel[2] = {0, 0};
+ uint8_t l_data8;
stop_attrs_t l_stop_attrs = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; // Initialize all fields to 1
hw_state_t l_clk_pfet = {0, 0, {0, 0}, {0, 0}, 0, 0, {0, 0}}; // Initialize all fields to 0
@@ -346,8 +347,12 @@ p9_query_stop_state(
FAPI_TRY(fapi2::getScom(l_eq_target, EQ_CLOCK_STAT_SL, l_data64), "Error reading data from EQ_CLOCK_STAT_SL");
- l_data64.extractToRight<uint8_t>(l_clk_pfet.l2_hasclocks, eq_clk_l2_pos[l_exPos], 1);
- l_data64.extractToRight<uint8_t>(l_clk_pfet.l3_hasclocks, eq_clk_l3_pos[l_exPos], 1);
+ l_data64.extractToRight<uint8_t>(l_data8, eq_clk_l2_pos[l_exPos], 1);
+ l_clk_pfet.l2_hasclocks = (l_data8 == 1) ? 0 : 1; // If the bit is 0, clocks are running
+
+ l_data64.extractToRight<uint8_t>(l_data8, eq_clk_l3_pos[l_exPos], 1);
+ l_clk_pfet.l3_hasclocks = (l_data8 == 1) ? 0 : 1; // If the bit is 0, clocks are running
+
for (auto l_core_chplt : l_coreChiplets)
{
@@ -362,9 +367,11 @@ p9_query_stop_state(
FAPI_TRY(fapi2::getScom(l_core_chplt, C_CLOCK_STAT_SL, l_data64), "Error reading data from C_CLOCK_STAT_SL");
- l_data64.extractToRight<uint8_t>(l_clk_pfet.c_exec_hasclocks[l_pos], 6, 1);
- l_data64.extractToRight<uint8_t>(l_clk_pfet.c_pc_hasclocks[l_pos], 5, 1);
+ l_data64.extractToRight<uint8_t>(l_data8, 6, 1);
+ l_clk_pfet.c_exec_hasclocks[l_pos] = (l_data8 == 1) ? 0 : 1; // If the bit is 0, clocks are running
+ l_data64.extractToRight<uint8_t>(l_data8, 5, 1);
+ l_clk_pfet.c_pc_hasclocks[l_pos] = (l_data8 == 1) ? 0 : 1; // If the bit is 0, clocks are running
}
FAPI_DBG("Comparing Stop State vs Actual HW settings");
OpenPOWER on IntegriCloud