summaryrefslogtreecommitdiffstats
path: root/src/occ_gpe0
diff options
context:
space:
mode:
authorWael El-Essawy <welessa@us.ibm.com>2016-09-16 10:18:30 -0500
committerWael El-Essawy <welessa@us.ibm.com>2016-09-23 16:04:11 -0400
commitd137bd848a05d5afd8a9ee5c9803f421ebd0a922 (patch)
tree75fa87939a9f7028921504e9b6a27cbd138af930 /src/occ_gpe0
parenta1788a7353ef2072534b77f79396c04ade749314 (diff)
downloadtalos-occ-d137bd848a05d5afd8a9ee5c9803f421ebd0a922.tar.gz
talos-occ-d137bd848a05d5afd8a9ee5c9803f421ebd0a922.zip
Enable FW Timing Sensors
Enable scheduling of the GPE NOP task to do GPE timings and verify all sensors being updated in amec_update_fw_sensors() are being populated correctly. Change-Id: I623dd7518be9a8736e601c7d2fa748097a4d773a RTC: 141299 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29849 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Wael El-Essawy <welessa@us.ibm.com>
Diffstat (limited to 'src/occ_gpe0')
-rw-r--r--src/occ_gpe0/gpe_util.c30
-rw-r--r--src/occ_gpe0/ipc_func_tables.c4
2 files changed, 33 insertions, 1 deletions
diff --git a/src/occ_gpe0/gpe_util.c b/src/occ_gpe0/gpe_util.c
index d8f7e6d..72a0288 100644
--- a/src/occ_gpe0/gpe_util.c
+++ b/src/occ_gpe0/gpe_util.c
@@ -216,3 +216,33 @@ void ipc_scom_operation(ipc_msg_t* cmd, void* arg)
pk_halt();
}
}
+
+/*
+ * Function Specification:
+ *
+ * Name: gpe0_nop
+ *
+ * Description: a function that does nothing. Called to measure IPC timing
+ *
+ * Inputs: none
+ *
+ * return: none
+ *
+ * End Function Specification
+ */
+
+void gpe0_nop(ipc_msg_t* cmd, void* arg)
+{
+ int rc;
+ ipc_async_cmd_t *async_cmd = (ipc_async_cmd_t*)cmd;
+ nop_t *args = (nop_t*)async_cmd->cmd_data;
+
+ // 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("gpe0_nop: 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 afb399b..7b4c8a1 100644
--- a/src/occ_gpe0/ipc_func_tables.c
+++ b/src/occ_gpe0/ipc_func_tables.c
@@ -36,6 +36,8 @@ void gpe_get_core_data(ipc_msg_t* cmd, void* arg);
void ipc_scom_operation(ipc_msg_t* cmd, void* arg);
+void gpe0_nop(ipc_msg_t* cmd, void* arg);
+
extern ipc_msgq_t G_gpe0_test_msgq0;
// Function table for multi target (common) functions
@@ -66,7 +68,7 @@ IPC_HANDLER(apss_continue_pwr_meas_read, 0) // 4 - IPC_ST_APSS_CONTINUE_PWR_MEA
IPC_HANDLER(apss_complete_pwr_meas_read, 0) // 5 - IPC_ST_APSS_COMPLETE_PWR_MEAS_READ_FUNCID
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_DEFAULT // 8
+IPC_HANDLER(gpe0_nop, 0) // 8 - IPC_ST_GPE0_NOP
IPC_HANDLER_DEFAULT // 9
IPC_HANDLER_DEFAULT // 10
IPC_HANDLER_DEFAULT // 11
OpenPOWER on IntegriCloud