summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPrasad Bg Ranganath <prasadbgr@in.ibm.com>2017-05-18 00:19:49 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2017-05-26 05:49:22 -0400
commit27e8c90c96716efef2466d365a9c69a0cf0f79a6 (patch)
treedf81d32b39ca6fa540dbef09559bbee2f3039b7b /src
parent4e43ed941391a4fbb9ba391807511ec432cd5c10 (diff)
downloadtalos-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.C2
-rw-r--r--src/sbefw/sbe_sp_intf.H2
-rw-r--r--src/sbefw/sbecmdringaccess.C10
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."
OpenPOWER on IntegriCloud