summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/occ
diff options
context:
space:
mode:
authorChris Cain <cjcain@us.ibm.com>2015-06-18 12:46:05 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-08-18 19:35:23 -0500
commit275ea30364bf2d831f213f9a73b5f8fa8ef851af (patch)
tree448949765c96bd8c4c83a109cb6ee8f7ca729c39 /src/usr/hwpf/hwp/occ
parent6ff3e00062b894a880937ce41f748e26105b579a (diff)
downloadtalos-hostboot-275ea30364bf2d831f213f9a73b5f8fa8ef851af.tar.gz
talos-hostboot-275ea30364bf2d831f213f9a73b5f8fa8ef851af.zip
HTMGT support for Pstate Table Biasing
Change-Id: I96aff34fb9b588d8546575b77655a6cf167469fb RTC: 128436 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/18789 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/occ')
-rw-r--r--src/usr/hwpf/hwp/occ/runtime/rt_occ.C34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/usr/hwpf/hwp/occ/runtime/rt_occ.C b/src/usr/hwpf/hwp/occ/runtime/rt_occ.C
index 6d3407677..cb68f46f6 100644
--- a/src/usr/hwpf/hwp/occ/runtime/rt_occ.C
+++ b/src/usr/hwpf/hwp/occ/runtime/rt_occ.C
@@ -140,6 +140,39 @@ namespace RT_OCC
//------------------------------------------------------------------------
+ int htmgt_pass_thru (uint16_t i_cmdLength,
+ uint8_t * i_cmdData,
+ uint16_t * o_rspLength,
+ uint8_t * o_rspData)
+ {
+ int rc = 0;
+#ifdef CONFIG_HTMGT
+ errlHndl_t err = HTMGT::passThruCommand(i_cmdLength, i_cmdData,
+ *o_rspLength, o_rspData);
+ if (err)
+ {
+ rc = err->reasonCode();
+ if (0 == rc)
+ {
+ // If there was a failure, be sure to return non-zero status
+ rc = -1;
+ }
+ if ((i_cmdLength > 0) && (NULL != i_cmdData))
+ {
+ TRACFCOMP (g_fapiTd,ERR_MRK"htmgt_pass_thru: command 0x%02X"
+ " (%d bytes) failed with rc=0x%04X",
+ i_cmdData[0], i_cmdLength, err->reasonCode());
+ }
+ errlCommit (err, HWPF_COMP_ID);
+ }
+#else
+ o_rspLength = 0;
+#endif
+ return rc;
+ }
+
+ //------------------------------------------------------------------------
+
int executeLoadOCC(uint64_t i_homer_addr_phys,
uint64_t i_homer_addr_va,
uint64_t i_common_addr_phys,
@@ -427,6 +460,7 @@ namespace RT_OCC
rt_intf->process_occ_error = &process_occ_error;
rt_intf->process_occ_reset = &process_occ_reset;
rt_intf->enable_occ_actuation = &enable_occ_actuation;
+ rt_intf->mfg_htmgt_pass_thru = &htmgt_pass_thru;
// If we already loaded OCC during the IPL we need to fix up
// the virtual address because we're now not using virtual
OpenPOWER on IntegriCloud