diff options
author | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-08-16 23:30:05 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-08-17 03:12:47 -0400 |
commit | 36ceb0a36fed298ab54013782ec562b231841a1f (patch) | |
tree | 49b181565b39d75dbf11e4fa66cd2c484d5821aa /src | |
parent | 75246d50a14586b37760fd6900202050c6b9a1f2 (diff) | |
download | talos-sbe-36ceb0a36fed298ab54013782ec562b231841a1f.tar.gz talos-sbe-36ceb0a36fed298ab54013782ec562b231841a1f.zip |
Bring Quisce chipop to PIBMEM
Change-Id: I5b9e469171296b58cbb072e3cdb38bca8ac1e83e
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44718
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Shakeeb A. Pasha B K <shakeebbk@in.ibm.com>
Reviewed-by: RAJA DAS <rajadas2@in.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')
-rw-r--r-- | src/sbefw/sbecmdgeneric.C | 71 |
1 files changed, 36 insertions, 35 deletions
diff --git a/src/sbefw/sbecmdgeneric.C b/src/sbefw/sbecmdgeneric.C index baaccbae..6702c217 100644 --- a/src/sbefw/sbecmdgeneric.C +++ b/src/sbefw/sbecmdgeneric.C @@ -232,41 +232,6 @@ uint32_t sbeGetFfdc (uint8_t *i_pArg) #undef SBE_FUNC } -//---------------------------------------------------------------------------- -uint32_t sbeFifoQuiesce( uint8_t *i_pArg ) -{ - #define SBE_FUNC "sbeFifoQuiesce" - uint32_t rc = SBE_SEC_OPERATION_SUCCESSFUL; - uint32_t len = 0; - sbeRespGenHdr_t respHdr; - respHdr.init(); - - do - { - // Dequeue the EOT entry as no more data is expected. - rc = sbeUpFifoDeq_mult (len, NULL); - CHECK_SBE_RC_AND_BREAK_IF_NOT_SUCCESS(rc); - - // Set Quiesce State - (void)SbeRegAccess::theSbeRegAccess().stateTransition( - SBE_QUIESCE_EVENT); - - rc = sbeDsSendRespHdr(respHdr); - if(rc != SBE_SEC_OPERATION_SUCCESSFUL) - { - SBE_ERROR(SBE_FUNC "sbeDsSendRespHdr failed"); - // Not Breaking here since we can't revert back on the set state - } - }while(0); - - if( rc ) - { - SBE_ERROR( SBE_FUNC"Failed. rc[0x%X]", rc); - } - return rc; - #undef SBE_FUNC -} - //--------------------------------------------------------------------------- uint32_t sbeSetFFDCAddr(uint8_t *i_pArg) { @@ -394,5 +359,41 @@ uint32_t sbeSetSystemFabricMap( uint8_t *i_pArg ) return l_rc; #undef SBE_FUNC } + +//---------------------------------------------------------------------------- +uint32_t sbeFifoQuiesce( uint8_t *i_pArg ) +{ + #define SBE_FUNC "sbeFifoQuiesce" + uint32_t rc = SBE_SEC_OPERATION_SUCCESSFUL; + uint32_t len = 0; + sbeRespGenHdr_t respHdr; + respHdr.init(); + + do + { + // Dequeue the EOT entry as no more data is expected. + rc = sbeUpFifoDeq_mult (len, NULL); + CHECK_SBE_RC_AND_BREAK_IF_NOT_SUCCESS(rc); + + // Set Quiesce State + (void)SbeRegAccess::theSbeRegAccess().stateTransition( + SBE_QUIESCE_EVENT); + + rc = sbeDsSendRespHdr(respHdr); + if(rc != SBE_SEC_OPERATION_SUCCESSFUL) + { + SBE_ERROR(SBE_FUNC "sbeDsSendRespHdr failed"); + // Not Breaking here since we can't revert back on the set state + } + }while(0); + + if( rc ) + { + SBE_ERROR( SBE_FUNC"Failed. rc[0x%X]", rc); + } + return rc; + #undef SBE_FUNC +} + #endif //not __SBEFW_SEEPROM__ |