diff options
author | Wael El-Essawy <welessa@us.ibm.com> | 2016-09-16 10:18:30 -0500 |
---|---|---|
committer | Wael El-Essawy <welessa@us.ibm.com> | 2016-09-23 16:04:11 -0400 |
commit | d137bd848a05d5afd8a9ee5c9803f421ebd0a922 (patch) | |
tree | 75fa87939a9f7028921504e9b6a27cbd138af930 /src/occ_gpe0 | |
parent | a1788a7353ef2072534b77f79396c04ade749314 (diff) | |
download | talos-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.c | 30 | ||||
-rw-r--r-- | src/occ_gpe0/ipc_func_tables.c | 4 |
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 |