summaryrefslogtreecommitdiffstats
path: root/src/usr/sbeio/sbe_fifodd.H
diff options
context:
space:
mode:
authorwhs <whs@us.ibm.com>2016-05-04 05:11:48 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-05-04 11:46:17 -0400
commit959315cb542fbb9f1386cabea0123ee02495c1fb (patch)
tree9a2ae390adae81e138869afb3cc8a62dc1a46c59 /src/usr/sbeio/sbe_fifodd.H
parent21beca702140bf104b6cb769564ea7f3d105f2b5 (diff)
downloadtalos-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.H13
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
OpenPOWER on IntegriCloud