diff options
author | Chris Cain <cjcain@us.ibm.com> | 2016-05-12 16:40:13 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-05-24 09:26:29 -0400 |
commit | 3981721dbd1ad4e3f99dd84eccbd6b7a161ce60c (patch) | |
tree | a62a8d899731ea88db4531807f48117927198900 /src/usr/htmgt/htmgt_occ.H | |
parent | 4d4f2b18424ad5c7a868d6771ddce90cd210c5ee (diff) | |
download | talos-hostboot-3981721dbd1ad4e3f99dd84eccbd6b7a161ce60c.tar.gz talos-hostboot-3981721dbd1ad4e3f99dd84eccbd6b7a161ce60c.zip |
OCC Checkpoint handling improvements
Change-Id: Ibf8712fe560c022be939f73fcc78fb610a2bcabb
RTC: 153923
ForwardPort: yes
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/24622
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Reviewed-by: Sheldon R. Bailey <baileysh@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/24831
Tested-by: Jenkins Server
Tested-by: FSP CI Jenkins
Diffstat (limited to 'src/usr/htmgt/htmgt_occ.H')
-rw-r--r-- | src/usr/htmgt/htmgt_occ.H | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/usr/htmgt/htmgt_occ.H b/src/usr/htmgt/htmgt_occ.H index e29565fe6..eaef25059 100644 --- a/src/usr/htmgt/htmgt_occ.H +++ b/src/usr/htmgt/htmgt_occ.H @@ -266,6 +266,15 @@ namespace HTMGT */ void updateOccPresentBits(uint8_t i_slavePresent); + + /** + * @brief Add channel 1 (circular buffer) SCOM data to elog + * + * @param[in,out] i_err Error log to add data to + */ + void collectCheckpointScomData(errlHndl_t i_err); + + private: // functions /** @@ -477,8 +486,13 @@ namespace HTMGT * communicate and start handling commands. This * function will wait up to 10 seconds for all OCCs * before returning to the caller. + * + * @return NULL on success, or error handle for the first OCC + * that did not reach its checkpoint. If additional OCCs + * do not reach their checkpoint an elog will be committed + * for each. */ - static void waitForOccCheckpoint(); + static errlHndl_t waitForOccCheckpoint(); /** @@ -668,7 +682,8 @@ namespace HTMGT /* See setOccState() above */ errlHndl_t _setOccState(const occStateId i_state); - void _waitForOccCheckpoint(); + /* See waitForOccCheckpoint() above */ + errlHndl_t _waitForOccCheckpoint(); /* See resetOccs() above */ errlHndl_t _resetOccs(TARGETING::Target * i_failedOccTarget, |