diff options
author | Prasad Bg Ranganath <prasadbgr@in.ibm.com> | 2017-06-12 01:26:30 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-09-20 12:46:19 -0400 |
commit | c76531552e839fb9cb83865e1e9a039f3436eee3 (patch) | |
tree | d8edd63b4632876c886af0790a256a4f1189ec46 /src/import/chips/p9/utils | |
parent | e52f9abcc8460f0bdb2c02c09d1678ddf9dab6ed (diff) | |
download | talos-sbe-c76531552e839fb9cb83865e1e9a039f3436eee3.tar.gz talos-sbe-c76531552e839fb9cb83865e1e9a039f3436eee3.zip |
SBE:Putring: Added more debug information
Change-Id: I20ef41aec0492544ee84963b12701e8d5f410f79
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41668
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Reviewed-by: PARVATHI RACHAKONDA <prachako@in.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41669
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/utils')
-rw-r--r-- | src/import/chips/p9/utils/p9_putRingUtils.C | 37 | ||||
-rw-r--r-- | src/import/chips/p9/utils/p9_putRingUtils.H | 4 |
2 files changed, 34 insertions, 7 deletions
diff --git a/src/import/chips/p9/utils/p9_putRingUtils.C b/src/import/chips/p9/utils/p9_putRingUtils.C index ee89c810..cdbf67cb 100644 --- a/src/import/chips/p9/utils/p9_putRingUtils.C +++ b/src/import/chips/p9/utils/p9_putRingUtils.C @@ -219,7 +219,8 @@ fapi2::ReturnCode standardScan( const uint8_t i_chipletId, opType_t i_operation, uint64_t i_opVal, - uint64_t i_scanData) + uint64_t i_scanData, + const uint16_t i_ringId) { FAPI_INF(">> standardScan"); @@ -332,7 +333,16 @@ fapi2::ReturnCode standardScan( { l_rc = fapi2::FAPI2_RC_PLAT_ERR_SEE_DATA; FAPI_ERR("Max attempts exceeded checking OPCG_DONE"); - break; + FAPI_ASSERT(false, + fapi2::P9_PUTRING_OPCG_DONE_TIMEOUT() + .set_TARGET(l_parent) + .set_CHIPLET_ID(l_chiplet) + .set_SCOM_ADDRESS(l_scomAddress) + .set_SCOM_DATA(l_scomData) + .set_ROTATE_COUNT(l_rotateCount) + .set_RINGID(i_ringId) + .set_RETURN_CODE(l_rc), + "ROTATE operation failed due to timeout"); } }// end of for loop } @@ -362,6 +372,8 @@ fapi2::ReturnCode standardScan( } while(0); +fapi_try_exit: + FAPI_INF("<< standardScan"); return l_rc; } @@ -546,9 +558,21 @@ fapi2::ReturnCode verifyHeader(const fapi2::Target<fapi2::TARGET_TYPE_ALL>& if(l_readHeader != i_header) { - FAPI_ERR("Read header(%016x) data incorrect", uint64_t(l_readHeader)); + FAPI_ERR("Read CHECKWORD (%016x) data incorrect and total bit decoded 0x%016x", + uint64_t(l_readHeader), (uint64_t)i_bitsDecoded); l_rc = fapi2::FAPI2_RC_PLAT_ERR_RING_HEADER_CHECK; - break; + FAPI_ASSERT(false, + fapi2::P9_PUTRING_CHECKWORD_DATA_MISMATCH() + .set_TARGET(i_target) + .set_CHIPLET_ID(l_chiplet) + .set_SCOM_ADDRESS(l_scomAddress) + .set_SCOM_DATA(l_readHeader) + .set_BITS_DECODED(i_bitsDecoded) + .set_RINGID(i_ringId) + .set_RINGMODE(i_ringMode) + .set_RETURN_CODE(l_rc), + "CHECKWORD DATA mismatch"); + } if ((i_ringMode & fapi2::RING_MODE_SET_PULSE_NSL)) @@ -565,7 +589,7 @@ fapi2::ReturnCode verifyHeader(const fapi2::Target<fapi2::TARGET_TYPE_ALL>& if(l_rc != fapi2::FAPI2_RC_SUCCESS) { - FAPI_ERR("Error during writing header %016x", l_header); + FAPI_ERR("Error during writing header %016x for NSL mode", l_header); break; } @@ -573,6 +597,7 @@ fapi2::ReturnCode verifyHeader(const fapi2::Target<fapi2::TARGET_TYPE_ALL>& } while(0); +fapi_try_exit: return l_rc; } @@ -1449,7 +1474,7 @@ fapi2::ReturnCode rs4DecompressionSvc( } // Verify header - l_rc = verifyHeader(i_target, l_header, l_chipletId, i_ringMode); + l_rc = verifyHeader(i_target, l_header, l_chipletId, i_ringMode, l_bitsDecoded, l_ringId); if(l_rc) { diff --git a/src/import/chips/p9/utils/p9_putRingUtils.H b/src/import/chips/p9/utils/p9_putRingUtils.H index fdd6b752..198a8de8 100644 --- a/src/import/chips/p9/utils/p9_putRingUtils.H +++ b/src/import/chips/p9/utils/p9_putRingUtils.H @@ -141,13 +141,15 @@ void getRingProperties(const RingID i_ringId, /// @param[in] i_operation Type of operation to perform - ROTATE/SCAN /// @param[in] i_opVal Number of bits for the operation /// @param[in] i_scanData This value has to be scanned when i_operation is SCAN +/// @param[in] i_ringId Ring id value for debug info /// @return FAPI2_RC_SUCCESS if success, else error code. fapi2::ReturnCode standardScan( const fapi2::Target<fapi2::TARGET_TYPE_ALL>& i_target, const uint8_t i_chipletId, opType_t i_operation, uint64_t i_opVal, - uint64_t i_scanData = 0); + uint64_t i_scanData = 0, + const uint16_t i_ringId = 0); /// @brief Function to set the Scan Region /// @param[in] i_target Chiplet Target of Scan |