diff options
author | Shawn McCarney <shawnmm@us.ibm.com> | 2017-07-12 16:19:54 -0500 |
---|---|---|
committer | Martha Broyles <mbroyles@us.ibm.com> | 2017-08-02 16:28:58 -0400 |
commit | 9b64b7c93ac21aaac19c98eda502ad00b1454120 (patch) | |
tree | 91302fdf03eb18d6995bbb9776e82c5765064761 /src/occ_405/rtls | |
parent | 2c6661b3dcabd0aa3a69c3aeb34c760638da4064 (diff) | |
download | talos-occ-9b64b7c93ac21aaac19c98eda502ad00b1454120.tar.gz talos-occ-9b64b7c93ac21aaac19c98eda502ad00b1454120.zip |
Timestamp data when collected
This commit contains the following enhancements:
* New IPC function that runs on GPE0 to read the TOD (Time Of Day) registers
* New task on the OCC 405 that gets current TOD every tick via IPC function
* Sensor update function now sets timestamp to current TOD value
Change-Id: I0ea42b01e4df7a93633a68a0f3ed0f839d5e7b3f
RTC: 176504
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43891
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Diffstat (limited to 'src/occ_405/rtls')
-rwxr-xr-x | src/occ_405/rtls/rtls.h | 1 | ||||
-rwxr-xr-x | src/occ_405/rtls/rtls_tables.c | 21 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/occ_405/rtls/rtls.h b/src/occ_405/rtls/rtls.h index 2b8fbae..899d44a 100755 --- a/src/occ_405/rtls/rtls.h +++ b/src/occ_405/rtls/rtls.h @@ -62,6 +62,7 @@ typedef enum { TASK_ID_NEST_DTS, TASK_ID_24X7, // 24x7 data collection task TASK_ID_GPE_TIMINGS, + TASK_ID_GET_TOD, // Get time of day task TASK_END // This must always be the last enum in this list, // so that TASK_END always equals the last task ID + 1. } task_id_t; diff --git a/src/occ_405/rtls/rtls_tables.c b/src/occ_405/rtls/rtls_tables.c index 2f67e5c..eb439cf 100755 --- a/src/occ_405/rtls/rtls_tables.c +++ b/src/occ_405/rtls/rtls_tables.c @@ -37,6 +37,7 @@ #include "amec_sensors_fw.h" #include "dimm.h" #include <common.h> +#include "sensor_get_tod_task.h" // For task_get_tod() //flags for task table #define APSS_TASK_FLAGS RTL_FLAG_MSTR | RTL_FLAG_OBS | RTL_FLAG_ACTIVE | RTL_FLAG_MSTR_READY | RTL_FLAG_RUN @@ -62,8 +63,9 @@ #define FLAGS_AMEC_SLAVE RTL_FLAG_MSTR | RTL_FLAG_NOTMSTR | RTL_FLAG_OBS | RTL_FLAG_ACTIVE | RTL_FLAG_MSTR_READY | RTL_FLAG_NO_APSS | RTL_FLAG_RUN | RTL_FLAG_APSS_NOT_INITD #define FLAGS_AMEC_MASTER RTL_FLAG_MSTR | RTL_FLAG_OBS | RTL_FLAG_ACTIVE | RTL_FLAG_MSTR_READY | RTL_FLAG_NO_APSS | RTL_FLAG_RUN | RTL_FLAG_APSS_NOT_INITD -#define FLAGS_24X7 RTL_FLAG_MSTR | RTL_FLAG_NOTMSTR | RTL_FLAG_OBS | RTL_FLAG_ACTIVE | RTL_FLAG_MSTR_READY | RTL_FLAG_NO_APSS | RTL_FLAG_RUN | RTL_FLAG_APSS_NOT_INITD +#define FLAGS_24X7 RTL_FLAG_MSTR | RTL_FLAG_NOTMSTR | RTL_FLAG_OBS | RTL_FLAG_ACTIVE | RTL_FLAG_MSTR_READY | RTL_FLAG_NO_APSS | RTL_FLAG_RUN | RTL_FLAG_APSS_NOT_INITD +#define FLAGS_GET_TOD RTL_FLAG_MSTR | RTL_FLAG_NOTMSTR | RTL_FLAG_OBS | RTL_FLAG_ACTIVE | RTL_FLAG_MSTR_READY | RTL_FLAG_NO_APSS | RTL_FLAG_RUN | RTL_FLAG_APSS_NOT_INITD #define FLAGS_APSS_START_MEAS APSS_TASK_FLAGS #define FLAGS_APSS_CONT_MEAS APSS_TASK_FLAGS @@ -127,10 +129,12 @@ task_t G_task_table[TASK_END] = { { FLAGS_NEST_DTS, task_nest_dts, NULL }, { FLAGS_24X7, task_24x7, NULL }, // TASK_ID_24X7 { FLAGS_GPE_TIMINGS, task_gpe_timings, NULL }, // TASK_ID_GPE_TIMINGS + { FLAGS_GET_TOD, task_get_tod, NULL }, // TASK_ID_GET_TOD }; const uint8_t G_tick0_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, TASK_ID_DIMM_SM, TASK_ID_APSS_CONT, @@ -153,6 +157,7 @@ const uint8_t G_tick0_seq[] = { const uint8_t G_tick1_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, //TASK_ID_GPU_SM, TASK_ID_APSS_CONT, @@ -175,6 +180,7 @@ const uint8_t G_tick1_seq[] = { const uint8_t G_tick2_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, TASK_ID_DIMM_SM, TASK_ID_APSS_CONT, @@ -197,6 +203,7 @@ const uint8_t G_tick2_seq[] = { const uint8_t G_tick3_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_NEST_DTS, //TASK_ID_GPU_SM, TASK_ID_APSS_CONT, @@ -219,6 +226,7 @@ const uint8_t G_tick3_seq[] = { const uint8_t G_tick4_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, TASK_ID_DIMM_SM, TASK_ID_APSS_CONT, @@ -241,6 +249,7 @@ const uint8_t G_tick4_seq[] = { const uint8_t G_tick5_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, //TASK_ID_GPU_SM, TASK_ID_APSS_CONT, @@ -263,6 +272,7 @@ const uint8_t G_tick5_seq[] = { const uint8_t G_tick6_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, TASK_ID_DIMM_SM, TASK_ID_APSS_CONT, @@ -285,6 +295,7 @@ const uint8_t G_tick6_seq[] = { const uint8_t G_tick7_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, //TASK_ID_GPU_SM, TASK_ID_APSS_CONT, TASK_ID_CORE_DATA_HIGH, @@ -306,6 +317,7 @@ const uint8_t G_tick7_seq[] = { const uint8_t G_tick8_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, TASK_ID_DIMM_SM, TASK_ID_APSS_CONT, @@ -328,6 +340,7 @@ const uint8_t G_tick8_seq[] = { const uint8_t G_tick9_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, //TASK_ID_GPU_SM, TASK_ID_APSS_CONT, @@ -350,6 +363,7 @@ const uint8_t G_tick9_seq[] = { const uint8_t G_tick10_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, TASK_ID_DIMM_SM, TASK_ID_APSS_CONT, @@ -372,6 +386,7 @@ const uint8_t G_tick10_seq[] = { const uint8_t G_tick11_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, //TASK_ID_GPU_SM, TASK_ID_APSS_CONT, TASK_ID_CORE_DATA_HIGH, @@ -393,6 +408,7 @@ const uint8_t G_tick11_seq[] = { const uint8_t G_tick12_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, TASK_ID_DIMM_SM, TASK_ID_APSS_CONT, @@ -415,6 +431,7 @@ const uint8_t G_tick12_seq[] = { const uint8_t G_tick13_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, //TASK_ID_GPU_SM, TASK_ID_APSS_CONT, @@ -437,6 +454,7 @@ const uint8_t G_tick13_seq[] = { const uint8_t G_tick14_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, TASK_ID_CORE_DATA_LOW, TASK_ID_DIMM_SM, TASK_ID_APSS_CONT, @@ -459,6 +477,7 @@ const uint8_t G_tick14_seq[] = { const uint8_t G_tick15_seq[] = { TASK_ID_APSS_START, + TASK_ID_GET_TOD, //TASK_ID_GPU_SM, TASK_ID_APSS_CONT, TASK_ID_CORE_DATA_HIGH, |