summaryrefslogtreecommitdiffstats
path: root/src/occ_405/amec/amec_init.c
diff options
context:
space:
mode:
authorWael El-Essawy <welessa@us.ibm.com>2016-10-27 12:54:20 -0500
committerWael El-Essawy <welessa@us.ibm.com>2016-11-03 15:08:04 -0400
commit45ceb3d13361ac099c7b0b9f2ff51a731e296ed1 (patch)
tree0b9edc946040fe0f3bd2b2f82a09b1f3d94ebc56 /src/occ_405/amec/amec_init.c
parentaa7187f24959d2ec1fbee81a5d100a749161096f (diff)
downloadtalos-occ-45ceb3d13361ac099c7b0b9f2ff51a731e296ed1.tar.gz
talos-occ-45ceb3d13361ac099c7b0b9f2ff51a731e296ed1.zip
Implement task_poke_watchdogs
task_poke_watchdogs() should be called every 2ms (ticks 1 and 9) on both master and slaves while in observation and active state and do the following: 1. Every time called: Enable/Reset the OCC heartbeat: done by a write to OCB OCC Heartbeat Register (set count to 8ms) 2. Every time called: Reset memory deadman timer for 1 MCA (skip if not present and just wait until next call to check next MCA to keep same timing of reset per MCA regardless of # present) Resetting the deadman is done by reading one of the memory performance counters, use one at SCOM offset 0x13C. NOTE: Will take 16ms (8 MCAs x 2ms) to reset all memory timers, this is fine since the shortest time the deadman timeout can be configured to is 28ms 3. Every 4ms (on tick 1 only) : Verify PGPE is still functional by reading PGPE Beacon from SRAM if after 8ms (2 consecutive checks) there is no change to the PGPE Beacon count then log an error and request reset. In addition, this commit adds entries for the PGPE image header and shared SRAM in the TLB, and partially reads PGPE image header parameters. Change-Id: I9906102b3349506612d55c57e9f5c28441eaeb39 RTC: 154960 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31916 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_405/amec/amec_init.c')
-rw-r--r--src/occ_405/amec/amec_init.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/occ_405/amec/amec_init.c b/src/occ_405/amec/amec_init.c
index 765b005..b338915 100644
--- a/src/occ_405/amec/amec_init.c
+++ b/src/occ_405/amec/amec_init.c
@@ -393,12 +393,12 @@ void amec_slave_init()
(void *) GPE_ENGINE_1, //callback argument
ASYNC_CALLBACK_IMMEDIATE ); //options
- // If we couldn't create the poreFlex objects, there must be a major problem
+ // If we couldn't create the GpeRequest objects, there must be a major problem
// so we will log an error and halt OCC.
if( rc || rc2 )
{
- //If fail to create pore flex object then there is a problem.
- TRAC_ERR("Failed to create GPE duration poreFlex object[0x%x, 0x%x]", rc, rc2 );
+ //If fail to create GpeRequest object then there is a problem.
+ TRAC_ERR("Failed to create GPE duration GpeRequest object[0x%x, 0x%x]", rc, rc2 );
/* @
* @errortype
@@ -407,7 +407,7 @@ void amec_slave_init()
* @userdata1 return code - gpe0
* @userdata2 return code - gpe1
* @userdata4 OCC_NO_EXTENDED_RC
- * @devdesc Failure to create PORE-GPE poreFlex object for FW timing
+ * @devdesc Failure to create GpeRequest object for FW timing
* analysis.
*
*/
@@ -416,7 +416,7 @@ void amec_slave_init()
SSX_GENERIC_FAILURE, //reasoncode
OCC_NO_EXTENDED_RC, //Extended reason code
ERRL_SEV_PREDICTIVE, //Severity
- NULL, //TODO: create trace //Trace Buf
+ NULL, //Trace Buf
DEFAULT_TRACE_SIZE, //Trace Size
rc, //userdata1
rc2 //userdata2
OpenPOWER on IntegriCloud