summaryrefslogtreecommitdiffstats
path: root/src/occ_405/proc/proc_pstate.c
diff options
context:
space:
mode:
authorChris Cain <cjcain@us.ibm.com>2017-05-11 16:50:46 -0500
committerChristopher J. Cain <cjcain@us.ibm.com>2017-05-15 16:00:57 -0400
commite919c4a61d53fb909beee113f43c4d3da8b2c77a (patch)
tree201f222e35c2d99e9918c096a899848dcc686598 /src/occ_405/proc/proc_pstate.c
parentb8d42ae5170515e5a465c002d9f2449c12906469 (diff)
downloadtalos-occ-e919c4a61d53fb909beee113f43c4d3da8b2c77a.tar.gz
talos-occ-e919c4a61d53fb909beee113f43c4d3da8b2c77a.zip
Witherspoon pstate updates
- Adjust fmax on slave to account for diff freq - Remove SIMICS_FLAG_ISSUE (automic registers not working in simics) - Cleanup traces Change-Id: Ifc30333463bc5a1e44ec81bd365860460b802e71 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40461 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Martha Broyles <mbroyles@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com> Reviewed-by: Andres A. Lugo-Reyes <aalugore@us.ibm.com> Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Diffstat (limited to 'src/occ_405/proc/proc_pstate.c')
-rwxr-xr-xsrc/occ_405/proc/proc_pstate.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/occ_405/proc/proc_pstate.c b/src/occ_405/proc/proc_pstate.c
index a66908d..90a9deb 100755
--- a/src/occ_405/proc/proc_pstate.c
+++ b/src/occ_405/proc/proc_pstate.c
@@ -410,6 +410,9 @@ void check_for_opal_updates(void)
(G_opal_dynamic_table.dynamic.mem_throt_status != G_amec_opal_mem_throt_reason) ) // Mem throttle status changed
{
throttle_change = true;
+ TRAC_INFO("check_for_opal_updates: throttle status change - proc 0x%02X->0x%02X, mem: 0x%02X->0x%02X",
+ G_opal_dynamic_table.dynamic.proc_throt_status, G_amec_opal_proc_throt_reason,
+ G_opal_dynamic_table.dynamic.mem_throt_status, G_amec_opal_mem_throt_reason);
update_dynamic_opal_data();
}
@@ -422,6 +425,16 @@ void check_for_opal_updates(void)
G_opal_dynamic_table.dynamic.max_power_cap != G_master_pcap_data.max_pcap ||
G_opal_dynamic_table.dynamic.current_power_cap != G_master_pcap_data.current_pcap )
{
+ if (G_opal_dynamic_table.dynamic.occ_state != CURRENT_STATE())
+ TRAC_INFO("check_for_opal_updates: state changed from 0x%02X->0x%02X", G_opal_dynamic_table.dynamic.occ_state, CURRENT_STATE());
+ if (G_opal_dynamic_table.dynamic.quick_power_drop != AMEC_INTF_GET_OVERSUBSCRIPTION())
+ TRAC_INFO("check_for_opal_updates: qpd changed from 0x%02X->0x%02X", G_opal_dynamic_table.dynamic.quick_power_drop, AMEC_INTF_GET_OVERSUBSCRIPTION());
+ if (G_opal_dynamic_table.dynamic.power_cap_type != G_master_pcap_data.source ||
+ G_opal_dynamic_table.dynamic.min_power_cap != G_master_pcap_data.soft_min_pcap ||
+ G_opal_dynamic_table.dynamic.max_power_cap != G_master_pcap_data.max_pcap ||
+ G_opal_dynamic_table.dynamic.current_power_cap != G_master_pcap_data.current_pcap)
+ TRAC_INFO("check_for_opal_updates: power cap change");
+
update_dynamic_opal_data();
}
@@ -443,12 +456,10 @@ void check_for_opal_updates(void)
// End Function Specification
void update_dynamic_opal_data (void)
{
- TRAC_INFO("update_dynamic_opal_data: populate dynamic OPAL data");
// Initialize the opal table in SRAM (sets valid bit)
populate_opal_dynamic_data();
// copy sram image into mainstore HOMER
populate_opal_tbl_to_mem(OPAL_DYNAMIC);
- TRAC_IMP("update_dynamic_opal_data: updated dynamic OPAL data");
}
OpenPOWER on IntegriCloud