summaryrefslogtreecommitdiffstats
path: root/src/occ_405/rtls
diff options
context:
space:
mode:
authorWael El-Essawy <welessa@us.ibm.com>2015-11-05 17:44:54 -0600
committerWael Elessawy <welessa@us.ibm.com>2015-11-11 10:36:53 -0600
commit604c81c85e85651a482243998487faeb0da0d63b (patch)
treec95ce75aeaa6c82c7b3c64dc29cfbfbe5274a3a9 /src/occ_405/rtls
parent86d4c8b7e8bda9cd7eb2b59491fb712aeac0235a (diff)
downloadtalos-occ-604c81c85e85651a482243998487faeb0da0d63b.tar.gz
talos-occ-604c81c85e85651a482243998487faeb0da0d63b.zip
Enable Sensor support
add necessary sensor, amec, and other files to the build list. add the task_amec_slave to the rtls tick tables modify the gpe request structures to reflect the new P9 design enrich the .dis files contects for better debugging Change-Id: Iae39bb1c430da56310478c24a28aad6dfbc6d6d9 RTC: 133865 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/21789 Tested-by: FSP CI Jenkins Reviewed-by: Martha Broyles <mbroyles@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Diffstat (limited to 'src/occ_405/rtls')
-rwxr-xr-xsrc/occ_405/rtls/rtls.c12
-rwxr-xr-xsrc/occ_405/rtls/rtls.h17
-rwxr-xr-xsrc/occ_405/rtls/rtls_tables.c40
3 files changed, 32 insertions, 37 deletions
diff --git a/src/occ_405/rtls/rtls.c b/src/occ_405/rtls/rtls.c
index ae838bc..51a0bba 100755
--- a/src/occ_405/rtls/rtls.c
+++ b/src/occ_405/rtls/rtls.c
@@ -51,8 +51,7 @@ uint32_t G_run_mask_deferred = GLOBAL_RUN_MASK;
uint32_t G_current_tick = 0xFFFFFFFF;
// The durations measured within the current tick
-// TEMP -- PORE ISSUES
-//fw_timing_t G_fw_timing;
+fw_timing_t G_fw_timing;
// The global TICK table
// See notes regarding this table in rtls_tables.c.
@@ -284,8 +283,7 @@ void rtl_ocb_init(void)
// End Function Specification
void rtl_do_tick( void *private, SsxIrqId irq, int priority )
{
-// TEMP / TODO -- Unused var warning
-// uint64_t l_start = ssx_timebase_get();
+ uint64_t l_start = ssx_timebase_get();
uint8_t *l_taskid_ptr = NULL; // Pointer to the current task ID in the current tick sequence
task_t *l_task_ptr = NULL; // Pointer to the currently executing task
@@ -305,8 +303,7 @@ void rtl_do_tick( void *private, SsxIrqId irq, int priority )
CURRENT_TICK++;
// Save off start time of RTL tick
-// TEMP -- COMMENTED OUT DUE TO PORE ISSUES
-// G_fw_timing.rtl_start = l_start;
+ G_fw_timing.rtl_start = l_start;
// Set global run mask point to deferred mask so that any modification
// to the deferred mask flag is taken into effect for this tick.
@@ -390,8 +387,7 @@ void rtl_do_tick( void *private, SsxIrqId irq, int priority )
} while(TRUE);
// Save timing of RTL tick
-// TEMP -- PORE ISSUES
-// G_fw_timing.rtl_dur = DURATION_IN_US_UNTIL_NOW_FROM(l_start);
+ G_fw_timing.rtl_dur = DURATION_IN_US_UNTIL_NOW_FROM(l_start);
RTLS_DBG("RTL Tick Duration: %d us\n",(int)G_fw_timing.rtl_dur);
diff --git a/src/occ_405/rtls/rtls.h b/src/occ_405/rtls/rtls.h
index edd6de4..91d3e81 100755
--- a/src/occ_405/rtls/rtls.h
+++ b/src/occ_405/rtls/rtls.h
@@ -29,6 +29,7 @@
#include <occ_common.h>
#include <ssx.h>
#include <ssx_app_cfg.h>
+#include "occhw_async.h"
typedef struct task {
uint32_t flags;
@@ -47,12 +48,12 @@ typedef enum {
// TASK_ID_DCOM_RX_INBX,
// TASK_ID_DCOM_TX_INBX,
TASK_ID_POKE_WDT, // Reset ppc405 watchdog and OCB timer
-// TASK_ID_DCOM_WAIT_4_MSTR,
-// TASK_ID_DCOM_RX_OUTBX,
-// TASK_ID_DCOM_TX_OUTBX,
+ TASK_ID_DCOM_WAIT_4_MSTR,
+ TASK_ID_DCOM_RX_OUTBX,
+ TASK_ID_DCOM_TX_OUTBX,
// TASK_ID_DCOM_PARSE_FW_MSG,
TASK_ID_CHECK_FOR_CHECKSTOP,
-// TASK_ID_AMEC_SLAVE, // AMEC SMH tasks
+ TASK_ID_AMEC_SLAVE, // AMEC SMH tasks
// TASK_ID_AMEC_MASTER, // AMEC SMH tasks
// TASK_ID_CORE_DATA_CONTROL,
// TASK_ID_GPU_SM, // GPU State Machine
@@ -63,7 +64,6 @@ typedef enum {
} task_id_t;
// Structure containing the durations measured within a tick
-/* TEMP -- PoreFlex object no longer exists
typedef struct
{
uint32_t rtl_dur; // Duration of RTL tick interrupt
@@ -73,10 +73,9 @@ typedef struct
uint64_t rtl_start; // SsxTimebase of Start of current RTL Tick
uint64_t rtl_start_gpe; // SsxTimebase of Start of current RTL Tick (for GPE > 250us meas)
uint32_t gpe_dur[2]; // Duration of the GPE Engines / tick
- PoreFlex * gpe0_timing_request; // GPE Request that facilitates GPE WC meas
- PoreFlex * gpe1_timing_request; // GPE Request that facilitates GPE WC meas
+ GpeRequest* gpe0_timing_request; // GPE Request that facilitates GPE WC meas
+ GpeRequest* gpe1_timing_request; // GPE Request that facilitates GPE WC meas
} fw_timing_t;
-*/
// Bit flags to define when a task can run
// NOTE: whenever new flag is added, it must also be added to the
@@ -114,7 +113,7 @@ typedef struct
extern uint32_t G_current_tick;
// The durations measured within the current tick
-// extern fw_timing_t G_fw_timing;
+extern fw_timing_t G_fw_timing;
// Preferred macro for accessing the current tick value
#define CURRENT_TICK G_current_tick
diff --git a/src/occ_405/rtls/rtls_tables.c b/src/occ_405/rtls/rtls_tables.c
index c4dc9d3..ee48da2 100755
--- a/src/occ_405/rtls/rtls_tables.c
+++ b/src/occ_405/rtls/rtls_tables.c
@@ -107,16 +107,16 @@ task_t G_task_table[TASK_END] = {
// { FLAGS_DCOM_TX_SLV_INBX, task_dcom_tx_slv_inbox, NULL }, // TASK_ID_DCOM_TX_INBX
{ FLAGS_POKE_WDT, task_poke_watchdogs, NULL }, // TASK_ID_POKE_WDT
// TEMP -- NOT SUPPORTED YET IN PHASE1
-// { FLAGS_DCOM_WAIT_4_MSTR, task_dcom_wait_for_master, NULL }, // TASK_ID_DCOM_WAIT_4_MSTR
+ { FLAGS_DCOM_WAIT_4_MSTR, task_dcom_wait_for_master, NULL }, // TASK_ID_DCOM_WAIT_4_MSTR
// TEMP -- NOT SUPPORTED YET IN PHASE1
-// { FLAGS_DCOM_RX_SLV_OUTBOX, task_dcom_rx_slv_outboxes, NULL }, // TASK_ID_DCOM_RX_OUTBX
+ { FLAGS_DCOM_RX_SLV_OUTBOX, task_dcom_rx_slv_outboxes, NULL }, // TASK_ID_DCOM_RX_OUTBX
// TEMP -- NOT SUPPORTED YET IN PHASE1
-// { FLAGS_DCOM_TX_SLV_OUTBOX, task_dcom_tx_slv_outbox, NULL }, // TASK_ID_DCOM_TX_OUTBX
+ { FLAGS_DCOM_TX_SLV_OUTBOX, task_dcom_tx_slv_outbox, NULL }, // TASK_ID_DCOM_TX_OUTBX
// TEMP -- NOT SUPPORTED YET IN PHASE1
// { FLAGS_DCOM_PARSE_OCC_FW_MSG, task_dcom_parse_occfwmsg, NULL }, // TASK_ID_DCOM_PARSE_FW_MSG
{ FLAGS_CHECK_FOR_CHECKSTOP, task_check_for_checkstop, NULL }, // TASK_ID_CHECK_FOR_CHECKSTOP
// TEMP -- NOT SUPPORTED YET IN PHASE1
-// { FLAGS_AMEC_SLAVE, task_amec_slave, NULL }, // TASK_ID_AMEC_SLAVE
+ { FLAGS_AMEC_SLAVE, task_amec_slave, NULL }, // TASK_ID_AMEC_SLAVE
// TEMP -- NOT SUPPORTED YET IN PHASE1
// { FLAGS_AMEC_MASTER, task_amec_master, NULL }, // TASK_ID_AMEC_MASTER
// TEMP -- NOT SUPPORTED YET IN PHASE1
@@ -143,7 +143,7 @@ const uint8_t G_tick0_seq[] = {
TASK_ID_POKE_WDT,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -162,7 +162,7 @@ const uint8_t G_tick1_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -181,7 +181,7 @@ const uint8_t G_tick2_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -200,7 +200,7 @@ const uint8_t G_tick3_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -220,7 +220,7 @@ const uint8_t G_tick4_seq[] = {
TASK_ID_POKE_WDT,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -239,7 +239,7 @@ const uint8_t G_tick5_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -258,7 +258,7 @@ const uint8_t G_tick6_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -277,7 +277,7 @@ const uint8_t G_tick7_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -297,7 +297,7 @@ const uint8_t G_tick8_seq[] = {
TASK_ID_POKE_WDT,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -316,7 +316,7 @@ const uint8_t G_tick9_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -335,7 +335,7 @@ const uint8_t G_tick10_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -354,7 +354,7 @@ const uint8_t G_tick11_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -374,7 +374,7 @@ const uint8_t G_tick12_seq[] = {
TASK_ID_POKE_WDT,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -393,7 +393,7 @@ const uint8_t G_tick13_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -412,7 +412,7 @@ const uint8_t G_tick14_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
@@ -431,7 +431,7 @@ const uint8_t G_tick15_seq[] = {
//TASK_ID_DCOM_RX_OUTBX,
//TASK_ID_DCOM_TX_OUTBX,
//TASK_ID_DCOM_TX_INBX,
- //TASK_ID_AMEC_SLAVE,
+ TASK_ID_AMEC_SLAVE,
//TASK_ID_AMEC_MASTER,
//TASK_ID_DCOM_PARSE_FW_MSG,
//TASK_ID_CHECK_FOR_CHECKSTOP,
OpenPOWER on IntegriCloud