summaryrefslogtreecommitdiffstats
path: root/src/occ_gpe0
diff options
context:
space:
mode:
authorWilliam Bryan <wilbryan@us.ibm.com>2016-09-14 17:06:18 -0500
committerWilliam A. Bryan <wilbryan@us.ibm.com>2016-09-29 18:34:10 -0400
commit97426a94d4d583a7ae6dca406462d52b2aff7660 (patch)
tree2b178882f5b202f9202bf9e347c82f8f1f94dc1a /src/occ_gpe0
parenta57f623c26bdf3889703ed63334745c966c6096d (diff)
downloadtalos-occ-97426a94d4d583a7ae6dca406462d52b2aff7660.tar.gz
talos-occ-97426a94d4d583a7ae6dca406462d52b2aff7660.zip
Collect Nest DTS Average
RTC:133842 Change-Id: I565a6f2e848652b7eddd3b319f9c3a411913074a Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29804 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>
Diffstat (limited to 'src/occ_gpe0')
-rw-r--r--src/occ_gpe0/gpe_core_data.c50
-rw-r--r--src/occ_gpe0/ipc_func_tables.c5
2 files changed, 49 insertions, 6 deletions
diff --git a/src/occ_gpe0/gpe_core_data.c b/src/occ_gpe0/gpe_core_data.c
index d4b56c5..d8f6983 100644
--- a/src/occ_gpe0/gpe_core_data.c
+++ b/src/occ_gpe0/gpe_core_data.c
@@ -1,11 +1,11 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/occ_gpe0/core_data.c $ */
+/* $Source: src/occ_gpe0/gpe_core_data.c $ */
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015 */
+/* Contributors Listed Below - COPYRIGHT 2015,2016 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -28,6 +28,7 @@
#include "gpe_err.h"
#include "gpe_util.h"
#include "proc_shared.h"
+#include "nest_dts.h"
/*
* Function Specifications:
@@ -44,8 +45,6 @@
*
* End Function Specification
*/
-
-
void gpe_get_core_data(ipc_msg_t* cmd, void* arg)
{
uint32_t rc; // return code
@@ -74,3 +73,46 @@ void gpe_get_core_data(ipc_msg_t* cmd, void* arg)
}
}
+
+
+/*
+ * Function Specifications:
+ *
+ * Name: gpe_get_nest_dts
+ *
+ * Description: Get the 3 NEST DTS sensor readings
+ *
+ * Inputs: cmd is a pointer to IPC msg's cmd and cmd_data struct
+ *
+ * Outputs: error: sets rc, address, and ffdc in the cmd_data's
+ * GpeErrorStruct
+ *
+ * End Function Specification
+ */
+void gpe_get_nest_dts(ipc_msg_t* cmd, void* arg)
+{
+ uint32_t rc; // return code
+ ipc_async_cmd_t *async_cmd = (ipc_async_cmd_t*)cmd;
+ ipc_nest_dts_parms_t *args = (ipc_nest_dts_parms_t*) async_cmd->cmd_data;
+
+ args->error.error = 0;
+ args->error.ffdc = 0;
+
+ rc = get_nest_dts(&args->data); // NestDts_t*
+
+ if(rc)
+ {
+ PK_TRACE("gpe_get_nest_dts: get_nest_dts failed, rc = 0x%08x", rc);
+ gpe_set_ffdc(&(args->error), 0x00,
+ GPE_RC_GET_NEST_DTS_FAILED, rc);
+ }
+
+ // send back a response, IPC success even if ffdc/rc are non zeros
+ rc = ipc_send_rsp(cmd, IPC_RC_SUCCESS);
+ if(rc)
+ {
+ PK_TRACE("gpe_get_nest_dts: Failed to send response back. Halting GPE0", rc);
+ gpe_set_ffdc(&(args->error), 0x00, GPE_RC_IPC_SEND_FAILED, rc);
+ pk_halt();
+ }
+}
diff --git a/src/occ_gpe0/ipc_func_tables.c b/src/occ_gpe0/ipc_func_tables.c
index 7b4c8a1..d5085ff 100644
--- a/src/occ_gpe0/ipc_func_tables.c
+++ b/src/occ_gpe0/ipc_func_tables.c
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER OnChipController Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015 */
+/* Contributors Listed Below - COPYRIGHT 2015,2016 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -33,6 +33,7 @@ void apss_start_pwr_meas_read(ipc_msg_t* cmd, void* arg);
void apss_continue_pwr_meas_read(ipc_msg_t* cmd, void* arg);
void apss_complete_pwr_meas_read(ipc_msg_t* cmd, void* arg);
void gpe_get_core_data(ipc_msg_t* cmd, void* arg);
+void gpe_get_nest_dts(ipc_msg_t* cmd, void* arg);
void ipc_scom_operation(ipc_msg_t* cmd, void* arg);
@@ -69,7 +70,7 @@ IPC_HANDLER(apss_complete_pwr_meas_read, 0) // 5 - IPC_ST_APSS_COMPLETE_PWR_MEA
IPC_HANDLER(gpe_get_core_data, 0) // 6 - IPC_ST_GET_CORE_DATA_FUNCID
IPC_HANDLER(ipc_scom_operation, 0) // 7 - IPC_ST_SCOM_OPERATION
IPC_HANDLER(gpe0_nop, 0) // 8 - IPC_ST_GPE0_NOP
-IPC_HANDLER_DEFAULT // 9
+IPC_HANDLER(gpe_get_nest_dts, 0) // 9 - IPC_ST_GET_NEST_DTS_FUNCID
IPC_HANDLER_DEFAULT // 10
IPC_HANDLER_DEFAULT // 11
IPC_HANDLER_DEFAULT // 12
OpenPOWER on IntegriCloud