diff options
author | Prasad Bg Ranganath <prasadbgr@in.ibm.com> | 2017-05-18 00:19:49 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-05-26 05:49:22 -0400 |
commit | 27e8c90c96716efef2466d365a9c69a0cf0f79a6 (patch) | |
tree | df81d32b39ca6fa540dbef09559bbee2f3039b7b /src | |
parent | 4e43ed941391a4fbb9ba391807511ec432cd5c10 (diff) | |
download | talos-sbe-27e8c90c96716efef2466d365a9c69a0cf0f79a6.tar.gz talos-sbe-27e8c90c96716efef2466d365a9c69a0cf0f79a6.zip |
PUTRING: Bug fix for termination handling in override path
Change-Id: Ice8dbb4bad109f3fb99cda98024264176d455cf8
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40682
Reviewed-by: Kahn C. Evans <kahnevan@us.ibm.com>
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: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40683
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/import/chips/p9/utils/p9_putRingUtils.C | 2 | ||||
-rw-r--r-- | src/sbefw/sbe_sp_intf.H | 2 | ||||
-rw-r--r-- | src/sbefw/sbecmdringaccess.C | 10 |
3 files changed, 12 insertions, 2 deletions
diff --git a/src/import/chips/p9/utils/p9_putRingUtils.C b/src/import/chips/p9/utils/p9_putRingUtils.C index e27b5c1f..8c82e7e1 100644 --- a/src/import/chips/p9/utils/p9_putRingUtils.C +++ b/src/import/chips/p9/utils/p9_putRingUtils.C @@ -1375,7 +1375,7 @@ fapi2::ReturnCode rs4DecompressionSvc( uint8_t l_spyData = rs4_get_nibble(l_rs4Str, l_nibbleIndx); l_nibbleIndx++; - for(uint8_t i = 0; i < 4; i++) + for(uint8_t i = 0; i < (l_nibble & 0x3); i++) { l_bitsDecoded += 1; l_scomData = 0x0; diff --git a/src/sbefw/sbe_sp_intf.H b/src/sbefw/sbe_sp_intf.H index 45dfafdc..97eddec4 100644 --- a/src/sbefw/sbe_sp_intf.H +++ b/src/sbefw/sbe_sp_intf.H @@ -473,6 +473,8 @@ typedef enum SBE_RING_MODE_SET_PULSE_ALL = 0x0010, ///< Set pulse with pulse /// to all hold types SBE_RING_MODE_FASTARRAY = 0x0020, //Fast array mode + + SBE_RING_MODE_APPLY_OVERRIDE = 0x0040, //override mode } sbeRingAccessModes_t; // Trace array chip-op operation bitmaps diff --git a/src/sbefw/sbecmdringaccess.C b/src/sbefw/sbecmdringaccess.C index bd3afb06..e2fb7619 100644 --- a/src/sbefw/sbecmdringaccess.C +++ b/src/sbefw/sbecmdringaccess.C @@ -322,11 +322,19 @@ uint32_t sbePutRing(uint8_t *i_pArg) CHECK_SBE_RC_AND_BREAK_IF_NOT_SUCCESS(rc); uint16_t ringMode = sbeToFapiRingMode(hdr.ringMode); + bool i_applyOverride = false; + + if (hdr.ringMode & SBE_RING_MODE_APPLY_OVERRIDE) + { + i_applyOverride = true; + } + + Target<TARGET_TYPE_PROC_CHIP> proc = plat_getChipTarget(); // No need to pass length as platform api takes length from payload. fapiRc = rs4DecompressionSvc(proc, (uint8_t *)reqMsg.rs4Payload, - false, (fapi2::RingMode)ringMode); + i_applyOverride, (fapi2::RingMode)ringMode); if( fapiRc != FAPI2_RC_SUCCESS ) { SBE_ERROR(SBE_FUNC" rs4DecompressionSvc failed." |