Skip to content

Commit

Permalink
Only call lpc init procedure on slave procs in mnfg mode
Browse files Browse the repository at this point in the history
Change-Id: Ifb4ecc7e86721359fc4e3d513c8abf160da4fca8
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66449
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: MURULIDHAR NATARAJU <murulidhar@in.ibm.com>
Reviewed-by: RAJA DAS <rajadas2@in.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
(cherry picked from commit c108818dacc005336883abd1bbe971607d84328d)
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66503
  • Loading branch information
sgupta2m committed Sep 24, 2018
1 parent c9b4851 commit 0ee0a59
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 2 deletions.
18 changes: 17 additions & 1 deletion src/sbefw/app/power/ipl_table.C
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ ReturnCode istepWithCoreConditional( voidfuncptr_t i_hwp);
ReturnCode istepWithEqConditional( voidfuncptr_t i_hwp);
ReturnCode istepNestFreq( voidfuncptr_t i_hwp);
ReturnCode istepCacheInitf( voidfuncptr_t i_hwp );
ReturnCode istepLpcInit( voidfuncptr_t i_hwp );

//MPIPL Specific
ReturnCode istepWithCoreSetBlock( voidfuncptr_t i_hwp );
Expand Down Expand Up @@ -301,7 +302,7 @@ static istepMap_t g_istep3PtrTbl[] =
ISTEP_MAP( istepWithProc, p9_sbe_io_initf ),
ISTEP_MAP( istepWithProc, p9_sbe_startclock_chiplets ),
ISTEP_MAP( istepWithProc, p9_sbe_scominit ),
ISTEP_MAP( istepWithProc, p9_sbe_lpc_init ),
ISTEP_MAP( istepLpcInit, p9_sbe_lpc_init ),
ISTEP_MAP( istepWithProc, p9_sbe_fabricinit ),
ISTEP_MAP( istepCheckSbeMaster, NULL ),
ISTEP_MAP( istepWithProc, p9_sbe_mcs_setup ),
Expand Down Expand Up @@ -640,6 +641,21 @@ ReturnCode istepLoadBootLoader( voidfuncptr_t i_hwp)

//----------------------------------------------------------------------------

ReturnCode istepLpcInit( voidfuncptr_t i_hwp)
{
ReturnCode rc = FAPI2_RC_SUCCESS;
// Only call lpc init if we are on master proc or
// are in mnfg mode.
if( !(SbeRegAccess::theSbeRegAccess().isSbeSlave()) ||
(SbeRegAccess::theSbeRegAccess().isMnfgMode()))
{
rc = istepWithProc(i_hwp);
}
return rc;
}

//----------------------------------------------------------------------------

ReturnCode istepStartInstruction( voidfuncptr_t i_hwp)
{
ReturnCode rc = FAPI2_RC_SUCCESS;
Expand Down
14 changes: 13 additions & 1 deletion src/sbefw/core/sberegaccess.H
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,17 @@ class SbeRegAccess
return iv_istepMode;
}

/**
* @brief Check if we are in mnfg mode
*
* @return true if in mnfg mode, false otherwise
*
*/
inline bool isMnfgMode() const
{
return iv_mnfgMode;
}

/**
* @brief Check if SBE should directly go to runtime state
*
Expand Down Expand Up @@ -296,7 +307,8 @@ class SbeRegAccess
uint64_t iv_mbx3DontCare1 : 5;
uint64_t iv_disableScomFiltering : 1;
uint64_t iv_disableInvalidScomAddrCheck : 1;
uint64_t iv_mbx3DontCare2 : 19;
uint64_t iv_mnfgMode : 1;
uint64_t iv_mbx3DontCare2 : 18;
uint64_t iv_mbx3Unused : 32;
};
uint64_t iv_mbx3;
Expand Down

0 comments on commit 0ee0a59

Please sign in to comment.