From 275ea30364bf2d831f213f9a73b5f8fa8ef851af Mon Sep 17 00:00:00 2001 From: Chris Cain Date: Thu, 18 Jun 2015 12:46:05 -0500 Subject: 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 --- src/include/usr/htmgt/htmgt.H | 24 ++++++++++++++++++++++++ src/include/usr/htmgt/htmgt_reasoncodes.H | 4 ++++ 2 files changed, 28 insertions(+) (limited to 'src/include/usr/htmgt') diff --git a/src/include/usr/htmgt/htmgt.H b/src/include/usr/htmgt/htmgt.H index de7cfd2fb..8fbdf21c9 100755 --- a/src/include/usr/htmgt/htmgt.H +++ b/src/include/usr/htmgt/htmgt.H @@ -107,6 +107,30 @@ namespace HTMGT */ errlHndl_t enableOccActuation(bool i_occActivation); + + + /** + * @brief Send a pass-through command to HTMGT + * + * @details  This is a blocking call that will send a command + *           to HTMGT. + * + * @note The maximum response data returned will be 4096 bytes + * + * @param[in] i_cmdLength number of bytes in pass-thru command data + * @param[in]   *i_cmdData   pointer to pass-thru command data + * @param[out] o_rspLength number of bytes returned in o_rspData + * @param[out] *o_rspData   pointer to a 4096 byte buffer that will + * contain the response data from the command + * + * @returns NULL on success, or an error handle if the state did not + * change. + */ + errlHndl_t passThruCommand(uint16_t i_cmdLength, + uint8_t * i_cmdData, + uint16_t & o_rspLength, + uint8_t * o_rspData); + } #endif // HTMGT_H diff --git a/src/include/usr/htmgt/htmgt_reasoncodes.H b/src/include/usr/htmgt/htmgt_reasoncodes.H index 18c4da539..5fc1b9638 100644 --- a/src/include/usr/htmgt/htmgt_reasoncodes.H +++ b/src/include/usr/htmgt/htmgt_reasoncodes.H @@ -40,6 +40,8 @@ namespace HTMGT HTMGT_MOD_PROCESS_OCC_RESET = 0x06, HTMGT_MOD_OCC_RESET = 0x07, HTMGT_MOD_BUILD_OCCS = 0x08, + HTMGT_MOD_PASS_THRU = 0x09, + HTMGT_MOD_CFG_FREQ_POINTS = 0x0A, HTMGT_MOD_OCC_POLL = 0x76, HTMGT_MOD_BAD_FRU_CALLOUTS = 0x7D, HTMGT_MOD_MISMATCHING_SEVERITY = 0x7F, @@ -54,11 +56,13 @@ namespace HTMGT enum htmgtReasonCode { + HTMGT_RC_NO_ERROR = 0x00, HTMGT_RC_INTERNAL_ERROR = HTMGT_COMP_ID | 0x01, HTMGT_RC_THROTTLE_UTIL_ERROR = HTMGT_COMP_ID | 0x02, HTMGT_RC_THROTTLE_INVALID_N = HTMGT_COMP_ID | 0x03, HTMGT_RC_OT_THROTTLE_INVALID_N = HTMGT_COMP_ID | 0x04, HTMGT_RC_OCC_NOT_READY = HTMGT_COMP_ID | 0x05, + HTMGT_RC_ATTRIBUTE_ERROR = HTMGT_COMP_ID | 0x06, HTMGT_RC_NO_SUPPORT = HTMGT_COMP_ID | 0x0F, HTMGT_RC_OCC_RESET = HTMGT_COMP_ID | 0x15, HTMGT_RC_OCC_CRIT_FAILURE = HTMGT_COMP_ID | 0x16, -- cgit v1.2.1