diff options
author | whs <whs@us.ibm.com> | 2016-05-04 05:11:48 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-05-04 11:46:17 -0400 |
commit | 959315cb542fbb9f1386cabea0123ee02495c1fb (patch) | |
tree | 9a2ae390adae81e138869afb3cc8a62dc1a46c59 /src/usr/sbeio/sbe_fifodd.H | |
parent | 21beca702140bf104b6cb769564ea7f3d105f2b5 (diff) | |
download | talos-hostboot-959315cb542fbb9f1386cabea0123ee02495c1fb.tar.gz talos-hostboot-959315cb542fbb9f1386cabea0123ee02495c1fb.zip |
SBE FIFO logic between Hostboot and SBE not working as expected
replace SBE_FIFO_UPFIFO_DATA_IN with SBE_FIFO_DNFIFO_DATA_OUT.
Optimize reading doorbell on download, close potential timing problem.
Ignore EOT dummy word on download.
Change-Id: Ia55c977292c499866d189aa2fe4a6b59404b9991
CQ: SW351690
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/24073
Tested-by: Jenkins Server
Tested-by: FSP CI Jenkins
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/sbeio/sbe_fifodd.H')
-rw-r--r-- | src/usr/sbeio/sbe_fifodd.H | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/usr/sbeio/sbe_fifodd.H b/src/usr/sbeio/sbe_fifodd.H index 657210560..4461b558e 100644 --- a/src/usr/sbeio/sbe_fifodd.H +++ b/src/usr/sbeio/sbe_fifodd.H @@ -157,7 +157,9 @@ namespace SBEIO { statusHeader status; uint32_t pcbpibStatus; // only present on errors - uint32_t status_distance; //will be last word received + // ffdc will go here on errors + uint32_t status_distance; // distance to status + uint32_t EOT; // dummy EOT word to ignore fifoPutScomResponse() {} } PACKED; @@ -172,7 +174,9 @@ namespace SBEIO uint64_t data; // Data (0..31) + (32..63) statusHeader status; uint32_t pcbpibStatus; // only present on errors - uint32_t status_distance; //will be last word received + // ffdc will go here on errors + uint32_t status_distance; // distance to status + uint32_t EOT; // dummy EOT word to ignore fifoGetScomResponse() {} } PACKED; @@ -268,11 +272,14 @@ namespace SBEIO /** * @brief poll until downlift Fifo has a value to read + * or has hit EOT. * * @param[in] i_target Target to access + * @param[out] o_status Down load door bell status * @return errlHndl_t Error log handle on failure. */ - errlHndl_t waitDnFifoReady(TARGETING::Target * i_target); + errlHndl_t waitDnFifoReady(TARGETING::Target * i_target, + uint32_t & o_status); /** * @brief encapulate FSI read |