Skip to content

Commit

Permalink
PUTRING: Bug fix for termination handling in override path
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
prasrang authored and sgupta2m committed May 26, 2017
1 parent 4e43ed9 commit 27e8c90
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/import/chips/p9/utils/p9_putRingUtils.C
Expand Up @@ -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;
Expand Down
2 changes: 2 additions & 0 deletions src/sbefw/sbe_sp_intf.H
Expand Up @@ -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
Expand Down
10 changes: 9 additions & 1 deletion src/sbefw/sbecmdringaccess.C
Expand Up @@ -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."
Expand Down

0 comments on commit 27e8c90

Please sign in to comment.