summaryrefslogtreecommitdiffstats
path: root/src/hwpf/include
diff options
context:
space:
mode:
authorSachin Gupta <sgupta2m@in.ibm.com>2016-08-17 03:36:49 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2016-09-09 08:50:10 -0400
commitcc5d7d24b85f7e60ebd05a815dffcc857aa5988a (patch)
tree35f602ee6a9ffbb15c3afdeb9045d1d0e3924370 /src/hwpf/include
parenta97202a9a4d328b8af4dd734d67df24cb6462333 (diff)
downloadtalos-sbe-cc5d7d24b85f7e60ebd05a815dffcc857aa5988a.tar.gz
talos-sbe-cc5d7d24b85f7e60ebd05a815dffcc857aa5988a.zip
Handle parity/timeout errors
Change-Id: Ic9035ef7b2487dae93f6b53ad19e11772c2c4d12 RTC: 158199 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28370 Reviewed-by: AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com> Reviewed-by: RAJA DAS <rajadas2@in.ibm.com> Reviewed-by: Shakeeb A. Pasha B K <shakeebbk@in.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/hwpf/include')
-rw-r--r--src/hwpf/include/plat/plat_hw_access.H26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/hwpf/include/plat/plat_hw_access.H b/src/hwpf/include/plat/plat_hw_access.H
index 89c02f2a..c7c73325 100644
--- a/src/hwpf/include/plat/plat_hw_access.H
+++ b/src/hwpf/include/plat/plat_hw_access.H
@@ -6,6 +6,7 @@
/* OpenPOWER sbe Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2015,2016 */
+/* [+] International Business Machines Corp. */
/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
@@ -34,6 +35,18 @@
#include "hw_access_def.H"
#include <return_code.H>
+// PIB errors
+enum PCB_ERRORS
+{
+ PIB_NO_ERROR = 0x0,
+ PIB_XSCOM_ERROR = 0x1,
+ PIB_OFFLINE_ERROR = 0x2,
+ PIB_PARTIAL_ERROR = 0x3,
+ PIB_ADDRESS_ERROR = 0x4,
+ PIB_CLOCK_ERROR = 0x5,
+ PIB_PARITY_ERROR = 0x6,
+ PIB_TIMEOUT_ERROR = 0x7
+};
/// PIB Error Mask
@@ -141,6 +154,19 @@ namespace fapi2
/// @return PCB-PIB return code
///
uint32_t putscom_abs_wrap(const uint32_t i_addr, uint64_t i_data);
+
+ ///
+ /// @brief Platform wrapper to retry scom for parity/timeout errors
+ ///
+ /// @param [in] i_addr The SCOM address
+ /// @param [io] io_data The data pointer
+ /// @param [in] i_pibErr PIB error code
+ /// @param [in] i_isRead True if read operation, false otherwise
+ ///
+ /// @return PCB-PIB return code
+ ///
+ uint32_t p9_pibErrRetry( const uint32_t i_addr, uint64_t *io_data,
+ const uint8_t i_pibErr, const bool i_isRead);
}
OpenPOWER on IntegriCloud